Coordination MCP

Coordination MCP

Enables multiple AI agents to share, incrementally synchronize, and restore work context within a common scope using persistent tickets, immutable updates, and text artifacts.

Category
访问服务器

README

Coordination MCP

Coordination MCP 是一个面向多个 AI 参与者的轻量级共享工作状态服务。它通过 MCP 提供持久化的 Ticket、不可变 Update 和文本型 Artifact,让 ChatGPT、local AI 和 coding agent 在同一个 Scope 中共享、增量同步并恢复工作上下文。

V0.1 能做什么

  • Ticket:保存一项工作的当前状态,可更新 title、status、artifact_ids 和 meta。
  • Update:保存已经发生的事实、发现、决定或结果,按 Scope 分配单调递增的 seq。
  • Artifact:保存不可变的共享文本内容,例如 Markdown、日志或长文档。
  • 所有对象由服务端分配全局唯一 ID。
  • Ticket 和 Artifact 的引用必须属于同一个 Scope。

V0.1 不包含 authentication、workflow engine、queue acknowledgement、relationship graph、wake-up notification 和 binary artifact 支持。

推荐使用模式

  • Ticket 表示一个持续工作项的当前可变状态;它不是事件日志。
  • Update 表示工作时间线中已经发生的不可变事件,例如 request、finding、decision 或 result。
  • Artifact 表示不可变的长文本内容;长 review、规格或日志应放入 Artifact,不要塞进 Update,并通过 artifact_ids 建立关联。
  • created_by 应使用跨运行和跨 agent 稳定的 participant label,例如 chatgpt、pi-local-agent,不要每次使用随机或变化的名称,以保持时间线归属清晰。该字段用于 provenance,不是 authentication。

一个典型的 review loop 是:local AI 通过 Update 请求 review → ChatGPT 将完整 review 保存为 Artifact,并通过 Update 返回摘要和 artifact_ids → local AI 修复代码并追加 result Update → ChatGPT 重新 review。

快速开始

要求:Node.js 24+。

cd /path/to/coordination-mcp
npm install
npm run build
node dist/main.js

服务默认监听:

http://127.0.0.1:3000/mcp

也可以直接运行开发版本:

npm run dev

服务只绑定 127.0.0.1。如果需要让远程 ChatGPT 访问,应通过安全 tunnel 暴露 MCP endpoint,不要直接把 Node.js 服务暴露到公网。V0.1 暂无 authentication。

配置

配置优先级从低到高为:

代码默认值 < config/default.yml < ~/.coordination-mcp/config.yml < --profile < 环境变量

用户配置

创建用户配置:

mkdir -p ~/.coordination-mcp
$EDITOR ~/.coordination-mcp/config.yml

示例:

port: 43721
allowedHosts:
  - 127.0.0.1
  - localhost
# dataDirectory: /absolute/path/to/coordination-data

~/.coordination-mcp/config.yml 是可选的,不会由服务自动生成。未设置 dataDirectory 时,默认使用:

~/.coordination-mcp/data

建议将自定义 dataDirectory 写成绝对路径。相对路径会按进程启动时的 current working directory 解析。

Profile

Profile 路径相对于 current working directory 解析;指定后文件必须存在:

node dist/main.js --profile config/local.yml
node dist/main.js --profile=/absolute/path/to/local.yml

Profile 只覆盖它声明的字段,未声明的字段继续继承前面的配置。

环境变量

PORT=43721 \
COORDINATION_DATA_DIR=/absolute/path/to/data \
COORDINATION_ALLOWED_HOSTS=127.0.0.1,localhost \
node dist/main.js

支持的环境变量:

变量 说明
PORT HTTP 端口,范围为 0 到 65535
COORDINATION_DATA_DIR 数据目录
COORDINATION_ALLOWED_HOSTS 允许的 Host,使用逗号分隔

配置文件只在服务启动时读取;修改后需要重启 main.js。

MCP Tools

服务通过 POST /mcp 提供以下 8 个 tools:

Tool 用途
list_tickets 列出一个 Scope 中的 Tickets
get_ticket 读取单个 Ticket
create_ticket 创建 Ticket
update_ticket 更新 Ticket 的可变字段
list_updates 按 seq 增量读取 Updates
add_update 追加不可变 Update
create_artifact 创建不可变文本 Artifact
get_artifact 读取单个 Artifact

MCP 初始化示例

curl -N \
  -H 'Accept: application/json, text/event-stream' \
  -H 'Content-Type: application/json' \
  -H 'mcp-protocol-version: 2025-03-26' \
  -X POST http://127.0.0.1:3000/mcp \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "initialize",
    "params": {
      "protocolVersion": "2025-03-26",
      "capabilities": {},
      "clientInfo": {
        "name": "manual-client",
        "version": "0.1.0"
      }
    }
  }'

创建 Ticket 示例

tools/call 的参数示例:

{
  "name": "create_ticket",
  "arguments": {
    "scope": "coordination-mcp",
    "title": "Review the MCP integration",
    "created_by": "local-ai",
    "status": "open",
    "meta": {
      "priority": "high"
    }
  }
}

数据存储

默认数据目录按需创建;仅启动服务或执行读取操作不会创建数据目录。第一次写入 Ticket、Update 或 Artifact 时,会创建类似以下结构:

~/.coordination-mcp/
├── config.yml                 # 可选用户配置
└── data/
    └── scopes/
        └── <base64url-scope>/
            ├── tickets/
            │   └── T-*.json
            ├── updates.jsonl
            └── artifacts/
                └── A-*.json
  • Ticket 和 Artifact 使用独立的 pretty-printed JSON 文件。
  • 一个 Scope 的 Updates 使用 append-only JSONL 文件;读取时会忽略最后一个未换行且无法解析的损坏尾记录,但不会隐藏已完整换行记录中的 JSON 损坏。
  • 新建目录使用 0700,新建数据文件使用 0600。
  • V0.1 使用单进程内的 Scope mutex;不支持跨进程锁或分布式部署。

开发与验证

npm test
npm run check
npm run build

项目文档

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选