Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MUSHI_API_KEYYesProject API key with mcp:read scope. Mint in the Mushi console (Settings → API Keys).
MUSHI_PROJECT_IDNoProject UUID. Optional for single-project account keys.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
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 mushi setup --all-projects in your terminal to create one named MCP server entry per project in .cursor/mcp.json.

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: .cursorrules (Cursor evolution-loop coding rules), .mushi/lessons.json (initial empty lesson cache), and MUSHI.md (one-page project contract for agents). Idempotent — safe to re-run after lessons sync. Requires mcp:write scope. Call this once after connecting the repo; subsequently use mushi sync-lessons from CI to keep lessons current.

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

NameDescription
summarize_report_for_fixTurn 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_resultTurn raw Sonnet-as-Judge scores into ship / iterate / dismiss guidance. Use after a fix attempt has been judged.
triage_next_stepsAnswer "what should I focus on right now?" — five-item markdown list drawn from the dashboard + recent classified queue.
mushi_setupDiagnose 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

NameDescription
project_statsReport counts, category breakdown, severity distribution
project_settingsProject configuration — autofix agent, plugins enabled, ontology, LLM budgets
project_dashboardPDCA health snapshot — stage counts, bottleneck, recent activity (same payload the admin console polls)
privacy_statusReturns the privacy posture for this project: storage region, LLM provider, whether BYOK is configured, data retention window, and last audit timestamp.
evolution_historyReturns 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_healthLive 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_currentCurrent 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_statusUnified 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