@mushi-mushi/mcp 0.20.2 → 0.21.0

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 CHANGED
@@ -123,7 +123,7 @@ The server speaks stdio MCP transport by default; your client launches it as a s
123
123
 
124
124
  ### 5. Hosted Streamable HTTP (no subprocess)
125
125
 
126
- The Mushi backend now exposes the same tool catalog over the **Streamable HTTP** transport from the MCP 2025-03-26 spec at `/functions/v1/mcp`. Use this when you want to skip the local subprocess; typical for OpenAI Agents SDK, ChatGPT Agent, hosted CrewAI, or any orchestrator that talks remote MCP:
126
+ The Mushi backend now exposes the same tool catalog over the **Streamable HTTP** transport (dual-era: MCP 2024-11-05 … 2025-11-25 legacy and the current 2026-07-28 revision) at `/functions/v1/mcp`. Use this when you want to skip the local subprocess; typical for OpenAI Agents SDK, ChatGPT Agent, hosted CrewAI, or any orchestrator that talks remote MCP:
127
127
 
128
128
  ```jsonc
129
129
  // .cursor/mcp.json — example (hosted HTTP)
@@ -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 **72 tools** (stdio / `MUSHI_FEATURES=all`). The hosted HTTP
149
+ Full catalog is **73 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
@@ -212,6 +212,7 @@ The endpoint accepts JSON-RPC 2.0 over POST (returns `application/json` or `text
212
212
  | `get_blast_radius` | Graph traversal showing other components a bug group touches |
213
213
  | `get_knowledge_graph` | Traverse the knowledge graph from a seed component or page |
214
214
  | `diagnose_setup` | Setup health in one call: `mode=full` (default) runs ingest + dispatch preflight, `mode=ingest` / `mode=dispatch` narrow it. Returns the single best next action. Run first when a user says setup is broken |
215
+ | `check_sdk_version` | Compare a published `@mushi-mushi/*` pin to `GET /v1/sdk/latest-version`. Returns `{ package, current, latest, outdated }` and, when outdated, Sentry-style `suggestedActions` (max 1). Does not bump the pin. |
215
216
  | `activation_status` | Unified activation posture for the active project: required steps, SDK heartbeat, dispatch preflight, and the next best action |
216
217
  | `get_report_timeline` | Ordered report timeline: the reporter/admin comment thread (including verify/reopen signals) plus fix, QA, and status lanes. Use when triaging whether an end user still sees a bug as unfixed |
217
218
  | `list_projects` | Discover all Mushi projects accessible to this API key. Returns project id, name, and created date |
@@ -390,7 +391,7 @@ Spawns `dist/index.js` with a dummy unreachable endpoint and confirms it adverti
390
391
  pnpm --filter @mushi-mushi/mcp build
391
392
  pnpm --filter @mushi-mushi/mcp test:smoke
392
393
  # OK; prints live tool/resource/prompt counts from the catalog
393
- # (see packages/mcp/src/catalog.ts — currently 72 tools / 8 resources / 4 prompts)
394
+ # (see packages/mcp/src/catalog.ts — currently 73 tools / 8 resources / 4 prompts)
394
395
  ```
395
396
 
396
397
  ### Layer 3; Full localhost E2E (real binary + real backend behaviour)
@@ -480,8 +481,24 @@ Both are complementary; use Sentry for exception noise, Mushi for "the user says
480
481
 
481
482
  MIT
482
483
 
484
+ ## More from KENSAURUS
485
+
486
+ | | App | What it is |
487
+ |---|---|---|
488
+ | <img src="https://kensaur.us/glot-it/icon-512.png" width="28" height="28" alt=""> | [Glot It](https://kensaur.us/glot-it/?utm_source=github&utm_medium=readme) | Learn Thai — bite-size lessons, smart flashcards, and an AI tutor |
489
+ | <img src="https://kensaur.us/yen-yen/icon.svg" width="28" height="28" alt=""> | [yen-yen](https://kensaur.us/yen-yen/?utm_source=github&utm_medium=readme) | Where did the money go? Now you'll know. A kakeibo for households |
490
+ | <img src="https://kensaur.us/the-wanting-mind/pwa-512x512.png" width="28" height="28" alt=""> | [The Wanting Mind](https://kensaur.us/the-wanting-mind/?utm_source=github&utm_medium=readme) | How the Battle Between Extraction and Generation Is Reshaping Our World — a 147,000-word interactive webbook with 268 concepts, 242 citations, and original illustrations |
491
+ | <img src="https://kensaur.us/help-her-take-photo/assets/apple-touch-icon.png" width="28" height="28" alt=""> | [Help Her Take Photo](https://kensaur.us/help-her-take-photo/?utm_source=github&utm_medium=readme) | Pair phones, direct the pose, nail the photo |
492
+ | <img src="https://talk.kensaur.us/pwa-192.png" width="28" height="28" alt=""> | [How to Talk to Girls](https://talk.kensaur.us/?utm_source=github&utm_medium=readme) | BYOK Claude practice coach for sticky chats |
493
+ | <img src="https://solo-boss.kensaur.us/apple-touch-icon.png" width="28" height="28" alt=""> | [一人社長 Solo Boss](https://solo-boss.kensaur.us/?utm_source=github&utm_medium=readme) | Bookkeeping and tax-filing co-pilot for one-person companies in Japan |
494
+ | <img src="https://tsumagoi.kensaur.us/apple-touch-icon.png" width="28" height="28" alt=""> | [Tsumagoi Work&Camp 嬬恋牧場](https://tsumagoi.kensaur.us/?utm_source=github&utm_medium=readme) | Coworking camp at 1,444 m — [Instagram](https://www.instagram.com/tsumagoicamp/) · [Facebook](https://www.facebook.com/profile.php?id=61592113053042) · [Maps](https://maps.app.goo.gl/JCNnTfsdQVHCS1FA7) |
495
+ | <img src="https://github.com/kensaurus.png" width="28" height="28" alt=""> | [cursor-kenji](https://github.com/kensaurus/cursor-kenji) | Ready-made playbooks for your AI coding editor |
496
+ | <img src="https://kensaur.us/favicon.svg" width="28" height="28" alt=""> | [KENSAURUS](https://kensaur.us/?view=portfolio&utm_source=github&utm_medium=readme) | Everything else built under the same roof |
497
+
498
+ All apps live under [kensaur.us](https://kensaur.us).
499
+
483
500
 
484
501
  <!-- mushi-readme-stats-footer -->
485
502
  ---
486
503
 
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>
504
+ <sub>Monorepo scale (July 2026): 58 edge functions · 347 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
@@ -6,7 +6,7 @@ import {
6
6
  TDD_TOOL_CATALOG,
7
7
  TOOL_CATALOG,
8
8
  USE_MUSHI_INTENTS
9
- } from "./chunk-RVZIKP4X.js";
9
+ } from "./chunk-FNDGCFSJ.js";
10
10
  export {
11
11
  ALL_SCOPES,
12
12
  CODEBASE_TOOL_CATALOG,
@@ -139,6 +139,14 @@ var TOOL_CATALOG = [
139
139
  hints: { readOnly: true, idempotent: true, openWorld: true },
140
140
  useCase: "Why is Mushi setup broken \u2014 one call, clear next step."
141
141
  },
142
+ {
143
+ name: "check_sdk_version",
144
+ title: "Check SDK freshness",
145
+ description: "Compare a published @mushi-mushi/* package version against the catalog (GET /v1/sdk/latest-version). Returns { package, current, latest, outdated } and, when outdated, suggestedActions (Sentry-style, max 1) pointing at search_mushi_docs plus the mushi-sdk-upgrade skill. Read-only. Use when Dependabot or mushi upgrade --check reports a drift, or before dispatching a fix that assumes a current SDK. Does not bump the pin \u2014 that stays a human/Dependabot change.",
146
+ scope: "mcp:read",
147
+ hints: { readOnly: true, idempotent: true, openWorld: true },
148
+ useCase: "Is this project on the current Mushi SDK?"
149
+ },
142
150
  {
143
151
  name: "search_mushi_docs",
144
152
  title: "Search Mushi documentation",
@@ -661,6 +669,7 @@ var USE_MUSHI_INTENTS = {
661
669
  label: "Set up Mushi",
662
670
  tools: [
663
671
  "diagnose_setup",
672
+ "check_sdk_version",
664
673
  "activation_status",
665
674
  "get_backend_health",
666
675
  "list_byok_keys",
@@ -51,6 +51,7 @@ var TOOL_FEATURE_MAP = {
51
51
  inventory_current: "admin",
52
52
  // setup
53
53
  diagnose_setup: "setup",
54
+ check_sdk_version: "setup",
54
55
  activation_status: "setup",
55
56
  project_integration_health: "setup",
56
57
  setup_repo_for_mushi: "setup",
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.2";
49
+ declare const MCP_PIN_SPEC = "@mushi-mushi/mcp@0.21.0";
50
50
  interface StdioConfig {
51
51
  command: string;
52
52
  args: string[];
package/dist/clients.js CHANGED
@@ -5,10 +5,10 @@ import {
5
5
  DEFAULT_FEATURE_GROUPS,
6
6
  appendFeaturesToUrl,
7
7
  featuresQueryString
8
- } from "./chunk-ZSVRLSW5.js";
8
+ } from "./chunk-XSL2FPLV.js";
9
9
 
10
10
  // src/clients.ts
11
- var MCP_PIN_SPEC = "@mushi-mushi/mcp@0.20.2";
11
+ var MCP_PIN_SPEC = "@mushi-mushi/mcp@0.21.0";
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);
@@ -9,7 +9,7 @@ import {
9
9
  parseFeaturesCsv,
10
10
  parseFeaturesParam,
11
11
  toolMatchesFeatures
12
- } from "./chunk-ZSVRLSW5.js";
12
+ } from "./chunk-XSL2FPLV.js";
13
13
  export {
14
14
  ALL_FEATURE_GROUPS,
15
15
  DEFAULT_FEATURE_GROUPS,