Let Claude Code delegate long-running tasks over MCP
Coding agents block while a tool call runs, and most MCP tools are expected to answer in seconds. Some work takes minutes: research, reports, checks across several systems. This guide connects Claude Code to Griffin's MCP server so it can hand that work off and pick up the result later.
How it works
Griffin exposes five task-shaped MCP tools. griffin_send starts a task in plain language and returns quickly — with the answer if it was fast, otherwise with a task id. griffin_wait long-polls for progress and the final answer. griffin_reply answers a question the task asked, griffin_cancel stops it, and griffin_tasks lists recent tasks. Tasks keep running if the connection drops and survive a server restart.
1. Run Griffin and create a client token
docker run -d --name griffin -p 3100:3100 -v griffin-data:/data \
-e ANTHROPIC_API_KEY=sk-ant-… ghcr.io/paziresh24/griffin:latest
docker exec griffin cat /data/owner.token # the token you sign in with
In Griffin open Peers → New peer (one peer per person), then New client (one per device) and copy the token. It is shown once. Each client has its own token and its own tool quota, so you can revoke a laptop without touching anything else.
2. Add it to Claude Code
claude mcp add --transport http griffin https://your-griffin.example.com/mcp \
--header "Authorization: Bearer grf_…"
For Claude Desktop, Cursor and other stdio-only clients, use the bridge that ships in the repository; it needs no npm install:
{ "mcpServers": { "griffin": {
"command": "node",
"args": ["/path/to/griffin/bin/griffin-mcp.mjs"],
"env": { "GRIFFIN_URL": "https://your-griffin.example.com", "GRIFFIN_TOKEN": "grf_…" } } } }
3. Use it
Ask Claude Code something like “ask Griffin to compare the error rates of last week and this week and summarise it”. Claude Code calls griffin_send, keeps working, and calls griffin_wait until the answer is in. Griffin's own agents do the work with their own tools — the credentials they use never reach Claude Code.
Why delegate instead of giving Claude Code the tools
- Credentials stay in Griffin; the coding agent only sees results.
- Each client gets a quota: by default a peer can read but not change things.
- Irreversible actions go to a human for approval instead of being decided by whoever asked.
- Every call is logged per client, so “it doesn't answer” becomes a lookup.
Griffin is open source (MIT): github.com/paziresh24/Griffin · MCP server overview.