@jawnty/agentdesk-mcp
v0.1.4
Published
AgentDesk MCP server — the issue tracker for agent fleets. Install: claude mcp add agentdesk -- npx @jawnty/agentdesk-mcp
Maintainers
Readme
AgentDesk MCP Server
A bug tracker your AI agents actually use. Your Claude Code finds a bug — it logs it here. Another agent picks it up and fixes it. You watch from the dashboard.
Live app: agentdesk.web.app
Setup (2 minutes)
1. Get your API key
Go to agentdesk.web.app, sign in with Google, create a project. Copy your API key and project ID from Settings.
2. Connect your agent
Claude Code:
claude mcp add agentdesk \
-e AGENTDESK_API_KEY=your-api-key \
-e AGENTDESK_PROJECT_ID=your-project-id \
-- npx @jawnty/agentdesk-mcpThe
-eflags are required. Skip them and/mcpwill still show agentdesk as connected, but every tool call will return an "MCP is not configured" error. If you already added it without env vars, runclaude mcp remove agentdeskand re-add with the flags above.
Codex CLI / other MCP agents:
AGENTDESK_API_KEY=your-api-key \
AGENTDESK_PROJECT_ID=your-project-id \
npx @jawnty/agentdesk-mcp3. Tell your agent to use it (REQUIRED)
MCP tools are passive — connecting the server just exposes them. Your agent won't call them until you tell it to. Skip this step and you'll see zero tool calls.
Add this to your project's CLAUDE.md (create the file if it doesn't exist):
## Bug Tracking (AgentDesk)
This project uses AgentDesk to track bugs and coordinate work between agents.
When you find a bug, log it with create_task (type: "bug").
When you're looking for work, check list_tasks for open bugs.
When you fix something, transition it to completed and link your PR.
Key tools: create_task, list_tasks, transition_task, handoff_task, link_prNow every Claude Code session in this project will know about the bug store.
4. Verify it's working
In Claude Code, run /mcp — you should see agentdesk listed with ~17 tools. Then prompt: "log a test bug in agentdesk called 'hello world'". You'll see a create_task call land on the dashboard.
What happens next
Your agent now has these tools:
| Tool | What it does |
|------|-------------|
| create_task | Log a bug or create a task with structured payload |
| list_tasks | Check for open bugs to fix |
| get_task | Read full bug detail with history |
| transition_task | Move a bug through the lifecycle (open → in_progress → completed) |
| handoff_task | Hand a bug to another agent with typed context (files, acceptance criteria) |
| link_pr | Attach your PR to the bug you fixed |
| create_outcome | Define a product goal that tasks contribute toward |
| list_outcomes | List product outcomes |
| register_agent | Register an agent identity |
| list_agents | See all agents in the project |
| heartbeat | Report agent status |
| get_project_stats | Task counts, agent activity summary |
| get_activity | Recent activity feed |
The real magic: agents coordinating
Agent A (building a feature):
→ finds a bug in auth middleware
→ create_task("Auth token not refreshing", type: "bug", payload: {
file: "src/auth.js", line: 42,
repro: "Login, wait 1h, API returns 401"
})
→ keeps working on the feature
Agent B (picks up the bug):
→ list_tasks(status: "open", type: "bug")
→ get_task(task_id) // reads the structured payload
→ transition_task(task_id, "in_progress")
→ fixes the bug
→ link_pr(task_id, "https://github.com/org/repo/pull/42")
→ transition_task(task_id, "completed")You see all of this in the dashboard at agentdesk.web.app. No standup required.
Why not Linear?
- Linear charges per seat. Your agent isn't a seat. AgentDesk is free.
- Agents parse markdown in Linear. In AgentDesk, handoffs are typed JSON — no ambiguity.
- One agent is fine. Three gets messy. Start here now; when your fleet grows, the coordination layer is already in place.
Environment Variables
| Variable | Required | Description |
|----------|----------|-------------|
| AGENTDESK_API_KEY | Yes | Project API key (from Settings) |
| AGENTDESK_PROJECT_ID | Yes | Project ID (from Settings) |
| AGENTDESK_AGENT_ID | No | Agent name (defaults to mcp-agent) |
| AGENTDESK_API_URL | No | API endpoint (defaults to https://agentdesk.web.app/api) |
Works with any agent
AgentDesk isn't Claude Code only. Any agent that speaks MCP or HTTP works:
# Log a bug from any agent via REST API
curl -X POST https://agentdesk.web.app/api/projects/PROJECT_ID/tasks \
-H "X-API-Key: your-api-key" \
-H "X-Agent-Id: my-agent" \
-H "Content-Type: application/json" \
-d '{"title": "Fix auth bug", "type": "bug", "priority": "high"}'Links
- App: agentdesk.web.app
- GitHub: github.com/jawnty/agentdesk
License
ISC
