Skip to main content
First install the chief-mcp binary — see MCP server → Install. The quickest way to configure a client is the chief CLI (install it too), which fills in the installed binary path and your credentials:
chief mcp config claude   # Claude Code / Claude Desktop
chief mcp config cursor   # Cursor
chief mcp config codex    # Codex
It prints where each client expects the snippet:
  • Claude Code.mcp.json (project) or ~/.claude.json (user), or run claude mcp add chief -- chief-mcp stdio
  • Cursor.cursor/mcp.json (project) or ~/.cursor/mcp.json (global)
  • Codex~/.codex/config.toml (emitted as TOML)
No chief CLI? Every snippet below also works pasted in by hand — you only need the chief-mcp binary. To configure a client by hand, use the snippets below. Replace <api-key> and <project-id> with your values.

Stdio transport

Use stdio when the agent runs the server locally as a subprocess.
claude mcp add chief \
  -e CHIEF_API_KEY=<api-key> \
  -e CHIEF_PROJECT_ID=<project-id> \
  -- chief-mcp stdio
Windsurf and other clients that read an mcpServers block use the same snippet as Cursor.

HTTP transport

Use HTTP for remote or web-based integrations. Start the server, then point the client at its endpoint with credentials in the request headers.
chief-mcp http --addr :8080 --path /mcp
The server listens on http://localhost:8080 and exposes the MCP endpoint at /mcp using Streamable HTTP.
claude mcp add chief --transport http http://localhost:8080/mcp \
  --header "Authorization: Bearer <api-key>" \
  --header "X-Project-Id: <project-id>"

Verify the connection

After configuring a client, restart its session — MCP servers are long-lived stdio processes that don’t hot-reload. Then ask the agent to list its tools, or test the server directly with the MCP Inspector (requires Node.js):
npx @modelcontextprotocol/inspector chief-mcp stdio
Click Connect, then List tools to confirm the server responds.