MCP server
Ask your editor what broke. Mushi sends back the report, the plain-English read, and a fix brief — without leaving the window.Model Context Protocol (MCP) is how your editor talks to Mushi tools — reports, fix briefs, and optional dispatch without leaving the chat.
Connect page — pick your client and install in one click, or try the read-only demo with no signup. Terminal one-liner below if you prefer the CLI.
OAuth login (recommended — no keys to copy)
The hosted MCP endpoint speaks the standard MCP OAuth flow (authorization code + PKCE), so clients that support MCP login connect with zero manual credentials:
# Claude Code
claude mcp add --transport http mushi "https://dxptnwrhwsqckaftyymj.supabase.co/functions/v1/mcp"
claude mcp login mushi # or run /mcp inside a session and pick "mushi"Your browser opens the console consent page: sign in, pick the project to
connect, and click Approve. That mints a project API key (label
mcp-oauth) which the client stores for you — revoke it any time from
Projects → Keys. Cursor and VS Code follow the same flow when you add the
hosted URL as a remote MCP server; do not configure an Authorization
header if you want the login flow — a static header tells the client that
OAuth isn’t needed.
One-liner setup (recommended)
npx mushi-mushi setup --ide cursor
# or: npx mushi-mushi setup --ide claudeFor Cursor and Claude Code this writes the hosted MCP URL with OAuth login
by default — no API key lands in your repo, the entry is safe to commit and
share with your team, and each teammate signs in from the IDE on first use.
Pass --stdio (or --ci in headless environments) for the previous local
subprocess entry with a key.
It reads CLI config at ~/.config/mushi/config.json (written by mushi login; legacy ~/.mushirc auto-migrates on first load), detects the IDE config path, and writes the mcpServers block for you. Restart the IDE and ask the agent: “list mushi tools”.
Claude Code plugin
One command installs the hosted MCP hookup plus a mushi-debugger subagent
(report triage → fix context → implement → close the loop):
/plugin marketplace add kensaurus/mushi-mushi
/plugin install mushi-debugger@mushi-mushiThen: /mcp → pick mushi → sign in via the browser. Ask Claude to
“use mushi-debugger to fix the top report”.
Smithery (hosted MCP)
Install from the Smithery registry with
Streamable HTTP at https://kensaur.us/mushi-mushi/hosted-mcp/. The server card at
/.well-known/mcp/server-card.json lists every tool for directory scanners.
Run npx mushi-mushi project create on a brand-new machine to sign up,
mint a project, and write .env.local + .cursor/mcp.json in one flow.
Manual setup: Cursor
Add to .cursor/mcp.json in your repo root:
{
"mcpServers": {
"mushi": {
"command": "npx",
"args": ["-y", "@mushi-mushi/mcp@0.20.1"],
"env": {
"MUSHI_API_ENDPOINT": "https://<your-ref>.supabase.co/functions/v1/api",
"MUSHI_PROJECT_ID": "YOUR_PROJECT_ID",
"MUSHI_API_KEY": "mushi_live_..."
}
}
}
}Mint a key on Projects → Generate API key or use Connect & Update → Add to Cursor.
The RevealedKeyCard includes a ready-made .cursor/mcp.json snippet.
Manual setup: Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json
(macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"mushi": {
"command": "npx",
"args": ["-y", "@mushi-mushi/mcp@0.20.1"],
"env": {
"MUSHI_API_ENDPOINT": "https://<your-ref>.supabase.co/functions/v1/api",
"MUSHI_PROJECT_ID": "YOUR_PROJECT_ID",
"MUSHI_API_KEY": "mushi_live_..."
}
}
}
}Hosted Streamable HTTP transport (no subprocess)
Skip the local subprocess — use the hosted MCP endpoint when you’re running OpenAI Agents SDK, ChatGPT Agent, CrewAI, or any remote orchestrator. Headless orchestrators can’t drive the browser OAuth flow, so this is the one place a static API key header is the right tool:
{
"mcpServers": {
"mushi-hosted": {
"url": "https://dxptnwrhwsqckaftyymj.supabase.co/functions/v1/mcp",
"headers": {
"X-Mushi-Api-Key": "mushi_live_…",
"X-Mushi-Project-Id": "proj_…"
}
}
}
}Available tools
| Tool | Purpose |
|---|---|
get_recent_reports | Filter by status, severity, component |
get_report_detail | Full detail incl. screenshot + classification |
get_fix_context | One-shot fix brief — root cause + blast radius + repro |
search_reports | Semantic + keyword search across reports |
dispatch_fix | Start the Mushi fix agent for a report |
triage_next_steps | ”What should I fix next?” — 5-item plan from the dashboard |
query_knowledge_graph | Ask “what other reports look like this?” |
run_nl_query | Natural-language → SQL questions about your data |
The MCP server speaks JSON-RPC 2.0 with tools/call semantics, and the
agent surface is also discoverable via the
A2A Agent Card at
/.well-known/agent-card.
Cursor rules hook (optional)
After setup, run:
npx mushi-mushi setup --ide cursor --with-rulesThis writes a .cursorrules file that tells Cursor to call get_fix_context
before writing a fix and submit_fix_result after — closing the loop from
inside the editor. Download the template:
cursor.cursorrules
Smithery registry
Hosted Streamable HTTP endpoint: https://kensaur.us/mushi-mushi/hosted-mcp/
Install from the Smithery server page .
Tool metadata is also published at /.well-known/mcp/server-card.json for directory scanners.
Troubleshooting
Not seeing what you expected?
Native builds bake Mushi env vars at compile time. Open Admin → Connect → Native app CI secrets and sync the missing vars, or run scripts/check-mushi-env.mjs in your prebuild.
Check that your project ID and ingest key match the console. Run mushi ping and Send test report on Projects. Use the SDK ingest key — not your editor MCP key.
Restart Cursor after editing .cursor/mcp.json. Pass MUSHI_PROJECT_ID in env. Mint an MCP read key in the console if you have not already.
Add your Anthropic or OpenAI key under Settings → API Keys. Self-hosters: confirm migrations are applied and the classify worker is deployed.
Check the MCP endpoint URL and that your API key is active. Run npx mushi-mushi setup --ide cursor again to rewrite the config.