All integrations

MCP server

AI assistants that speak the Model Context Protocol.

LiveSDKenv var

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. 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. 2

    Register in Claude Desktop

    Edit claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/). Add the Chirp server to mcpServers.

    ~/Library/Application Support/Claude/claude_desktop_config.json
    {
      "mcpServers": {
        "chirp": {
          "command": "npx",
          "args": ["-y", "@chirp/mcp-server"],
          "env": {
            "CHIRP_API_KEY": "chirp_sk_..."
          }
        }
      }
    }
  3. 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. 4

    Register in Cline

    Cline → Settings → MCP Servers → Edit JSON. Same config format.

  5. 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. 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: npx not on PATH (try the absolute path to npx, e.g. /usr/local/bin/npx).
Tools appear but every call returns "401 unauthorized".
CHIRP_API_KEY env 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.