Skip to Content
v0.8.0 · shippedNative iOS / Android / Flutter / Capacitor SDKs, A2A discovery, SOC 2 readiness, residency, BYO storage, BYOK. Read the changelog →
ConceptsProject ID & API keys

Project ID & API keys

Every SDK, CLI, and MCP call needs a project ID plus an API key. Both appear after you create a project on Setup → Verify (API key) or Projects (Project ID chip) — not under Settings (BYOK keys are for your own LLM providers).

API key scopes

Keys are scoped at mint time. Use separate keys for SDK ingest vs IDE/MCP — never give your app’s report:write key mcp:write.

ScopeUsed byCan do
report:writeWeb/React/RN SDK, CI ingestSubmit bug reports, SDK heartbeat
mcp:readCursor MCP (read-only)List reports, get_fix_context, lessons, docs search
mcp:writeCursor MCP (full), CLI fix dispatchEverything in read + dispatch_fix, merge_fix, QA triggers

MCP brings its own intelligence — you do not need a separate OpenAI or Anthropic key for Mushi MCP tools. You still need a Mushi project + MCP-scoped API key.

Project ID

Your project identifier is a UUID assigned at create time:

FormatExampleWhere you see it
UUID542b34e0-…Success panel + Projects page chip — copy immediately after Create
proj_… (future)proj_myapp_prodReserved short-form; CLI accepts either shape

Use the UUID from the success panel for mushi init --project-id and SDK env vars.

API key

Secret used to authenticate ingest and admin API calls. Prefix depends on surface:

PrefixUsed byExample
mushi_…Web, React, Node, CLI, MCPmushi_live_abc123…
mush_pk_…Capacitor / native hybrid pluginmush_pk_abc123…

Capacitor uses a public ingest key (mush_pk_…) embedded in the hybrid app bundle — see @mushi-mushi/capacitor.

Never commit API keys. The CLI writes SDK keys to .env.local, CLI config to ~/.config/mushi/config.json (legacy ~/.mushirc is auto-migrated on first load), and adds .cursor/mcp.json to .gitignore when wiring Cursor.

See examples/sdk.env.example for a copy-paste template.

API endpoint

Default cloud endpoint (when unset):

https://dxptnwrhwsqckaftyymj.supabase.co/functions/v1/api

Self-hosted and staging installs override via apiEndpoint / MUSHI_API_ENDPOINT. The CLI also accepts https://api.mushimushi.dev as an alias.

Environment variable names

StackProject IDAPI key
Vite / Vue / Svelte / Angular / RNVITE_MUSHI_PROJECT_IDVITE_MUSHI_API_KEY
Next.jsNEXT_PUBLIC_MUSHI_PROJECT_IDNEXT_PUBLIC_MUSHI_API_KEY
NuxtNUXT_PUBLIC_MUSHI_PROJECT_IDNUXT_PUBLIC_MUSHI_API_KEY
Node (Express / Fastify / Hono)MUSHI_PROJECT_IDMUSHI_API_KEY
CLI / MCPMUSHI_PROJECT_IDMUSHI_API_KEY

Run npx mushi-mushi to auto-detect your framework and write the correct prefix.

Last updated on