Mushi-Mushi
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MUSHI_API_KEY | Yes | Project API key with mcp:read scope. Mint in the Mushi console (Settings → API Keys). | |
| MUSHI_PROJECT_ID | No | Project UUID. Optional for single-project account keys. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_recent_reportsA | List recent bug reports with optional filters (status / category / severity). Use this to survey what the triage queue looks like right now. |
| get_report_detailA | Full payload for a single report — description, console logs, network requests, screenshot URL, classification, fix history. |
| get_report_timelineA | Ordered timeline merging reporter comments, fix events, QA runs, skill pipeline steps, and Ask Mushi turns for one report. |
| get_two_way_comms_healthA | Summarize SDK ↔ admin two-way reporter health for a host app: last SDK heartbeat, app version/platform last seen, unread reporter messages, recent reporter replies, and pending QA/TDD follow-ups. Use after wiring @mushi-mushi/web in a Vite/Capacitor app to confirm reports land in the console and admin/MCP replies reach the in-app widget. |
| search_reportsA | Semantic + keyword search over reports. Uses pgvector similarity server-side — falls back to description/summary substring only if embeddings are unavailable for the project. |
| get_similar_bugsA | Find bugs related to a component, page, or description via pgvector nearest-neighbour search. Same backend as search_reports but tuned for "have we seen this before?". |
| get_fix_contextA | Bundle the full context an agent needs to fix a bug: a paste-ready fixPrompt (plain-English diagnosis + reproduction + suggested fix + relevant code + blast radius), plus report detail, reproduction steps, component, root cause, and ontology tags. One call instead of several. No second LLM key needed. |
| get_fix_timelineA | Ordered timeline of a fix attempt — dispatched → started → branch → commit → PR opened → CI → completed/failed. Use this to debug "why did this fix fail?". |
| get_blast_radiusA | Graph traversal showing other components / pages a bug group touches. Use before dispatching a fix so the agent can scope its changes. |
| get_knowledge_graphA | Traverse the knowledge graph from a seed component or page. Returns nodes + edges within a depth budget (max 4 hops). |
| graph_neighborhoodA | BFS neighborhood around a graph node id or label — nodes + edges within a depth budget (max 4). Same backend as knowledge-graph traversal, tuned for "what touches this action?". |
| graph_node_statusA | Fetch a single graph node row (label, type, metadata — includes v2 derived status on Action nodes). |
| inventory_getA | Current inventory.yaml snapshot for a project (latest ingest, validation errors, per-action status summary). Requires inventory_v2 on the project plan. |
| inventory_diffA | Diff two ingested inventory commits (fromSha → toSha) — added/removed nodes and edges. Use before merging a PR that touches inventory.yaml. |
| inventory_findingsC | Latest gate runs + findings (dead-handler, mock-leak, crawl, status-claim, …). Filter by gate name or severity. |
| fix_suggestA | Read-only slice of a report focused on Stage 2 suggested fix + root cause + reproduction — faster than pulling the full blob when you only need the human-readable hint. |
| run_nl_queryA | Natural-language question → SQL query run against your project data. Read-only, 60/hour rate-limited, no privileged schemas. |
| setup_checkA | [Deprecated — use diagnose_setup with mode=dispatch or diagnose_connection.] Run the 4 dispatch-readiness checks for a project and return their pass/fail status (GitHub repo connected, codebase indexed, Anthropic BYOK key present, autofix enabled). Also returns the target repo URL when GitHub is connected. |
| ingest_setup_checkA | [Deprecated — use diagnose_setup with mode=ingest or diagnose_connection.] Run the 4 required ingest checks for the project tied to this API key: project exists, active API key, SDK heartbeat (or real report), and at least one ingested report. |
| diagnose_setupA | Single entry point for setup health. mode=full (default) runs ingest + dispatch checks and returns the best next action; mode=ingest runs SDK ingest checks only; mode=dispatch runs fix-dispatch preflight only. Prefer this over setup_check, ingest_setup_check, or diagnose_connection alone. |
| diagnose_connectionA | Validate MCP credentials, ping /health, run ingest-setup and dispatch preflight, return the single best next action. For mode-specific checks prefer diagnose_setup. Use when the user asks "why aren't my reports showing up?". |
| search_mushi_docsA | Search official Mushi docs (guides, MCP setup, inventory, QA, skills) by keyword. Returns ranked page titles, URLs, and excerpts — use before guessing API shapes or RPC names. |
| list_projectsA | List all Mushi projects accessible to this API key. For project-scoped keys returns a single-item list; for org-scoped keys (account mode) returns every project owned by this account. Call this first when MUSHI_PROJECT_ID is not configured — use the returned id with subsequent tool calls. If multiple projects are returned, pass the target projectId explicitly to project-scoped tools. Multi-project tip: run |
| get_account_overviewA | Return an enriched summary of every Mushi project accessible to this API key: id, name, recent report count (last 30 days), number of connected MCP keys, and last-seen heartbeat timestamp. For project-scoped keys this is a one-item list; for org-scoped (account) keys it lists every owned project. Also includes toolCount, resourceCount, promptCount so agents know how many tools are available. Call this at the start of a multi-repo or multi-app triage session to orient yourself. |
| get_project_contextA | Return a rich context snapshot for a project: name, repo URL, SDK heartbeat, ingest status, open report count, autofix readiness, BYOK LLM config, plan tier, and active integration health. Equivalent to a merged preflight + activation + settings read. Agents should call this at the start of a triage session to orient themselves. |
| get_pipeline_logsA | Pull recent log entries from the Mushi pipeline services: fix-worker, qa-story-runner, pipeline, or all. Accepts project_id, service, since (ISO-8601), limit (max 200), and level (info | warn | error | fatal) filters. Returns structured log rows with timestamp, level, service, message, and a trace_id/report_id when available. Use this when a fix failed, a QA story keeps erroring, or an ingest pipeline went silent. |
| get_report_evidenceA | Return the full evidence package for a single bug report: screenshot URL, console logs, network excerpts, browser environment (user agent, URL, viewport, SDK version), user replay link if available, breadcrumb trail, and the reporter's own comments thread. This is the same data an engineer would collect for a root-cause investigation. Faster than calling get_report_detail + report timeline separately. |
| triage_issueA | Read-only orchestration tool: combines report detail, evidence, similar bugs, fix context, blast radius, and recent pipeline logs for a report into a single structured triage packet. Returns a prioritised list of recommended next actions (investigate, dispatch_fix, group_with, dismiss). Equivalent to a Sentry "Analyze with Seer" flow grounded in user-felt reports. Pass report_id to kick off triage. Call this before dispatch_fix. |
| submit_fix_resultA | Record a fix outcome (branch, PR, files, lines) from an external agent. Creates a fix_attempt then patches it to completed. |
| dispatch_fixA | Dispatch the Mushi agentic fix orchestrator for a classified report. Set agent="cursor_cloud" to dispatch a Cursor Cloud Agent that opens a signed draft PR. Returns a fix_attempt id; poll get_fix_timeline for progress. |
| trigger_judgeA | Run the Sonnet-as-Judge over a batch of classified reports. Returns a batch id; results land in judge_results. |
| test_gen_from_reportA | POST to inventory test-gen: uses the project BYOK LLM to author a Playwright spec from a classified report and opens a draft PR (internal service orchestration). Requires inventory_v2 + GitHub + LLM keys. |
| merge_fixA | Squash-merge a fix attempt PR and mark the linked report fixed. |
| refresh_ciA | Pull the latest GitHub check-run status for a fix attempt. |
| reopen_reportB | Move a report to reopened for regression triage. |
| transition_statusA | Move a report between workflow states (new → classified → grouped → fixing → fixed → verified → reopened → dismissed). Enforces the same transition rules as the admin UI. |
| setup_repo_for_mushiA | Writes the three Mushi bootstrap files into the current repo root: |
| query_lessonsA | Token-budget retrieval of relevant learning rules (lessons) for a given code diff or PR context. Returns ranked lessons packed within max_tokens using bi-encoder retrieval + severity-weighted scoring. Use this before opening a PR, writing a fix, or asking "what mistakes should I avoid in this area of code?" |
| list_lessonsA | List promoted learning rules (lessons) for the current project. Each lesson represents a named pattern of mistakes that has been encoded from bug reports. Use this to understand what systemic issues have been identified and encoded as heuristics. |
| list_top_contributorsA | Return the top N contributors for the organization, ranked by points in a time window (30d | 90d | all). Each row includes display name, tier, total points, report count, and anti-fraud flag. Use this to identify your most engaged power users, write them a thank-you message, or decide who deserves a bonus. |
| award_bonus_pointsA | Award ad-hoc bonus points to a contributor by their external user id (as passed to Mushi.identify()). Points are applied server-side, audit-logged, and trigger tier re-evaluation. Requires mcp:write scope. Use this to thank a contributor who found a critical bug or to run a one-off promotional campaign. |
| set_tierA | Override a contributor's tier by tier slug (e.g. "champion"). This is an admin escape hatch for manual promotions — normal tier transitions happen automatically via point thresholds. The override is logged in end_user_activity with action=tier_override_manual. Requires mcp:write scope. |
| map_user_storiesA | Crawl a live application URL with Firecrawl/Browserbase and ask Claude to draft an inventory.yaml with pages and user stories. Creates a story_map_run row for progress tracking, then writes an inventory_proposals row (source=live_crawl). Optionally dispatches a Cursor Cloud agent to refine the draft and open a PR. Returns { runId, status: "pending" } immediately — poll get_map_run_status for progress. |
| get_map_run_statusA | Get the status and results of a story_map_run (pending → running → completed/failed). Returns pages_crawled, proposal_id (once done), and cursor_pr_url if Cursor Cloud refined the draft. |
| generate_tdd_from_storyA | Given a user story id (from the accepted inventory), ask Claude to write a full Playwright TypeScript test. Inserts a qa_stories row (source=test_gen_from_story) with approval_status driven by automation_mode. Optionally opens a draft GitHub PR. Returns { qaStoryId, prUrl, approvalStatus, needsHumanReview }. |
| improve_qa_storyA | Trigger the PDCA improver for a specific project. Finds recently failed qa_story_runs and uses Claude to write improved test scripts. New tests are created with source=pdca and approval gated by the original story's automation_mode. |
| run_qa_storyA | Queue a manual run for an enabled + approved qa_story. Returns the run id immediately; poll qa_story_runs or use get_report_detail for progress. Equivalent to "Run now" in the console. |
| list_byok_keysA | List all BYOK API keys for the project, grouped by provider. Shows label, priority, status, and cooldown. Never returns the raw key value — only metadata. Use this to see which keys are active or exhausted. |
| add_byok_keyA | Add a new API key to the project's BYOK pool for a given provider (anthropic, openai, firecrawl, browserbase, cursor). Specify label and priority for ordering. The key is stored encrypted in Supabase Vault. |
| list_pending_review_storiesA | Get the queue of TDD tests that were auto-generated and are waiting for human approval before they run in the QA schedule. |
| approve_qa_storyA | Approve or reject a qa_story that is in pending_review. Approved stories are enabled in the QA schedule immediately. |
| reply_to_reporterA | Send a visible message to the end-user who filed a bug report. The reply appears in the in-app Mushi widget as an admin comment and creates an unread notification badge so the reporter sees it immediately. Use this to answer questions, request reproduction steps, or confirm a fix — without leaving the Cursor IDE. |
| list_qa_story_runsA | Return the most recent runs for a given QA story, newest first. Each row includes status (passed/failed/error/running), latency_ms, created_at, error_message headline, and assertion_failures (up to 10). Use this to understand whether a story is currently healthy, what the last failure was, and whether a manual run has completed. |
| get_qa_story_runA | Fetch the full detail for a single qa_story_run: status, error_message, assertion_failures, latency_ms, provider_session_url (Browserbase replay link when available), and screenshot URLs from qa_story_evidence. Use this to drill into a specific failing run and understand the exact error before deciding whether to improve the story script or fix the app. |
| test_notification_channelA | Send a test notification to a configured notification channel for the project. Supported channel kinds: "slack" (posts a test Block Kit message to the configured channel), "discord" (posts to the project discord_webhook_url). Returns ok=true if the message was accepted. Use this to verify the integration is working after setup or after changing credentials. |
| run_fullstack_auditA | Fan out a full-stack health audit for the current project: DB schema + advisors, API contract gate results (Gates 3–8), recent backend error logs, and RLS gap detection. Returns a PM-readable scorecard with severity-ranked findings and fix hints. Requires the project to have a Supabase PAT configured (Settings → API Keys, slug: supabase) and supabase_project_ref set in project settings for backend analysis. The audit completes synchronously in ~10 s. Triggers a background gate run for orphan_endpoint and unknown_call gates if they have not run today. |
| get_backend_healthA | Return the current backend health state for a linked Supabase project: table list (with RLS enabled status), recent API and Postgres error logs, and DB advisor findings. Uses the read-only Supabase MCP client via the stored PAT. Returns { tables, logs, advisors, projectRef } when the backend is linked, or { reason: "no_supabase_pat" | "no_project_ref" } when it is not configured. This is the read-only fast path — use run_fullstack_audit for the full scorecard including gate results. |
| get_usageA | Read-only diagnoses quota and billing summary for the current project: diagnoses used / limit / percentage, spend cap, period start/end, plan name, and whether the project is approaching or over its quota. Use this to answer "how many diagnoses do I have left?" or "am I close to my spend cap?". |
| list_skillsA | List the agent skills available in the catalog, optionally filtered by category. Returns slug, title, description, category, and chain_slugs for each skill. Use before start_skill_pipeline to find the right skill slug for a given type of work. |
| get_skillA | Fetch the full detail for a single agent skill by slug, including the complete SKILL.md body and resolved chain. Use before executing a step to understand what the skill expects you to do. |
| start_skill_pipelineA | Start a new skill pipeline run for a report. Pass root_skill_slug and optionally report_id. Returns run_id, context_packet (full instructions + report context), and step list. Read the context_packet — it contains skill instructions plus full report context (repro steps, root cause, RAG files). After executing each step, call checkin_pipeline_step. The PM watching the console sees progress live. |
| get_pipeline_runA | Fetch the full detail for a skill pipeline run: status, context_packet, and all step statuses. Call to retrieve the context_packet after a pipeline was started from the console or another agent. |
| checkin_pipeline_stepA | Report the completion status of a pipeline step (passed, failed, running, or skipped). Optionally include notes, a PR URL, or the Cursor agentId. Updates the live React Flow canvas in the Mushi console so PMs see real-time progress. |
| get_activation_statusA | [Deprecated — use activation_status resource or tool on hosted MCP.] Unified setup posture for the active project: required steps, SDK heartbeat, dispatch preflight, and the next best action. |
| get_reporter_threadA | [Deprecated — use get_report_timeline instead.] Fetch the unified timeline for a report — reporter comments plus fix, QA, and status lanes. |
| ask_codebaseA | Ask a plain-English question about the connected repo. Grounds on pgvector retrieval over project_codebase_files and returns an answer with file:line citations. Requires codebase indexing enabled and an Anthropic or OpenAI BYOK key. |
| get_file_summaryA | Lazy-generate (or return cached) plain-English summary for an indexed file or symbol. Cache invalidates when content_hash changes after re-index. |
| get_codebase_tourA | Return a dependency-ordered guided tour (~6–10 stops) for onboarding — each stop lists node ids, file paths, layer, and rationale. Cached per index fingerprint. |
| search_codebaseA | Search indexed files by plain-English meaning via embeddings. Returns top-k file chunks with similarity scores. |
| get_codebase_domainsA | Extract business domains, flows, and steps mapped to file paths. Cached per index fingerprint. |
| analyze_codebase_impactA | Find files that depend on changed paths (reverse import graph). Supports manual paths, last push, GitHub compare, or fix PR files. |
| analyze_wiki_knowledgeA | Return wiki/docs knowledge graph nodes and sources for the project. Use include_wiki on ask_codebase for RAG merge. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| summarize_report_for_fix | Turn a Mushi report into a one-line root cause, smallest file set, repro steps, and blast-radius warnings. Use before asking an agent to write the patch. |
| explain_judge_result | Turn raw Sonnet-as-Judge scores into ship / iterate / dismiss guidance. Use after a fix attempt has been judged. |
| triage_next_steps | Answer "what should I focus on right now?" — five-item markdown list drawn from the dashboard + recent classified queue. |
| mushi_setup | Diagnose why Mushi setup is stuck and return the single next command or console step to unblock it. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| project_stats | Report counts, category breakdown, severity distribution |
| project_settings | Project configuration — autofix agent, plugins enabled, ontology, LLM budgets |
| project_dashboard | PDCA health snapshot — stage counts, bottleneck, recent activity (same payload the admin console polls) |
| privacy_status | Returns the privacy posture for this project: storage region, LLM provider, whether BYOK is configured, data retention window, and last audit timestamp. |
| evolution_history | Returns the project's last 30 days of judge scores, prompt promotions, fixed-bug count, and lesson inductions. Agents can read this to see whether the loop is converging (rising judge scores, falling recurrence) or stalling. |
| project_integration_health | Live health status of every configured BYOK channel (Sentry, GitHub, LangFuse, PagerDuty, …). Orchestrators should check this before dispatching a fix to fail-fast on broken channels rather than burning LLM budget and discovering the failure mid-run. |
| inventory_current | Current inventory snapshot for the active project — all Action nodes with their spec contract (expected_outcome), build-gate status, linked reports, and fix attempts. Subscribe to this resource to receive notifications/resources/updated when the inventory is re-crawled (e.g. after a PR merge or manual trigger). Orchestrators can use this to enumerate work items and pick the next Action to fix. |
| activation_status | Unified setup posture — SDK heartbeat, reports, GitHub, MCP readiness, QA stories, and the next best action. |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kensaurus/mushi-mushi'
If you have feedback or need assistance with the MCP directory API, please join our Discord server