@mushi-mushi/mcp 0.20.1 → 0.20.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/catalog.js +1 -1
- package/dist/{chunk-TP2QQWDJ.js → chunk-RVZIKP4X.js} +22 -10
- package/dist/clients.d.ts +1 -1
- package/dist/clients.js +1 -1
- package/dist/index.js +458 -62
- package/dist/server.d.ts +9 -1
- package/dist/server.js +341 -40
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -146,7 +146,7 @@ The Mushi backend now exposes the same tool catalog over the **Streamable HTTP**
|
|
|
146
146
|
|
|
147
147
|
### Feature groups (`?features=` / `MUSHI_FEATURES`)
|
|
148
148
|
|
|
149
|
-
Full catalog is **
|
|
149
|
+
Full catalog is **72 tools** (stdio / `MUSHI_FEATURES=all`). The hosted HTTP
|
|
150
150
|
endpoint exposes a leaner subset filtered by feature groups (see
|
|
151
151
|
`mcp-hosted-tool-manifest.json`). New installs now default to the lean
|
|
152
152
|
`triage,fixes,inventory,setup,docs` set automatically (stdio: when
|
|
@@ -390,7 +390,7 @@ Spawns `dist/index.js` with a dummy unreachable endpoint and confirms it adverti
|
|
|
390
390
|
pnpm --filter @mushi-mushi/mcp build
|
|
391
391
|
pnpm --filter @mushi-mushi/mcp test:smoke
|
|
392
392
|
# OK; prints live tool/resource/prompt counts from the catalog
|
|
393
|
-
# (see packages/mcp/src/catalog.ts — currently
|
|
393
|
+
# (see packages/mcp/src/catalog.ts — currently 72 tools / 8 resources / 4 prompts)
|
|
394
394
|
```
|
|
395
395
|
|
|
396
396
|
### Layer 3; Full localhost E2E (real binary + real backend behaviour)
|
|
@@ -484,4 +484,4 @@ MIT
|
|
|
484
484
|
<!-- mushi-readme-stats-footer -->
|
|
485
485
|
---
|
|
486
486
|
|
|
487
|
-
<sub>Monorepo scale (July 2026): 55 edge functions ·
|
|
487
|
+
<sub>Monorepo scale (July 2026): 55 edge functions · 336 SQL migrations · 13 outbound plugins · 11 inbound adapters · 19 pipeline agents. Canonical counts: <a href="https://github.com/kensaurus/mushi-mushi/blob/master/docs/stats.md">docs/stats.md</a> · <code>pnpm docs-stats</code></sub>
|
package/dist/catalog.js
CHANGED
|
@@ -160,7 +160,7 @@ var TOOL_CATALOG = [
|
|
|
160
160
|
{
|
|
161
161
|
name: "dispatch_fix",
|
|
162
162
|
title: "Dispatch Mushi fix agent",
|
|
163
|
-
description: 'Start a Mushi fix agent for a classified report; it writes a branch and opens a signed draft PR. Set agent="cursor_cloud" to dispatch a Cursor Cloud Agent (default uses the in-repo worker). Requires GitHub connected + an LLM key (run diagnose_setup mode=dispatch first). Returns {
|
|
163
|
+
description: 'Start a Mushi fix agent for a classified report; it writes a branch and opens a signed draft PR. Set agent="cursor_cloud" to dispatch a Cursor Cloud Agent (default uses the in-repo worker). Requires GitHub connected + an LLM key (run diagnose_setup mode=dispatch first). Returns { fixId, status } (fixId is the dispatch id; get_fix_timeline accepts it immediately); poll get_fix_timeline for progress and merge_fix when CI is green. Write; pass the same idempotencyKey to retry safely \u2014 without it each call starts a new attempt. Report must be classified \u2014 run triage_issue if not.',
|
|
164
164
|
scope: "mcp:write",
|
|
165
165
|
hints: { readOnly: false, destructive: false, idempotent: false, openWorld: true },
|
|
166
166
|
useCase: "Let the in-repo agent attempt this fix for me (or: dispatch a Cursor Cloud Agent)."
|
|
@@ -295,6 +295,14 @@ var TOOL_CATALOG = [
|
|
|
295
295
|
hints: { readOnly: true, idempotent: true, openWorld: true },
|
|
296
296
|
useCase: "Analyze this bug report end-to-end and tell me what to do."
|
|
297
297
|
},
|
|
298
|
+
{
|
|
299
|
+
name: "triage_next_steps",
|
|
300
|
+
title: "What should I work on now?",
|
|
301
|
+
description: 'Prioritised "do this next" list for the project: blocked auto-fixes first (with the unblock action), then in-flight fixes to shepherd to merge, then user-felt classified reports by severity, with robot/cron chores (dependency bumps) last. Returns { steps: [{ priority, action, reason, tool, args }], summary }. Read-only. Call this first when the user asks "what needs my attention / what should I triage or fix".',
|
|
302
|
+
scope: "mcp:read",
|
|
303
|
+
hints: { readOnly: true, idempotent: true, openWorld: true },
|
|
304
|
+
useCase: "What should I triage or fix right now?"
|
|
305
|
+
},
|
|
298
306
|
// ── Lessons / evolution loop ─────────────────────────────────────────────
|
|
299
307
|
{
|
|
300
308
|
name: "query_lessons",
|
|
@@ -620,24 +628,29 @@ var TDD_TOOL_CATALOG = [
|
|
|
620
628
|
}
|
|
621
629
|
];
|
|
622
630
|
var USE_MUSHI_INTENTS = {
|
|
631
|
+
// NOTE: every name below MUST be a registered TOOL (scopes.test.ts guards
|
|
632
|
+
// this). 2026-08-16 audit P0-3 found phantom names (get_report,
|
|
633
|
+
// get_dashboard, list_qa_stories) and prompts listed as tools
|
|
634
|
+
// (summarize_report_for_fix, mushi_setup) — agents routed here then
|
|
635
|
+
// failed the call and gave up.
|
|
623
636
|
fix: {
|
|
624
637
|
label: "Fix a bug",
|
|
625
638
|
tools: [
|
|
626
639
|
"get_recent_reports",
|
|
627
|
-
"
|
|
628
|
-
"
|
|
640
|
+
"get_report_detail",
|
|
641
|
+
"triage_issue",
|
|
629
642
|
"dispatch_fix",
|
|
630
643
|
"start_skill_pipeline",
|
|
631
644
|
"checkin_pipeline_step",
|
|
632
645
|
"get_pipeline_run"
|
|
633
646
|
],
|
|
634
|
-
hint: "Call get_recent_reports to find the top unresolved bug, then
|
|
647
|
+
hint: "Call get_recent_reports to find the top unresolved bug, then triage_issue before dispatching."
|
|
635
648
|
},
|
|
636
649
|
status: {
|
|
637
650
|
label: "Check project status",
|
|
638
651
|
tools: [
|
|
639
|
-
"get_dashboard",
|
|
640
652
|
"triage_next_steps",
|
|
653
|
+
"get_account_overview",
|
|
641
654
|
"get_usage",
|
|
642
655
|
"get_backend_health",
|
|
643
656
|
"activation_status"
|
|
@@ -647,7 +660,7 @@ var USE_MUSHI_INTENTS = {
|
|
|
647
660
|
setup: {
|
|
648
661
|
label: "Set up Mushi",
|
|
649
662
|
tools: [
|
|
650
|
-
"
|
|
663
|
+
"diagnose_setup",
|
|
651
664
|
"activation_status",
|
|
652
665
|
"get_backend_health",
|
|
653
666
|
"list_byok_keys",
|
|
@@ -655,12 +668,11 @@ var USE_MUSHI_INTENTS = {
|
|
|
655
668
|
"test_byok_key",
|
|
656
669
|
"remove_byok_key"
|
|
657
670
|
],
|
|
658
|
-
hint: "Call
|
|
671
|
+
hint: "Call diagnose_setup first \u2014 it diagnoses setup gaps and returns the next action to take."
|
|
659
672
|
},
|
|
660
673
|
qa: {
|
|
661
674
|
label: "Run / review QA tests",
|
|
662
675
|
tools: [
|
|
663
|
-
"list_qa_stories",
|
|
664
676
|
"run_qa_story",
|
|
665
677
|
"list_qa_story_runs",
|
|
666
678
|
"get_qa_story_run",
|
|
@@ -668,7 +680,7 @@ var USE_MUSHI_INTENTS = {
|
|
|
668
680
|
"approve_qa_story",
|
|
669
681
|
"improve_qa_story"
|
|
670
682
|
],
|
|
671
|
-
hint: "Call
|
|
683
|
+
hint: "Call list_qa_story_runs to see recent coverage and outcomes; run_qa_story to trigger a run."
|
|
672
684
|
},
|
|
673
685
|
pipeline: {
|
|
674
686
|
label: "Run an agent pipeline / skill",
|
|
@@ -683,7 +695,7 @@ var USE_MUSHI_INTENTS = {
|
|
|
683
695
|
},
|
|
684
696
|
audit: {
|
|
685
697
|
label: "Audit / health check",
|
|
686
|
-
tools: ["run_fullstack_audit", "get_backend_health", "
|
|
698
|
+
tools: ["run_fullstack_audit", "get_backend_health", "get_account_overview", "get_usage"],
|
|
687
699
|
hint: "Call run_fullstack_audit for a full-stack health scorecard."
|
|
688
700
|
}
|
|
689
701
|
};
|
package/dist/clients.d.ts
CHANGED
|
@@ -46,7 +46,7 @@ import { FeatureGroup } from './feature-groups.js';
|
|
|
46
46
|
* editor launch. Synced to package.json by `scripts/sync-mcp-pin.mjs` — never
|
|
47
47
|
* hand-edit the version.
|
|
48
48
|
*/
|
|
49
|
-
declare const MCP_PIN_SPEC = "@mushi-mushi/mcp@0.20.
|
|
49
|
+
declare const MCP_PIN_SPEC = "@mushi-mushi/mcp@0.20.2";
|
|
50
50
|
interface StdioConfig {
|
|
51
51
|
command: string;
|
|
52
52
|
args: string[];
|
package/dist/clients.js
CHANGED
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
} from "./chunk-ZSVRLSW5.js";
|
|
9
9
|
|
|
10
10
|
// src/clients.ts
|
|
11
|
-
var MCP_PIN_SPEC = "@mushi-mushi/mcp@0.20.
|
|
11
|
+
var MCP_PIN_SPEC = "@mushi-mushi/mcp@0.20.2";
|
|
12
12
|
function projectServerName(projectId, projectName) {
|
|
13
13
|
const nameSlug = projectName.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "").slice(0, 22);
|
|
14
14
|
const idSuffix = projectId.replace(/-/g, "").slice(0, 6);
|