MCP server
AI assistants that speak the Model Context Protocol.
Chirp ships an MCP server (Model Context Protocol) so any MCP-aware AI client can drive Chirp as a tool. Tools exposed: `activity_start`, `activity_update`, `activity_end`, `notify`, `template_list`. The agent picks them up automatically - no system prompt engineering required.
Use this with Claude Desktop, Cursor's MCP support, Cline's MCP support, Goose, or any other MCP client. The server is a Node binary that connects via stdio; no separate process to manage. Pair with the agent-skill rules files (`.cursorrules`, AGENTS.md) for the best of both worlds - rules teach the agent *when* to use Chirp, MCP gives them the actual tool to call.
Prerequisites
- An MCP-aware client (Claude Desktop, Cursor 0.43+, Cline 1.10+, Goose, etc.).
- Node 18+ on PATH (the server runs via `npx`).
- A Chirp API key.
Setup
- 1
Get your Chirp API key
chirpapp.dev/dashboard → API Keys → copy. Starts with
chirp_sk_. The MCP server reads it from the env var passed by the client config. - 2
Register in Claude Desktop
Edit
claude_desktop_config.json(macOS:~/Library/Application Support/Claude/). Add the Chirp server tomcpServers.~/Library/Application Support/Claude/claude_desktop_config.json{ "mcpServers": { "chirp": { "command": "npx", "args": ["-y", "@chirp/mcp-server"], "env": { "CHIRP_API_KEY": "chirp_sk_..." } } } } - 3
Register in Cursor
Cursor Settings → Features → MCP → Add new server. Same shape - command + args + env.
shell# Cursor's MCP UI takes the same JSON. # Or edit ~/.cursor/mcp.json directly: { "mcpServers": { "chirp": { "command": "npx", "args": ["-y", "@chirp/mcp-server"], "env": { "CHIRP_API_KEY": "chirp_sk_..." } } } } - 4
Register in Cline
Cline → Settings → MCP Servers → Edit JSON. Same config format.
- 5
Restart the client + verify tools loaded
MCP servers load on client startup. Restart Claude Desktop / Cursor / Cline. In Claude Desktop the tools surface in the hammer menu; in Cursor they appear as tool suggestions in the composer; in Cline they appear in the tool drawer. You should see
chirp:activity_start,chirp:notify, etc. - 6
Use it
In conversation: "send me a notification when this finishes" or "open a Chirp activity tracking my progress through this refactor". The agent calls the tool directly - no shell-out, no SDK wrapping. Activity IDs are managed by the agent's conversation context, so it can update the same activity across multiple turns.
What you’ll see
Whatever schema the agent picks. The MCP tools accept the same `schema_id` + `data` shape as the raw HTTP API, so a Claude session that calls `activity_start` with `schema_id: "@agent"` opens the agent card; calling with `"@deploy"` opens a deploy card. Activity IDs persist across turns within the same conversation, so the agent can update the activity as it works.
Troubleshooting
- Tools don't appear after restart.
- Check the client's MCP logs. Claude Desktop: Settings → Developer → MCP servers → click the chirp server → see logs. Most common cause:
npxnot on PATH (try the absolute path to npx, e.g./usr/local/bin/npx). - Tools appear but every call returns "401 unauthorized".
CHIRP_API_KEYenv var didn't reach the spawned process. Verify by setting the key in the client config rather than expecting it to inherit from the shell - most clients launch MCP servers with a clean env.- I want to expose chirp tools to multiple clients without copy-pasting config.
- Each client has its own config file but the server is the same Node package. Pin to a specific version (
@chirp/[email protected]) in all configs to keep them in sync.