ask/engine

MCP

Connect the belief layer to Claude Code, Cursor, Codex, or any MCP client.

AskEngine ships a remote MCP server at https://askengine.dev/api/mcp — the same belief layer as the API, packaged as tools your agent discovers on its own. It authenticates with your team API key (from team settings) as a bearer Authorization header. One key maps to one team. Connect once, then ask things like "what do we currently believe about onboarding?" — and compose it with your other servers ("check PostHog for this week's drop-off, then check AskEngine for what users said about it").

Connect

claude mcp add --transport http askengine https://askengine.dev/api/mcp \  --header "Authorization: Bearer YOUR_API_KEY"

Replace YOUR_API_KEY with your team API key — except in Codex, which reads the key from an ASKENGINE_API_KEY environment variable you export. Any other client that speaks Streamable HTTP works the same way: point it at the endpoint and send the key as a bearer Authorization header.

Tools

Twenty tools, following the chain: studies produce evidence, evidence supports signals, signals drive recommendations, gaps track the unknowns, and the inbox holds what needs you. They form a funnel: list tools return slim rows that say what exists, get tools take an id from a list and return one object in full with counts for everything beneath it, and the evidence tools serve the verbatim quotes those counts point at. Each id you need comes from the tier above.

Ask

ToolReturnsReach for it when
askOne synthesized answer with verified citationsThe user wants an answer, not a browse — the citations re-enter the funnel via get_signal and get_evidence

Slower than the other tools (an LLM composes the answer server-side — expect seconds). Citations are verified against the material the model actually saw, so every ref and evidence id is real: get_signal opens the cited belief, get_evidence with the evidenceIds fetches the exact quotes. A refusal means the layer has no material on the question, not that nobody thinks it.

Studies

ToolReturnsReach for it when
list_studiesEvery study with status and countsYou need a study's ID, or an overview of the research
get_study_readoutOne study's summary, stats, and themes"How is this study doing? What did it find?"
list_study_source_itemsA study's interviews with status and qualityYou care about individual interviews

Evidence

ToolReturnsReach for it when
search_evidenceSemantic hits over all evidence quotesAn open question not tied to a known object — "did anyone mention pricing?"
get_evidenceThe attributed quotes behind an objectYou need the audit trail for a signal, study, theme, or interview — or hold specific evidence ids from citations or search hits

Signals

ToolReturnsReach for it when
list_signalsEvery belief with stage, trajectory, confidence"What does the team currently believe?"
get_signalOne signal's full packet with evidence previewDrilling into a belief found via list_signals

Recommendations

ToolReturnsReach for it when
list_recommendationsEvery recommendation with lifecycle state"What should we do next? What's open?"
get_recommendationFull body and action itemsBefore discussing or acting on one
get_work_packetPaste-ready markdown brief with evidenceTurning a recommendation into a ticket or agent task
decide_recommendationDecision recordedThe user has decided: accept or dismiss
record_recommendation_outcomeOutcome recordedThe user reports shipped, validated, or stale
reopen_recommendationReopenedUndoing a decision or outcome
link_recommendation_work_itemWork item linkedConnecting a ticket, issue, or PR

Research gaps

ToolReturnsReach for it when
list_research_gapsEvery gap with type and status"What should we research next?"
draft_study_from_gapA draft study aimed at the gapThe user decides to act on a gap

Inbox

ToolReturnsReach for it when
list_action_cardsThe pending inbox, ranked by priority"What needs attention? What's new?"
resolve_action_cardCard resolvedThe user has dealt with an inbox item
snooze_action_cardCard snoozedDeferring an inbox item

Tools marked ✎ write to the belief layer. They carry write annotations, so clients like Claude Code ask before running them — and decisions are reversible via reopen_recommendation. Every read tool returns a short text summary for navigation plus the full packet as structured content, and list tools carry a total alongside the cursor — count before concluding. When a packet says it is showing 3 of 41 quotes, get_evidence serves the rest.