Developers
Connect Askance to your agent
Askance is a standard remote MCP server. There is nothing to install — one entry in your client's MCP config connects it, and a short instruction file tells your agent when to reach for it. Pick your environment below.
MCP endpointhttps://mcp.askance.app/mcp
Project-scoped MCP config, plus a Skill so the agent reaches for Askance on its own.
Add the MCP server
Commit this at the root of your repo. Every teammate who opens the project gets the same connection, and the key stays in their environment rather than in the file.
.mcp.json{ "mcpServers": { "askance": { "type": "http", "url": "https://mcp.askance.app/mcp", "headers": { "Authorization": "Bearer ${ASKANCE_KEY}" } } } }Add a Skill so the agent knows when to ask
Connecting the server gives Claude Code tools it can call, but nothing that prompts it to. A Skill is model-invoked — Claude reads the description and reaches for it when the situation matches — which is what turns Askance from an available tool into one that actually gets used.
.claude/skills/askance/SKILL.md--- name: askance description: Ask a human subject-matter expert when a question cannot be answered from the codebase — business rules, product decisions, integration details. Use whenever you would otherwise guess or stall. --- When you hit a question you cannot answer from the codebase, the docs, or the conversation — a business rule, a product decision, an integration detail, anything held by a person rather than written down — do NOT guess and do NOT stop and wait for the user. 1. Call Askance's `search_records` first. It may already be answered. 2. If not, call `ask_question` with the full context, the options you can see, and the one you recommend. 3. Carry on with other work immediately. Answers can take hours or days; nothing blocks. 4. Call `check_questions` at the start of a session and between tasks to pick up answers that have landed.Set your key and go
Your key comes from Settings once you have signed in. Restart Claude Code so it picks up the new server, then confirm the tools are live.
export ASKANCE_KEY="ask_..." # in Claude Code: /mcp # askance should be listed as connected
MCP config under .cursor, plus an always-applied rule carrying the standing instruction.
Add the MCP server
Cursor interpolates ${env:NAME} inside url and headers, so the key is read from your environment rather than committed.
.cursor/mcp.json{ "mcpServers": { "askance": { "url": "https://mcp.askance.app/mcp", "headers": { "Authorization": "Bearer ${env:ASKANCE_KEY}" } } } }Add an always-applied rule
Cursor has no Skills equivalent. A project rule with alwaysApply is the closest thing — it is prepended to context for every request in this project, so the agent is always aware Askance is an option.
.cursor/rules/askance.mdc--- description: Ask a human expert instead of guessing alwaysApply: true --- When you hit a question you cannot answer from the codebase, the docs, or the conversation — a business rule, a product decision, an integration detail, anything held by a person rather than written down — do NOT guess and do NOT stop and wait for the user. 1. Call Askance's `search_records` first. It may already be answered. 2. If not, call `ask_question` with the full context, the options you can see, and the one you recommend. 3. Carry on with other work immediately. Answers can take hours or days; nothing blocks. 4. Call `check_questions` at the start of a session and between tasks to pick up answers that have landed.Set your key and reload
Your key comes from Settings once you have signed in. Set it in your shell environment, then reload Cursor so it re-reads the config.
export ASKANCE_KEY="ask_..."
TOML config that names an environment variable, plus AGENTS.md for the standing instruction.
Add the MCP server
Codex takes a different shape from the others: rather than a headers block, it takes the NAME of an environment variable and builds the Authorization header itself. Project config wins over the global ~/.codex/config.toml.
.codex/config.toml[mcp_servers.askance] url = "https://mcp.askance.app/mcp" bearer_token_env_var = "ASKANCE_KEY"Add the standing instruction to AGENTS.md
Codex reads AGENTS.md from the repo automatically. Append this so it knows Askance exists and when to reach for it.
AGENTS.md## Asking a human When you hit a question you cannot answer from the codebase, the docs, or the conversation — a business rule, a product decision, an integration detail, anything held by a person rather than written down — do NOT guess and do NOT stop and wait for the user. 1. Call Askance's `search_records` first. It may already be answered. 2. If not, call `ask_question` with the full context, the options you can see, and the one you recommend. 3. Carry on with other work immediately. Answers can take hours or days; nothing blocks. 4. Call `check_questions` at the start of a session and between tasks to pick up answers that have landed.Set your key and go
Your key comes from Settings once you have signed in. Codex reads it from the variable named above, so nothing secret goes in the config file.
export ASKANCE_KEY="ask_..."
Askance is a standard streamable-HTTP MCP server with bearer auth — no Askance-specific client needed.
Point your client at the server
There is no SDK to install and no npm package required. Askance is a remote MCP server: any client that speaks streamable HTTP and can send an Authorization header can connect. Most take a shape close to this.
mcp.json{ "mcpServers": { "askance": { "url": "https://mcp.askance.app/mcp", "headers": { "Authorization": "Bearer ask_..." } } } }Load the standing instruction
Askance exposes an MCP prompt called askance_workflow containing the full guidance — when to search versus ask, how to poll without blocking, and how to work the backlog. If your client surfaces MCP prompts, load it once per session. If it supports an always-on instruction file instead, paste the text below into it.
standing instructionWhen you hit a question you cannot answer from the codebase, the docs, or the conversation — a business rule, a product decision, an integration detail, anything held by a person rather than written down — do NOT guess and do NOT stop and wait for the user. 1. Call Askance's `search_records` first. It may already be answered. 2. If not, call `ask_question` with the full context, the options you can see, and the one you recommend. 3. Carry on with other work immediately. Answers can take hours or days; nothing blocks. 4. Call `check_questions` at the start of a session and between tasks to pick up answers that have landed.
Why the instruction file matters
Connecting the MCP server gives your agent tools it can call. It does not give it a reason to. Askance ships a standing-instruction MCP prompt (askance_workflow), but MCP prompts are user-invoked by design — your client surfaces them for a human to run, they are not injected automatically. The Skill, rule or AGENTS.md entry above is what makes your agent reach for Askance on its own, instead of guessing or stopping to ask you.
Do I need to install anything?
No. Askance is a remote MCP server reached over HTTPS with a bearer key — there is no SDK, no package and no local process to run. If your client speaks MCP over streamable HTTP, it can connect.