crewship mcp
mcp is the top-level MCP root: audit log, public registry, and the raw mcp_config_json blob editors that sit on crews and agents. Use crewship integration for the higher-level CRUD (bindings, per-tool toggles, credential plumbing); mcp is what you reach for when you need the raw JSON or want to inspect calls after the fact. Defined in cmd/crewship/cmd_mcp.go.
API management subcommands require
crewship login. Registry browse/search don’t
require a workspace (registry data is workspace-agnostic and the CLI strips
the workspace_id header before sending). Everything else does.Local MCP server
crewship mcp serve exposes the selected API catalog, focused workflows and guarded HTTP requests to
AI clients over stdio. Discovery has an embedded offline fallback; execution uses the pinned CLI
identity. See AI clients for connection commands, all server flags, the
bundled skill and mutation policy.
Subcommands
mcp root
Crew / agent JSON editing
These live undercrewship crew and crewship agent, registered from this file:
Flags
mcp audit list
Output is the raw JSON shape — pipe through
jq for filtering (jq '.[] | select(.status=="error")').
mcp registry list
mcp registry search <query>
crew mcp <crew-slug>
With neither flag, the command runs in GET mode: it pretty-prints the current config or says
no MCP config set.
agent mcp <agent-slug>
JSON shape
Bothcrew mcp and agent mcp validate the JSON before sending. It must contain an mcpServers object — anything else returns JSON must contain a "mcpServers" object. Inside, the standard MCP shape:
Examples
Audit recent tool calls
Browse the registry
Search the registry
Trigger a manual sync (admin)
Admin-only, with a 1-hour cooldown. A
429 means someone synced recently.Show / set a crew’s config
Crew acme-engineering: MCP config set (3 servers).
Show / set an agent’s config
--resolved prints up to two labeled sections. The first, # Blob config (crews/agents.mcp_config_json):, merges by mcpServers.<name> — agent keys win over
crew keys with the same name, additive otherwise (when there are no integration
bindings, the merged JSON prints without the section header). The second,
# Integration bindings (workspace/crew servers + agent bindings):, folds in the
integration-table cascade, one bulleted line per server, e.g.:
Agent <slug>: no MCP servers (no blob config, no integration bindings).
Common errors
invalid MCP JSON: ...— the value didn’t parse as JSON.JSON must contain a "mcpServers" object— top-level key missing.--set and --set-file are mutually exclusive— pick one.--resolved cannot be combined with --set or --set-file—--resolvedis a read flag.read file <path>: ...—--set-filecouldn’t open the path.
See also
crewship integration— higher-level bindings, credentials, per-tool toggles.crewship crew— full crew CRUD;crew mcpis registered from here.crewship agent— full agent CRUD;agent mcpis registered from here.- Integrations API — covers MCP registry endpoints (
GET /api/v1/mcp-registry).