@mushi-mushi/mcp 0.24.1 → 0.24.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 +1 -1
- package/dist/catalog.js +1 -1
- package/dist/{chunk-IC7PPRRZ.js → chunk-Y757GGQH.js} +3 -3
- package/dist/clients.d.ts +1 -1
- package/dist/clients.js +1 -1
- package/dist/index.js +13 -4
- package/dist/server.js +11 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -494,4 +494,4 @@ MIT
|
|
|
494
494
|
<!-- mushi-readme-stats-footer -->
|
|
495
495
|
---
|
|
496
496
|
|
|
497
|
-
<sub>Monorepo scale (July 2026): 64 edge functions ·
|
|
497
|
+
<sub>Monorepo scale (July 2026): 64 edge functions · 413 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
|
@@ -820,7 +820,7 @@ var TDD_TOOL_CATALOG = [
|
|
|
820
820
|
{
|
|
821
821
|
name: "list_byok_keys",
|
|
822
822
|
title: "List your API key pool",
|
|
823
|
-
description: "List the project's BYOK API keys grouped by provider (anthropic | openai | firecrawl | browserbase | cursor). Returns pooled { keys: [{ id, provider_slug, label, priority, status, cooldown_until, test_status, key_hint, base_url, last_tested_at, last_used_at }] } plus read-only { legacyKeys } metadata for credentials saved before the pooled lifecycle \u2014 never the raw secret. Read-only. Use to see which keys are validated, active, pending, legacy, or rate-limited; use add_byok_key to add one.",
|
|
823
|
+
description: "List the project's BYOK API keys grouped by provider (anthropic | openai | firecrawl | browserbase | cursor | supabase). Returns pooled { keys: [{ id, provider_slug, label, priority, status, cooldown_until, test_status, key_hint, base_url, last_tested_at, last_used_at }] } plus read-only { legacyKeys } metadata for credentials saved before the pooled lifecycle \u2014 never the raw secret. Read-only. Use to see which keys are validated, active, pending, legacy, or rate-limited; use add_byok_key to add one.",
|
|
824
824
|
scope: "mcp:read",
|
|
825
825
|
hints: { readOnly: true, idempotent: true, openWorld: true },
|
|
826
826
|
useCase: "Which API keys are active and which are rate-limited?"
|
|
@@ -828,7 +828,7 @@ var TDD_TOOL_CATALOG = [
|
|
|
828
828
|
{
|
|
829
829
|
name: "add_byok_key",
|
|
830
830
|
title: "Add an API key",
|
|
831
|
-
description: "Add and immediately validate a BYOK API key for anthropic | openai | firecrawl | browserbase | cursor. The raw key is stored encrypted in Supabase Vault and never returned; failed probes remain quarantined. Optional baseUrl is accepted only for allow-listed OpenAI-compatible HTTPS providers. Write; NOT idempotent.",
|
|
831
|
+
description: "Add and immediately validate a BYOK API key for anthropic | openai | firecrawl | browserbase | cursor | supabase (a scoped, read-only Supabase access token, checked against the linked supabase_project_ref). The raw key is stored encrypted in Supabase Vault and never returned; failed probes remain quarantined. Optional baseUrl is accepted only for allow-listed OpenAI-compatible HTTPS providers. Write; NOT idempotent.",
|
|
832
832
|
scope: "mcp:write",
|
|
833
833
|
hints: { readOnly: false, destructive: false, idempotent: false, openWorld: true },
|
|
834
834
|
useCase: "Add a backup Anthropic key to the pool."
|
|
@@ -984,7 +984,7 @@ var TDD_TOOL_CATALOG = [
|
|
|
984
984
|
{
|
|
985
985
|
name: "run_fullstack_audit",
|
|
986
986
|
title: "Run a full-stack health audit",
|
|
987
|
-
description: "Fan out a full-stack health audit for the current project: DB schema + advisors, API contract gate results (Gates 3\u20138), recent backend error logs, and RLS gap detection. Returns a PM-readable scorecard with severity-ranked findings and fix hints.
|
|
987
|
+
description: "Fan out a full-stack health audit for the current project: DB schema + advisors, API contract gate results (Gates 3\u20138), recent backend error logs, and RLS gap detection. Returns a PM-readable scorecard with severity-ranked findings and fix hints. Backend analysis needs supabase_project_ref set (Settings \u2192 General) and a scoped, read-only Supabase access token added (Settings \u2192 AI keys, slug: supabase). 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.",
|
|
988
988
|
scope: "mcp:write",
|
|
989
989
|
hints: { readOnly: false, destructive: false, idempotent: true, openWorld: true },
|
|
990
990
|
useCase: "Is this project healthy? Run a one-click full-stack audit to find API contract mismatches, unlinked backend features, schema drift, and security gaps."
|
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.24.
|
|
49
|
+
declare const MCP_PIN_SPEC = "@mushi-mushi/mcp@0.24.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-F65T4IGT.js";
|
|
9
9
|
|
|
10
10
|
// src/clients.ts
|
|
11
|
-
var MCP_PIN_SPEC = "@mushi-mushi/mcp@0.24.
|
|
11
|
+
var MCP_PIN_SPEC = "@mushi-mushi/mcp@0.24.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);
|
package/dist/index.js
CHANGED
|
@@ -812,7 +812,7 @@ var TDD_TOOL_CATALOG = [
|
|
|
812
812
|
{
|
|
813
813
|
name: "list_byok_keys",
|
|
814
814
|
title: "List your API key pool",
|
|
815
|
-
description: "List the project's BYOK API keys grouped by provider (anthropic | openai | firecrawl | browserbase | cursor). Returns pooled { keys: [{ id, provider_slug, label, priority, status, cooldown_until, test_status, key_hint, base_url, last_tested_at, last_used_at }] } plus read-only { legacyKeys } metadata for credentials saved before the pooled lifecycle \u2014 never the raw secret. Read-only. Use to see which keys are validated, active, pending, legacy, or rate-limited; use add_byok_key to add one.",
|
|
815
|
+
description: "List the project's BYOK API keys grouped by provider (anthropic | openai | firecrawl | browserbase | cursor | supabase). Returns pooled { keys: [{ id, provider_slug, label, priority, status, cooldown_until, test_status, key_hint, base_url, last_tested_at, last_used_at }] } plus read-only { legacyKeys } metadata for credentials saved before the pooled lifecycle \u2014 never the raw secret. Read-only. Use to see which keys are validated, active, pending, legacy, or rate-limited; use add_byok_key to add one.",
|
|
816
816
|
scope: "mcp:read",
|
|
817
817
|
hints: { readOnly: true, idempotent: true, openWorld: true },
|
|
818
818
|
useCase: "Which API keys are active and which are rate-limited?"
|
|
@@ -820,7 +820,7 @@ var TDD_TOOL_CATALOG = [
|
|
|
820
820
|
{
|
|
821
821
|
name: "add_byok_key",
|
|
822
822
|
title: "Add an API key",
|
|
823
|
-
description: "Add and immediately validate a BYOK API key for anthropic | openai | firecrawl | browserbase | cursor. The raw key is stored encrypted in Supabase Vault and never returned; failed probes remain quarantined. Optional baseUrl is accepted only for allow-listed OpenAI-compatible HTTPS providers. Write; NOT idempotent.",
|
|
823
|
+
description: "Add and immediately validate a BYOK API key for anthropic | openai | firecrawl | browserbase | cursor | supabase (a scoped, read-only Supabase access token, checked against the linked supabase_project_ref). The raw key is stored encrypted in Supabase Vault and never returned; failed probes remain quarantined. Optional baseUrl is accepted only for allow-listed OpenAI-compatible HTTPS providers. Write; NOT idempotent.",
|
|
824
824
|
scope: "mcp:write",
|
|
825
825
|
hints: { readOnly: false, destructive: false, idempotent: false, openWorld: true },
|
|
826
826
|
useCase: "Add a backup Anthropic key to the pool."
|
|
@@ -976,7 +976,7 @@ var TDD_TOOL_CATALOG = [
|
|
|
976
976
|
{
|
|
977
977
|
name: "run_fullstack_audit",
|
|
978
978
|
title: "Run a full-stack health audit",
|
|
979
|
-
description: "Fan out a full-stack health audit for the current project: DB schema + advisors, API contract gate results (Gates 3\u20138), recent backend error logs, and RLS gap detection. Returns a PM-readable scorecard with severity-ranked findings and fix hints.
|
|
979
|
+
description: "Fan out a full-stack health audit for the current project: DB schema + advisors, API contract gate results (Gates 3\u20138), recent backend error logs, and RLS gap detection. Returns a PM-readable scorecard with severity-ranked findings and fix hints. Backend analysis needs supabase_project_ref set (Settings \u2192 General) and a scoped, read-only Supabase access token added (Settings \u2192 AI keys, slug: supabase). 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.",
|
|
980
980
|
scope: "mcp:write",
|
|
981
981
|
hints: { readOnly: false, destructive: false, idempotent: true, openWorld: true },
|
|
982
982
|
useCase: "Is this project healthy? Run a one-click full-stack audit to find API contract mismatches, unlinked backend features, schema drift, and security gaps."
|
|
@@ -1875,6 +1875,15 @@ var MUSHI_DOCS_INDEX = [
|
|
|
1875
1875
|
headings: ["What it shows", "Out-of-date detection", "Setup checklist integration", "Where it lives", "Related"],
|
|
1876
1876
|
excerpt: "The SDK health card shows the live heartbeat of every Mushi SDK that reported in the last 24 hours, so an SDK that never shipped is obvious."
|
|
1877
1877
|
},
|
|
1878
|
+
{
|
|
1879
|
+
title: "SDK upgrade lockfile helper",
|
|
1880
|
+
url: docUrl("/admin/sdk-upgrade-lockfile"),
|
|
1881
|
+
route: "/admin/sdk-upgrade-lockfile",
|
|
1882
|
+
markdown: "admin/sdk-upgrade-lockfile.md",
|
|
1883
|
+
keywords: ["admin", "sdk-upgrade-lockfile", "sdk", "upgrade", "lockfile", "helper"],
|
|
1884
|
+
headings: ["How it works", "Add the workflow", "What the action does", "Private registries", "Pinning", "Why Mushi does not write the lockfile or the workflow", "Limits"],
|
|
1885
|
+
excerpt: "Add one workflow to your repo so Mushi's SDK upgrade PRs arrive with a refreshed lockfile and pass npm ci or pnpm install --frozen-lockfile."
|
|
1886
|
+
},
|
|
1878
1887
|
{
|
|
1879
1888
|
title: "Settings",
|
|
1880
1889
|
url: docUrl("/admin/settings"),
|
|
@@ -6684,7 +6693,7 @@ Be specific. No generic advice.`
|
|
|
6684
6693
|
annotations: annotationsFor("add_byok_key", TDD_TOOL_CATALOG),
|
|
6685
6694
|
inputSchema: z.object({
|
|
6686
6695
|
projectId: z.string().describe("Project id"),
|
|
6687
|
-
provider: z.enum(["anthropic", "openai", "firecrawl", "browserbase", "cursor"]).describe("Provider slug"),
|
|
6696
|
+
provider: z.enum(["anthropic", "openai", "firecrawl", "browserbase", "cursor", "supabase"]).describe("Provider slug"),
|
|
6688
6697
|
key: z.string().min(8).max(4096).describe("The API key value to add"),
|
|
6689
6698
|
label: z.string().optional().describe("Human-readable label for this key"),
|
|
6690
6699
|
priority: z.number().int().min(0).max(1e4).optional().describe("Priority for ordering (lower = higher priority)"),
|
package/dist/server.js
CHANGED
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
TDD_TOOL_CATALOG,
|
|
5
5
|
TOOL_CATALOG,
|
|
6
6
|
routeUseMushiIntent
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-Y757GGQH.js";
|
|
8
8
|
import {
|
|
9
9
|
MUSHI_SERVER_METADATA
|
|
10
10
|
} from "./chunk-FJRPC4VR.js";
|
|
@@ -485,6 +485,15 @@ var MUSHI_DOCS_INDEX = [
|
|
|
485
485
|
headings: ["What it shows", "Out-of-date detection", "Setup checklist integration", "Where it lives", "Related"],
|
|
486
486
|
excerpt: "The SDK health card shows the live heartbeat of every Mushi SDK that reported in the last 24 hours, so an SDK that never shipped is obvious."
|
|
487
487
|
},
|
|
488
|
+
{
|
|
489
|
+
title: "SDK upgrade lockfile helper",
|
|
490
|
+
url: docUrl("/admin/sdk-upgrade-lockfile"),
|
|
491
|
+
route: "/admin/sdk-upgrade-lockfile",
|
|
492
|
+
markdown: "admin/sdk-upgrade-lockfile.md",
|
|
493
|
+
keywords: ["admin", "sdk-upgrade-lockfile", "sdk", "upgrade", "lockfile", "helper"],
|
|
494
|
+
headings: ["How it works", "Add the workflow", "What the action does", "Private registries", "Pinning", "Why Mushi does not write the lockfile or the workflow", "Limits"],
|
|
495
|
+
excerpt: "Add one workflow to your repo so Mushi's SDK upgrade PRs arrive with a refreshed lockfile and pass npm ci or pnpm install --frozen-lockfile."
|
|
496
|
+
},
|
|
488
497
|
{
|
|
489
498
|
title: "Settings",
|
|
490
499
|
url: docUrl("/admin/settings"),
|
|
@@ -5360,7 +5369,7 @@ Be specific. No generic advice.`
|
|
|
5360
5369
|
annotations: annotationsFor("add_byok_key", TDD_TOOL_CATALOG),
|
|
5361
5370
|
inputSchema: z.object({
|
|
5362
5371
|
projectId: z.string().describe("Project id"),
|
|
5363
|
-
provider: z.enum(["anthropic", "openai", "firecrawl", "browserbase", "cursor"]).describe("Provider slug"),
|
|
5372
|
+
provider: z.enum(["anthropic", "openai", "firecrawl", "browserbase", "cursor", "supabase"]).describe("Provider slug"),
|
|
5364
5373
|
key: z.string().min(8).max(4096).describe("The API key value to add"),
|
|
5365
5374
|
label: z.string().optional().describe("Human-readable label for this key"),
|
|
5366
5375
|
priority: z.number().int().min(0).max(1e4).optional().describe("Priority for ordering (lower = higher priority)"),
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mushi-mushi/mcp",
|
|
3
3
|
"mcpName": "io.github.kensaurus/mushi-mushi",
|
|
4
|
-
"version": "0.24.
|
|
4
|
+
"version": "0.24.2",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "MCP server for Cursor, Claude Code and Copilot. The bug mediator for AI-built apps: plain-English diagnosis + a ready fix, in your editor.",
|
|
7
7
|
"type": "module",
|