Coordination MCP
Coordination MCP
Coordination MCP — это лёгкий сервис общего рабочего состояния для нескольких ИИ-участников. Через MCP он предоставляет персистентные Ticket, неизменяемые Update и текстовые Artifact, позволяя ChatGPT, локальным ИИ и кодинг-агентам в одном Scope обмениваться, инкрементально синхронизировать и восстанавливать рабочий контекст.
Возможности V0.1
Ticket: сохраняет текущее состояние работы; можно обновлятьtitle,status,artifact_idsиmeta.Update: сохраняет уже произошедшие факты, находки, решения или результаты; в рамках каждогоScopeназначается монотонно возрастающийseq.Artifact: хранит неизменяемое общее текстовое содержимое, например Markdown, логи или длинные документы.Все объекты получают глобально уникальный ID, назначаемый сервером.
Ссылки на
TicketиArtifactдолжны принадлежать одному и тому жеScope.
V0.1 не включает аутентификацию, движок рабочих процессов, подтверждение очереди, граф связей, wake-up-уведомления и поддержку бинарных артефактов.
Related MCP server: AgentDrive MCP Server
Рекомендуемые сценарии использования
Ticketпредставляет текущее изменяемое состояние постоянной работы; это не журнал событий.Updateпредставляет неизменяемые события, которые уже произошли в хронологии работы: например, запрос, вывод, решение или результат.Artifactпредставляет неизменяемое длинное текстовое содержимое; длинные ревью, спецификации или логи кладите вArtifact, а не упаковывайте вUpdate; связь задаётся черезartifact_ids.Поле
created_byдолжно содержать стабильную метку участника, не меняющуюся между запусками и между агентами, напримерchatgptилиpi-local-agent. Не используйте каждый раз случайные или изменяющиеся имена — так принадлежность записей на таймлайн-панели остаётся понятной. Поле используется для определения provenance, а не для authentication.
Типичный цикл ревью выглядит так: локальный агент через Update запрашивает ревью → ChatGPT сохраняет полный ревью в Artifact и через Update возвращает краткое резюме и artifact_ids → локальный агент исправляет код и добавляет итоговый Update → ChatGPT делает повторное ревью.
Быстрый старт
Требования: Node.js 24+.
cd /path/to/coordination-mcp
npm install
npm run build
node dist/main.jsСервис по умолчанию слушает:
http://127.0.0.1:3000/mcpТакже можно запустить dev-версию напрямую:
npm run devСервис привязывается только к 127.0.0.1. Если нужен доступ для удалённого ChatGPT, открывайте MCP endpoint через безопасный туннель и не выставляйте Node.js-сервис напрямую в публичный интернет. В V0.1 аутентификации пока нет.
Конфигурация
Приоритет конфигурации (от низкого к высокому):
代码默认值 < 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
Путь профиля резолвится относительно current working directory; после указания файл должен существовать:
node dist/main.js --profile config/local.yml
node dist/main.js --profile=/absolute/path/to/local.ymlПрофиль перекрывает только те поля, которые в нём объявлены; не объявленные в нём поля продолжают наследоваться из предыдущей конфигурации.
Переменные окружения
PORT=43721 \
COORDINATION_DATA_DIR=/absolute/path/to/data \
COORDINATION_ALLOWED_HOSTS=127.0.0.1,localhost \
node dist/main.jsПоддерживаемые переменные окружения:
Переменная | Описание |
| HTTP-порт, диапазон от |
| Каталог данных |
| Разрешённые |
Конфигурационный файл считывается только при запуске сервиса; после его изменения нужно перезапустить main.js.
MCP Tools
Сервис предоставляет следующие 8 tools через POST /mcp:
Tool | Назначение |
| список Tickets в |
| чтение одного Ticket |
| создание Ticket |
| обновление изменяемых полей Ticket |
| инкрементальное чтение Updates по |
| добавить неизменяемый Update |
| создать неизменяемый текстовый 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-файл.
Updates одного
Scopeхранятся в файле формата JSONL с append-only записью; при чтении игнорируется последняя повреждённая хвостовая запись без перевода строки, которую невозможно разобрать, но повреждение JSON в записях, корректно завершённых переводом строки, не скрывается.Новые каталоги создаются с правами
0700, новые файлы данных — с правами0600.V0.1 использует мьютекс на
Scopeвнутри одного процесса; межпроцессные блокировки и распределённое развёртывание не поддерживаются.
Разработка и проверка
npm test
npm run check
npm run buildДокументация проекта
Archived implementation architecture# Coordination MCP
Coordination MCP — это лёгкий сервис общего рабочего состояния для нескольких ИИ-участников. Через MCP он предоставляет персистентные Ticket, неизменяемые Update и текстовые Artifact, позволяя ChatGPT, локальным ИИ и кодинг-агентам в одном Scope делиться, инкрементально синхронизировать и восстанавливать рабочий контекст.
Возможности V0.1
Ticket: сохраняет текущее состояние работы; можно обновлятьtitle,status,artifact_idsиmeta.Update: сохраняет уже произошедшие факты, находки, решения или результаты; в рамках каждогоScopeим назначается монотонно возрастающийseq.Artifact: хранит неизменяемое общее текстовое содержимое, например Markdown, логи или длинные документы.Все объекты получают глобально уникальный ID, назначаемый сервером.
Ссылки на
TicketиArtifactдолжны принадлежать одному и тому жеScope.
V0.1 не включает аутентификацию, движок рабочих процессов, подтверждение очереди, граф связей, wake-up-уведомления и поддержку бинарных артефактов.
Рекомендуемые сценарии использования
Ticketпредставляет текущее изменяемое состояние текущей работы; это не журнал событий.Updateпредставляет неизменяемые события, которые уже произошли в хронологии работы: например, request, finding, decision или result.Artifactпредставляет неизменяемое длинное текстовое содержимое; длинные review, спецификации или логи следует помещать вArtifact, а не втискивать вUpdate; связь задаётся черезartifact_ids.В
created_byследует использовать стабильную метку участника, которая не меняется между запусками и между агентами, напримерchatgptилиpi-local-agent, а не случайные или изменяющиеся имена — это сохраняет ясную принадлежность записей в хронологии. Поле используется для определения provenance, а не для authentication.
Типичный цикл review: локальный ИИ-агент запрашивает review через Update → ChatGPT сохраняет полный review как Artifact и возвращает через Update краткое резюме и artifact_ids → локальный ИИ-агент исправляет код и добавляет итоговый 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Также можно запустить dev-версию напрямую:
npm run devСервис привязывается только к 127.0.0.1. Если нужен доступ для удалённого ChatGPT, следует открывать MCP endpoint через безопасный туннель и не выставлять Node.js service напрямую в публичную сеть. В V0.1 аутентификация пока не предусмотрена.
Конфигурация
Приоритет конфигурации (от низкого к высокому):
代码默认值 < 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~/.intro-config.yml является необязательным и не создаётся сервисом автоматически. Если dataDirectory не задан, по умолчанию используется:
~/.coordination-mcp/dataРекомендуется указывать dataDirectory в виде абсолютного пути. Относительный путь будет разрешаться относительно current working directory на момент запуска процесса.
Profile
Путь к профилю разрешается относительно current working directory; при указании файл должен существовать:
node dist/main.js --profile config/local.yml
node dist/main.js --profile=/absolute/path/to/local.ymlПрофиль переопределяет только те поля, которые в нём объявлены; не объявленные поля продолжают наследовать из предыдущей конфигурации.
Переменные окружения
PORT=43721 \
COORDINATION_DATA_DIR=/absolute/path/to/data \
COORDINATION_ALLOWED_HOSTS=127.0.0.1,localhost \
node dist/main.jsПоддерживаемые переменные окружения:
Переменная | Описание |
| HTTP-порт, диапазон от |
| Каталог данных |
| Разрешённые |
Конфигурационный файл считывается только при запуске сервиса; после изменения его нужно перезапускать main.js.
MCP Tools
Сервис предоставляет следующие 8 tools через POST /mcp:
Tool | Назначение |
| список Tickets в указанном |
| чтение одного Ticket |
| создание Ticket |
| обновление изменяемых полей Ticket |
| инкрементальное чтение Updates по |
| добавление неизменяемого Update |
| создание неизменяемого текстового 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-*.jsonTicket и Artifact хранятся в отдельных pretty-printed JSON-файлах.
Updates одного
Scopeхранятся в append-only JSONL-файле; при чтении игнорируется последняя повреждённая запись без перевода строки, которую невозможно разобрать, но повреждение JSON в записях, завершённых полным переводом строки, не скрывается.Новые каталоги создаются с правами
0700, новые файлы данных — с правами0600.V0.1 использует мьютекс на
Scopeв рамках одного процесса; не поддерживаются межпроцессные блокировки или распределённое развёртывание.
Разработка и проверка
npm test
npm run check
npm run buildДокументация проекта
This server cannot be deployed
Maintenance
Related MCP Connectors
- OneLoreOAuthai.onelore
Shared project context for AI agents and teams: docs, tasks, and messages that stay current.
Persistent AI memory with semantic search, conflict detection, and ticketing.
Shared, versioned context that humans and AI agents can publish, review, annotate, and continue.
Durable agent-to-agent handoffs and shared scratchpad for multi-agent workflows.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides persistent context synchronization and memory management for AI agents across sessions and projects, including file indexing, bug tracking, spatial navigation, and agent-to-agent handoff coordination.9 npm3MIT
- AlicenseAqualityDmaintenanceProvides a shared, persistent workspace with versioned files, semantic search, run logging, and cross-agent provenance, allowing agents to maintain context across sessions and tools.208 npmApache 2.0
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to maintain persistent, inspectable understanding through typed, revisable updates, and to coordinate multi-agent work via shared graph-based stigmergy.92 npm1MIT
- AlicenseNot gradedqualityAmaintenanceLocal OS for your AI Agents fleets. ——————- Enables AI agents to coordinate through a durable local board with shared state, ticket lifecycle, evidence-based approvals, and journal-woken handoffs.1Apache 2.0