A lightweight MCP task server for any MCP-compatible client. Create tasks, claim them, complete them. Works with Claude Code, ChatGPT, Gemini, Cursor, Windsurf, Cline, or any tool supporting the MCP standard.
{
"mcpServers": {
"dispatch": {
"command": "npx",
"args": ["@rezzedai/dispatch"]
}
}
}dispatch gives Claude Code a simple task queue via MCP. Four tools, one SQLite database, zero configuration.
- create_task — Add a task to the queue
- get_tasks — List tasks by status
- claim_task — Mark a task as in-progress
- complete_task — Mark a task as done
No accounts. No cloud. No config files. Just tasks.
npm install -g @rezzedai/dispatchThen add to your Claude Code MCP config (.claude.json or .mcp.json):
{
"mcpServers": {
"dispatch": {
"command": "npx",
"args": ["@rezzedai/dispatch"]
}
}
}Requirements: Node.js 18+
Once configured, any MCP client can use dispatch naturally:
"Create a task to refactor the auth module"
→ create_task(title: "Refactor auth module", description: "Migrate to JWT", priority: "high")
→ Task created: abc-123
"What tasks are pending?"
→ get_tasks(status: "pending")
→ 1 task: "Refactor auth module" (high priority)
"Claim the auth task and start working"
→ claim_task(taskId: "abc-123")
→ Task claimed.
"Done with the auth refactor"
→ complete_task(taskId: "abc-123", result: "Migrated to JWT. 12 endpoints updated.")
→ Task completed.
Create a new task in the queue.
| Parameter | Type | Required | Description |
|---|---|---|---|
title |
string | Yes | Task title (max 200 chars) |
description |
string | No | Detailed description (max 4000 chars) |
priority |
string | No | low, normal (default), high |
List tasks by status.
| Parameter | Type | Required | Description |
|---|---|---|---|
status |
string | No | pending (default), active, done, all |
limit |
number | No | Max results (default 10, max 50) |
Claim a pending task to start working on it.
| Parameter | Type | Required | Description |
|---|---|---|---|
taskId |
string | Yes | The task ID to claim |
Mark a task as done.
| Parameter | Type | Required | Description |
|---|---|---|---|
taskId |
string | Yes | The task ID to complete |
result |
string | No | Summary of what was done (max 2000 chars) |
pending → active → done
Create a task → it's pending. Claim it → it's active. Complete it → it's done.
All data lives in ~/.dispatch/tasks.db (SQLite). One file, one table. No daemon, no cloud, no network calls.
CREATE TABLE tasks (
id TEXT PRIMARY KEY,
title TEXT NOT NULL,
description TEXT,
priority TEXT DEFAULT 'normal',
status TEXT DEFAULT 'pending',
result TEXT,
created_at TEXT,
claimed_at TEXT,
completed_at TEXT
);You could manage tasks in tasks.json. But dispatch adds:
- MCP integration — Claude Code uses tasks naturally through conversation
- Atomic operations — SQLite transactions prevent corruption
- Status lifecycle — Proper state machine with timestamps
- Query filtering — Get tasks by status, by priority
- Zero config —
npx @rezzedai/dispatchand it works
| Runtime | Node.js 18+ |
| Transport | stdio (standard MCP server) |
| Storage | SQLite via better-sqlite3 |
| Dependencies | better-sqlite3, @modelcontextprotocol/sdk |
| Network | None. No API calls, no telemetry. |
| Size | < 300 lines of core logic |
More tools coming from the @rezzedai toolkit. See rezzed.ai for updates.
MIT
Built by Rezzed — the AI product studio.