Skip to Content
v0.8.0 · shippedNative iOS / Android / Flutter / Capacitor SDKs, A2A discovery, SOC 2 readiness, residency, BYO storage, BYOK. Read the changelog →
71-tool catalog · lean default via MUSHI_FEATURES · Add to Cursor deeplink · · open live demo ↗

MCP — Model Context Protocol

Route: /mcp

Wire Mushi into Cursor, Claude Code, Windsurf, or any MCP client. Once connected, your agent can read reports, pull fix context, dispatch fixes, and query lessons — without leaving the editor.

The live Catalog tab on this page mirrors packages/mcp/src/catalog.ts — the same source the server registers at runtime (71 tools, 8 resources, 4 prompts).


Quickstart

The page opens with a 3-step quickstart strip. Step 1 shows complete when you already have an mcp:read key.

1. Generate an MCP-scoped API key

Click Generate an API key (or use Add to Cursor on Connect & Update) → mint a key with MCP read or MCP read+write scope. This is separate from your app’s SDK ingest key (report:write).

2. Install the MCP server

Copy the snippet from the Install card, or click Add to Cursor / Add to VS Code for a one-click deeplink. The deeplink includes MUSHI_FEATURES=triage,fixes,inventory,setup,docs (lean catalog).

3. Use it

Restart your IDE, then ask: “list mushi tools” or “call diagnose_setup”. See MCP quickstart and Incident loop.


Install snippets

{ "mcpServers": { "mushi-myproject": { "command": "npx", "args": ["-y", "@mushi-mushi/mcp@latest"], "env": { "MUSHI_API_ENDPOINT": "https://<your-ref>.supabase.co/functions/v1/api", "MUSHI_PROJECT_ID": "<your-project-id>", "MUSHI_API_KEY": "mushi_live_...", "MUSHI_FEATURES": "triage,fixes,inventory,setup,docs" } } } }

There is no --project-id CLI flag on @mushi-mushi/mcp. Pass the project via MUSHI_PROJECT_ID in env. Server names use mushi-<slug> (admin deeplink) or bare mushi for legacy single-project configs.

Hosted HTTP (no local subprocess)

{ "mcpServers": { "mushi-http": { "type": "http", "url": "https://<your-ref>.supabase.co/functions/v1/mcp?features=triage,fixes,inventory,setup,docs", "headers": { "X-Mushi-Api-Key": "mushi_live_...", "X-Mushi-Project-Id": "<your-project-id>" } } } }

Full catalog: append ?features=all (or set MUSHI_FEATURES=all for stdio).


Key status

Two badges in the quickstart strip show whether you have:

  • mcp:read — required for read tools (reports, fix context, lessons, docs search)
  • mcp:write — required for dispatch, merge, QA triggers, and other mutations

Write tools mutate production data. Store mcp:write keys in IDE config or CI secrets — never in a frontend bundle that ships to end users.


Tool catalogue (representative)

See the admin Catalog tab for the full list. Names below match tools/call exactly.

Read tools (mcp:read)

ToolDescription
get_recent_reportsList recent reports with status/category/severity filters
get_report_detailFull report payload — logs, screenshot, classification
get_fix_contextOne-shot fix brief — root cause, repro, blast radius
get_similar_bugspgvector nearest-neighbour duplicates
search_reportsSemantic + keyword search
diagnose_setupUnified ingest + MCP + dispatch diagnosis
search_mushi_docsKeyword search over Mushi documentation
query_lessons / list_lessonsEvolution-loop learning rules
inventory_get / inventory_diffInventory v2 snapshot and gate diff

Write tools (mcp:write)

ToolDescription
dispatch_fixDispatch a triaged report to the fix-worker (opens draft PR when configured)
merge_fixSquash-merge the fix PR and mark report Fixed
transition_statusMove a report through triage states
run_qa_storyTrigger a QA Coverage story run
start_skill_pipelineAttach a skill pipeline to a report

Resources

URIDescription
project://dashboardPDCA dashboard snapshot
project://statsReport counts and severity breakdown
mushi://activationSetup posture — SDK heartbeat, MCP, next action
inventory://currentCurrent inventory snapshot with gate status
evolution://historyJudge scores and lesson inductions (30 days)
privacy://statusBYOK / retention / region posture

Prompts

MCP prompts orchestrate multiple tools into a single agent turn:

PromptDescription
summarize_report_for_fixBuild a fix plan from get_fix_context + blast radius before coding
triage_next_stepsFive-item priority list from dashboard + queue
explain_judge_resultShip / iterate / dismiss from judge scores
mushi_setupDiagnose blocked setup via activation + integration health

Use cases

  1. Incident loopget_fix_contextsummarize_report_for_fix → paste into Cursor (guide)
  2. Morning triageget_recent_reports + triage_next_steps
  3. PR-time lessonsquery_lessons before touching files
  4. Setup unblockdiagnose_setup when reports don’t appear
  5. Automated dispatch — CI calls dispatch_fix on critical reports (requires mcp:write)

Last updated on