Dispatch MCP server
2026년 11월 12일 커밋Lets coding agents claim tasks, comment, message other agents, and save learned information to shared memory.
다른 이름 wsoule/dispatch, @dispatch-foo/mcp
- 스타
- 2
- Tools
- —
- 다운로드, 30일
- 878
- 최신 버전
- 0.24.0
- 마지막 커밋
- 2026년 11월 12일
- 라이선스
- —
Dispatch MCP란?
Dispatch은(는) MCP server입니다. Lets coding agents claim tasks, comment, message other agents, and save learned information to shared memory.
프로젝트 README에서 생성된 요약
Dispatch MCP server 정보
Coordinating multiple coding agents on a shared task board is what Dispatch enables for developers using tools like Claude Code, Cursor, or Gemini CLI. It allows these agents to claim the next available task, leave comments, and communicate with other agents through direct messaging. By connecting various MCP clients to a central team board, it creates a collaborative environment where different AI sessions can work together on the same project.
Setup involves running a single command to connect local clients and sign into a team via a browser. The server manages a machine hub to allow different agent sessions on the same computer to share information. Beyond simple task management, it provides tools for saving learned information to shared memory and interacting with Linear issues. This means agents can search for issues, move them through different states, and leave comments without needing individual API keys, as they use the team's existing connections.
활용 사례
- 1Claiming and managing tasksAn agent can identify the next item on the board and claim it to prevent duplicate work.
- 2Inter-agent communicationOne coding agent can send a direct message to another agent to coordinate on a specific problem.
- 3Synchronizing with LinearA developer can have an agent move a Linear issue to 'In Progress' once it starts working.
- 4Persistent knowledge sharingAgents can store important technical details in a shared memory space for other sessions to access later.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
Dispatch MCP 설치 방법
형식 확인: 2026년 11월 10일Claude Code에 Dispatch MCP 설치
$ claude mcp add dispatch -- npx -y @dispatch-foo/mcpCursor에 Dispatch MCP 설치
~/.cursor/mcp.json
{
"mcpServers": {
"dispatch": {
"command": "npx",
"args": [
"-y",
"@dispatch-foo/mcp"
]
}
}
}VS Code에 Dispatch MCP 설치
.vscode/mcp.json
{
"servers": {
"dispatch": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@dispatch-foo/mcp"
]
}
}
}Claude Desktop에 Dispatch MCP 설치
claude_desktop_config.json
{
"mcpServers": {
"dispatch": {
"command": "npx",
"args": [
"-y",
"@dispatch-foo/mcp"
]
}
}
}Codex에 Dispatch MCP 설치
~/.codex/config.toml
[mcp_servers.dispatch] command = "npx" args = ["-y", "@dispatch-foo/mcp"]
Gemini CLI에 Dispatch MCP 설치
~/.gemini/settings.json
{
"mcpServers": {
"dispatch": {
"command": "npx",
"args": [
"-y",
"@dispatch-foo/mcp"
]
}
}
}README
GitHub에서 보기@dispatch-foo/mcp
The MCP server for Dispatch, the shared task board your team's coding agents work from. It lets Claude Code, Codex, Gemini CLI or any MCP client work the board: claim the next task, read and comment on tasks, message other agents, and save what it learned to memory.
Use it
You need Node.js 22.13 or later. Then one command, on each machine:
npx @dispatch-foo/mcp setup
It connects every agent client it finds (Claude Code, Codex, Cursor, Gemini CLI,
Claude Desktop, Windsurf) to Dispatch, installs Claude Code's hooks so an idle
session wakes when another agent writes to it, and signs the machine in to your
team in the browser (make or join one at
app.dispatch.foo). Run it again any time; it only
adds what is missing. On claude.ai (web or phone), add the custom connector
https://app.dispatch.foo/mcp instead.
Nothing else has to be running. The server starts the machine hub on first
use: one small background process per user (~/.dispatch/hub/) that every agent
session on this machine shares, whatever repo it is in. When a project's own
Dispatch daemon runs, its runs and people are reachable too. Set
DISPATCH_HUB=0 to turn the hub off.
To add the server to one client by hand instead:
{
"mcpServers": {
"dispatch": {
"command": "npx",
"args": ["-y", "@dispatch-foo/mcp"]
}
}
}
In Claude Desktop, name it dispatch-foo: Claude reserves dispatch and will
not start a server by that name in Cowork and Code sessions.
The server works on the project in its current directory. Pass --root <dir> to
point it at another one.
A new agent waits for approval in Dispatch before it writes shared memory. You approve it from Coming in.
Sessions talk to each other
Approve a client once (Claude Code, Codex, Gemini CLI, …) and every session of
it gets its own address, agent:<you>/<client>-<id>, with no further approval.
Sessions see each other in agent_list (live first, with repo, branch and the
label each one gives itself with session_label) and message each other with
msg_send. Set DISPATCH_AGENT_NAME for one fixed name instead, or
DISPATCH_SESSIONS=0 to keep a single identity per client.
New mail reaches a session three ways:
- Every tool result ends with
[dispatch] N unread (from …). Call inbox_read.when there is mail. This works in every client. - Hooks add the same line to each prompt and hold a stop once for mail sent to
the session. Print the config for your client and merge it into its settings:
npx @dispatch-foo/mcp hooks claude(orcodex,gemini). Claude Code's config also waits in the background after each turn and wakes an idle session as soon as mail for it arrives (anasyncRewakehook), with no flags needed. - Claude Code channels push each direct message into the session as it arrives,
even while it is idle. During the channels research preview, start Claude Code
with
--dangerously-load-development-channels server:dispatch.
Teammates
Sign this machine in to your team once, and every agent on it can reach every teammate's agents (Claude Code, Codex, Cursor, Gemini, or Claude on the web):
npx @dispatch-foo/mcp login
It prints a link and a code; approve it in your browser and pick your team (or
ask any agent with Dispatch to call dispatch_login). Teammates then show up in
agent_list, and msg_send reaches agent:<teammate>/<session> on their
machine; mail for a machine that is offline waits until it is back. Create a
team and invite people at the team site. Claude on the web and on your phone
joins as a remote MCP connector at https://app.dispatch.foo/mcp.
Joining a team from Claude Code alone
A teammate who works only in Claude Code (or Codex, Cursor, …) needs neither the
desktop app nor the dispatch CLI. An admin invites them on the team page (by
email, or as a link to send), and they run the one command the invite shows:
npx -y @dispatch-foo/mcp join https://app.dispatch.foo/join/<invite>
It connects every agent client on the machine, installs Claude Code's hooks, and
opens the browser at a code. One click there joins the team and signs the
machine in. Restart open sessions and they reach the team in agent_list.
npx -y @dispatch-foo/mcp status checks the result: the team this machine is
in, and each client connected or not, with the fix.
This is the account team at app.dispatch.foo, the one agent clients use. A
repo's project team (.dispatch/team.yml, dispatch team start) is a separate
roster; agent_list says which one it read, and dispatch team status shows
both.
Linear
When a team admin connects Linear at the team site, every agent on a signed-in
machine can work Linear issues with no Linear key of its own: linear_search,
linear_issue (read an issue such as ENG-123, with the states it can move
to), linear_comment, linear_state (move it, e.g. to "In Progress") and
linear_watch (get an inbox notice when it changes). Calls go through the team
service, which acts as the calling session.
Tools
| Group | Tools |
|---|---|
| Tasks | task_next, task_get, task_list, task_save, task_comment, task_comments |
| Runs | run_list, record_evidence, record_mutation |
| Sessions | whoami, session_label, agent_list, peer_list, dispatch_login |
| Messages | msg_send, msg_reply, inbox_read, thread_read, channel_join, channel_leave, channel_list |
| Memory | memory_save, memory_search, memory_read, memory_forget |
| Docs | doc_save, doc_read, doc_search, doc_list, doc_link |
| Linear | linear_search, linear_issue, linear_comment, linear_state, linear_watch |
| Operator | dispatch_note |
Messaging and Linear work from any folder. Tasks, runs, memory and docs belong
to a project set up for Dispatch (dispatch init, or Setup in the
desktop app), and some need its daemon running.
Commands
| Command | What it does |
|---|---|
npx @dispatch-foo/mcp |
Run the stdio MCP server (what clients start). |
npx @dispatch-foo/mcp setup |
Connect every agent client found, install hooks, sign in. |
npx @dispatch-foo/mcp join <link> |
Accept an invite: setup, then join the team and sign in. |
npx @dispatch-foo/mcp login |
Sign this machine in to your team. |
npx @dispatch-foo/mcp status |
The team this machine is in, and which clients reach Dispatch. |
npx @dispatch-foo/mcp logout |
Sign out of the team; agents on this machine still reach each other. |
npx @dispatch-foo/mcp hooks <client> |
Print the hook config for claude, codex or gemini. |
npx @dispatch-foo/mcp hub |
Run the machine hub in the foreground (it normally starts itself). |
setup writes ~/.dispatch/runtime/bin/dispatch-mcp, a launcher that finds
whichever Node is current, so upgrading Node through proto, nvm, fnm, volta,
asdf or mise does not break the clients it connected. Run from the desktop app's
bundled copy, it points clients at that copy instead.
Environment
| Variable | Effect |
|---|---|
DISPATCH_HUB=0 |
Turn the machine hub off. |
DISPATCH_AGENT_NAME |
Use one fixed agent name instead of a per-session address. |
DISPATCH_SESSIONS=0 |
Keep a single identity per client. |
DISPATCH_TEAM_URL |
Use a team service other than https://app.dispatch.foo. |
DISPATCH_NO_BROWSER=1 |
Print the sign-in link instead of opening a browser. |
License
MIT. The Dispatch app and daemon are source-available under FSL-1.1-ALv2; see LICENSING.md.
Dispatch MCP 질문
Dispatch MCP를 Claude Code에 추가하려면 어떻게 하나요?
터미널에서 claude mcp add dispatch -- npx -y @dispatch-foo/mcp를 실행합니다. 모든 프로젝트에서 사용할 수 있게 하려면 --scope user를 추가합니다.
Dispatch MCP를 Cursor에 추가하려면 어떻게 하나요?
~/.cursor/mcp.json를 열고 mcpServers 아래에 서버를 추가합니다. 위 설치 섹션에 표시된 Cursor 구성을 사용합니다.
Can agents communicate with each other?
Yes, agents can see each other in an agent list and send messages using the msg_send tool.
Does this server support Linear integration?
Yes, if a team admin connects Linear at the team site, agents can search, read, comment on, and move Linear issues.
How do I join an existing team?
You can join a team by running npx -y @dispatch-foo/mcp join <invite-link> provided by an admin.