dispatch
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@dispatchcreate a bug ticket for the login page and assign it to me"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Dispatch
A self-hosted, air-gapped issue tracker where MCP is a first-class interface for coding agents.
Quick start ยท Connect an agent ยท MCP tools ยท Architecture ยท Security
One Next.js app + PostgreSQL. No external services, no telemetry, no CDN, no remote fonts or images: it works with zero internet access.
Features
๐ Board and list views, labels, relations, Markdown comments, per-issue activity
โจ๏ธ Command palette (โ/Ctrl + K), keyboard shortcuts (press
?), PostgreSQL-backed search๐ค Built-in MCP server at
http://localhost:15000/mcp(20+ tools) and an agent skill๐ Traceability: structured JSON logs on stdout plus an audit log of every UI and MCP change (Settings โ Audit log)
๐ฅ No accounts. Two fixed actors: you (the UI) and the agent (everything that arrives over MCP). Issues can be assigned to either
Related MCP server: jira-mock-mcp
Quick start
Docker (one command)
docker run -d --name dispatch -p 15000:3000 -v dispatch-data:/data ghcr.io/iwandejong/dispatchOpen http://localhost:15000. No configuration needed: the image bundles PostgreSQL and applies migrations on start. Data lives in the dispatch-data volume.
Docker Compose (separate Postgres container)
git clone https://github.com/iwandejong/dispatch.git && cd dispatch
./scripts/init-env.sh # writes .env with a random database password
docker compose up -dOpen http://localhost:15000, create a project, and start filing issues.
Postgres lives on the internal compose network only (no host port), with a persistent pgdata volume and a health check. The app waits for it and applies migrations on start. No demo data is created.
โ ๏ธ There is no authentication. The app is published on
0.0.0.0:15000. See SECURITY.md before exposing it to a network.
Connect a coding agent
claude mcp add --transport http dispatch http://localhost:15000/mcpThen install the skill so the agent knows how to use the tools well:
ln -s "$PWD/skills/dispatch" ~/.claude/skills/dispatchDetails, other clients and the tool list: MCP.md.
Architecture
Browser โโ โโ Server Actions โโ
โโ Next.js (one app) โโโโค โโ lib/services/* โ Prisma โ PostgreSQL
Agent โโโโ UI ยท auth ยท /mcp โโ MCP tools โโโโโโโ
โโโ audit + JSON logsAll business rules live in lib/services/; UI actions and MCP tools are thin adapters. See ARCHITECTURE.md.
Configuration
Variable | Required | Purpose |
| yes | Database password (compose) |
| set by compose | Postgres connection string |
Logs and audit
docker compose logs -f appshows one JSON line per operation:ts, level, msg, requestId, source (ui|mcp), actor (HUMAN|AGENT), target, ok, error, durationMs. Secret-looking argument keys are redacted and long text truncated.Every mutation and failed operation is also stored in the
AuditLogtable and shown under Settings โ Audit log. Reads (search, get, list) are logged to stdout only.Per-issue history (status, assignee, priority, labels, comments) is under each issue's Activity.
Data, backup, upgrade
Data lives in the
pgdataDocker volume.docker compose downkeeps it;docker compose down -vdeletes it.Backup:
docker compose exec -T postgres pg_dump -U dispatch dispatch > backup.sqlRestore into a fresh stack:
docker compose exec -T postgres psql -U dispatch dispatch < backup.sqlUpgrade:
git pull && docker compose up -d --build(migrations run automatically on start).
Limitations
Single-user by design (you + one agent, no accounts or permissions). Search uses PostgreSQL trigram indexes and is meant for thousands to tens of thousands of issues. Project pages load up to 200 issues. There is no realtime sync between browser tabs.
Development, contributing, security
DEVELOPMENT.md ยท CONTRIBUTING.md ยท SECURITY.md ยท MIT License
This server cannot be deployed
Maintenance
Related MCP Connectors
Roadmap, tasks, releases and user feedback your coding agent reads and writes over MCP.
Kaiku is an issue tracker with a wiki, built so that people and AI agents work in the same place. Its hosted MCP server lets an agent search, read, file and update issues, comment and answer questions, read and write wiki pages, and attach files โ with the permissions of the person whose token it uses. Create a token in Settings โ Connect over MCP and send it as Authorization: Bearer <token> (or in X-Api-Key); the token says which workspace.
Your org's AI agents, tasks, runs, search, and brain files as MCP tools and resources.
Minimal issue tracker: projects, objectives and trackable plans, written by agents over MCP.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables LLM agents to manage projects, track issues, log work, and integrate with Git. Provides 23 MCP tools for full project management capabilities.16-
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with a self-hosted Jira clone for testing, supporting project and issue management, comments, and search via MCP tools.-
- AlicenseNot gradedqualityBmaintenanceMCP server that provides issue tracking tools for Jira, Redmine, GitHub, and GitLab via the Model Context Protocol, enabling agents to search, fetch, sync, and manage issues through natural language.MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to interact with GitHub repositories and issues through MCP tools, supporting listing repositories, listing and searching issues, and retrieving specific issues via the GitHub REST API.-