connectr
ConnectR
Один общий мозг для всех ваших ИИ-агентов кодирования.
ConnectR — это локальный MCP-сервер, который даёт Claude Code, Codex, Cursor, Kiro, Gemini CLI и Antigravity единое место для координации: одна доска задач, одна память и предупредительные заявки на файлы — чтобы несколько агентов могли работать над одним репозиторием одновременно, не дублируя работу и не перезаписывая друг друга.
Claude Code ─┐ ┌─ shared ticket board
Codex ────┤──▶ connectr MCP server ─┼─ shared facts/decisions memory
Cursor ────┤ (one JSON store) └─ advisory file claims
Kiro/Gemini ─┘ Antigravity ──┘Зачем
Запустите двух агентов кодирования в одном репозитории — и они столкнутся: оба редактируют одни и те же файлы, оба переделывают одну и ту же задачу, и ни один не знает, что узнал другой. ConnectR решает это с помощью общего состояния вместо общего процесса — каждый агент подключается к одному и тому же крошечному хранилищу через уже знакомые ему MCP-инструменты.
Протокол (внедряется в файл инструкций каждого инструмента командой connectr init):
Проверь перед началом —
board_view+recallдля открытых задач и предыдущих решенийЗаяви перед сборкой — никакого кода, пока
ticket_claimне завершится успешно; живые владельцы блокируют повторные заявкиЗапоминай важное — факты, решения и уроки (ошибка → корневая причина → исправление) через
remember, доступные для поиска черезrecall; почти дубликаты отклоняются, а каждыйwhoamiпоказывает новейшие уроки, чтобы ни один агент не повторил ошибку, за которую другой уже заплатилОбъявляй свои правки —
claim_filesпредупреждает других живых агентов о ваших путяхЗакрывай с доказательствами — вывод тестов / SHA коммитов через
ticket_update, затемticket_close+ резолюция
Related MCP server: mcp-coordinator
Установка и использование
npm install -g connectr-mcpНачинаете совершенно новый проект? Позвольте ConnectR собрать оркестр:
connectr new my-app --plan brief.md # folder + PLAN.md + suggested tools, one brainnew читает ваш план, определяет, что установлено, и предлагает, какие инструменты нужны этому проекту — CLI для диспетчеризации, сопоставленные по областям (бэкенд→claude-code, скрипты→codex, документация→gemini), и установленные IDE (Cursor/Kiro/Antigravity), присоединяющиеся как участники через MCP. Подтвердите или переопределите (--tools claude-code,codex), и он подключит только их, сохранит план в промпт каждого диспетчеризованного агента и создаст тикет №1: «Разбейте PLAN.md на тикеты» — запустите его, и доска заполнится сама.
В существующем проекте, над которым работают несколько агентов:
connectr init # wires project-scope configs: .mcp.json (Claude Code),
# .cursor/mcp.json, .kiro/settings/mcp.json,
# CLAUDE.md / AGENTS.md / GEMINI.md protocol blocks,
# Cursor rules + Kiro steering docs
connectr init --global # also wires Codex (~/.codex/config.toml),
# Gemini CLI (~/.gemini/settings.json),
# Antigravity (~/.gemini/antigravity-ide/mcp_config.json)
connectr doctor # verify wiring
connectr plan "add JWT auth, tests for it, and update the docs" # describe an outcome
connectr plan "..." --run # ...and dispatch what it plans
connectr task add "fix the auth flow" # auto-routed to the best tool
connectr task add "migrate db" --tool codex --model gpt-5-codex # manual tool + model
connectr run # dispatch open tasks to their routed tools, in parallel
connectr routes # learned routing: how past outcomes reshape where tasks go
connectr dash # live TUI host: a add task · r dispatch · l tail run log · q quit
connectr ui # the same host as a local web dashboard (http://127.0.0.1:4270)connectr ui запускает панель управления без зависимостей, привязанную к localhost: доска тикетов в виде колонок канбана, живые агенты, общая память со значками уроков, заявки на файлы и хвосты журналов запуска — обновляется в реальном времени через SSE. Добавляйте задачи (тот же синтаксис @tool:model) и диспетчеризуйте открытые тикеты из браузера; диспетчеризация всегда сначала показывает план и режим разрешений и просит подтверждения.
connectr plan — это входная дверь: вы описываете результат, и ConnectR размещает его на доске как тикет планировщика и диспетчеризует его. Агент, который его заявляет, читает ваш репозиторий, доску и общую память, затем создаёт настоящие тикеты — с заголовками, которые хорошо маршрутизируются, с опубликованными контрактами для тикета, который другой будет строить. Вы никогда не пишете тикет вручную. В веб-панели то же самое — кнопка Plan it (Enter); Add as one task (shift+Enter) — запасной вариант, когда вы уже точно знаете, чего хотите.
В панели a открывает поле ввода — title автоматически маршрутизирует, title @codex:gpt-5-codex назначает инструмент и модель вручную. r показывает план диспетчеризации и режим разрешений; повторное нажатие r подтверждает. Агенты запускаются отсоединённо, поэтому продолжают работать после выхода из панели.
Учётные записи и подписки
Подключать нечего. У ConnectR нет учётных записей, API-ключей, OAuth или экрана входа. Он диспетчеризует работу, запуская уже установленный вами CLI как дочерний процесс — этот дочерний процесс читает свои собственные учётные данные из своего собственного места в вашем домашнем каталоге:
Инструмент | Вход через | Хранение учётных данных |
Claude Code |
|
|
Codex |
|
|
Gemini CLI |
|
|
Cursor / Kiro / Antigravity | собственный вход IDE | собственное хранилище IDE |
Итак, настройка такова: установите инструмент, войдите в него один раз обычным способом — готово. ConnectR никогда не видит, не хранит и не передаёт учётные данные — единственное, что он с ними делает, это проверяет, что файл существует, чтобы сообщить вам, что инструмент готов.
Именно поэтому это ничего не стоит сверх того, что вы уже платите: поскольку работа выполняется через CLI, она списывается с вашей существующей подписки Claude Pro/Max, ChatGPT Plus или Google, а не по тарифам за токены API.
Проверьте готовность перед диспетчеризацией:
connectr doctortools:
[x] claude-code dispatch installed · signed in
[x] codex dispatch installed · signed in
[ ] gemini dispatch signed out - run: gemini
[x] cursor participant joins the brain over MCPИнструмент, не объявляющий файл учётных данных, сообщает «вход не проверяем» вместо предположений — если инструмент хранит учётные данные в связке ключей ОС, ConnectR говорит об этом, а не заявляет состояние, которое не может проверить.
Добавление другого инструмента кодирования
Инструменты ConnectR — это данные, а не код. Три ниже встроены; всё остальное, что вы запускаете, — это JSON-объект в .connectr/config.json в разделе tools — без форка, без PR, без пересборки:
{
"tools": [
{
"id": "opencode",
"kind": "dispatch",
"bin": "opencode",
"args": ["opencode", "run", "{mode}", "{prompt}"],
"modelArgs": ["--model", "{model}"],
"modes": { "safe": [], "auto": [], "yolo": ["--yolo"] },
"prompt": "arg"
}
]
}Поле | Значение |
| то, на что вы маршрутизируете: |
|
|
| исполняемый файл для поиска в PATH |
| шаблон команды. Подставляются |
| добавляются только при заданной модели — именно это делает маршрутизацию на уровне моделей для вашего инструмента |
| флаги для каждого профиля разрешений; оставьте |
|
|
| относительный к домашнему каталогу файл учётных данных, проверяется только на существование, чтобы |
| команда, которую |
Записи participant нужны только id, kind и homeDir (папка, наличие которой означает, что он установлен) — он подключается к общему мозгу и появляется в оркестре.
Присвоение записи id встроенного инструмента заменяет его — так вы меняете флаги для инструмента, который ConnectR уже знает, не дожидаясь релиза.
Проверьте новый инструмент, прежде чем доверять ему реальную работу:
connectr task add "cli/script: hello world" --tool opencode
connectr run --dry-run # confirm it routes
connectr run # then read .connectr/runs/*.logПервая строка каждого журнала запуска — это точная команда, которую запустил ConnectR, так что неправильный флаг виден с одного взгляда. Только claude-code, codex и gemini проверены на реальных установках здесь — относитесь к любому найденному пресету (включая приведённый выше) как к отправной точке для проверки на своей машине.
Режимы разрешений при диспетчеризации
Диспетчеризованные агенты работают под профилем на проект (по умолчанию auto — никогда не yolo, если вы сами не скажете):
connectr init --mode safe|auto|yolo # saved to .connectr/config.jsonРежим | Значение | claude-code | codex | gemini |
| чтение + план + общий мозг; запись заблокирована |
|
|
|
| правки разрешены, всё остальное остаётся ограниченным |
|
|
|
| без ограничений (старое поведение, теперь по желанию) |
|
|
|
В режимах safe/auto действия, которые собственные настройки инструмента не разрешают, просто завершаются ошибкой, а не запрашивают подтверждение — неинтерактивные агенты не могут отвечать на запросы. Разрешите специфичные для проекта команды (тестовые раннеры и т.д.) в настройках каждого инструмента, если хотите, чтобы агенты auto проверяли свою работу.
Перезапустите ваши инструменты кодирования, чтобы они подхватили новую конфигурацию MCP. Затем просто скажите любому агенту:
"Используй connectr: whoami, проверь доску, заяви тикет и начинай."
10 MCP-инструментов
Инструмент | Назначение |
| регистрация личности; просмотр живых коллег + сводка доски |
| общая память для всех инструментов: |
Маршрутизация обучается на результатах, вплоть до модели. Каждый закрытый тикет записывает, какой инструмент — и какая модель, поскольку агенты сообщают о себе, — завершил, провалил или потерял какую категорию работы. При 3+ результатах в категории цель, превосходящая статическое правило, берёт её на себя, и это может быть другой инструмент или другая модель того же инструмента:
◆ docs|readme|research|…
rule says gemini · outcomes: gemini:gemini-2.5-pro 3w/0l · gemini:gemini-2.5-flash 1w/1l
pick: gemini:gemini-2.5-pro << LEARNED overrideДва предохранителя обеспечивают честность: для переопределения нужно 3+ результата, и нужно, чтобы инструмент самого правила действительно был испробован — иначе «никогда не пробовали» читалось бы как «хуже, чем тот, кто запустился первым», и маршрутизатор окаменел бы. connectr routes показывает всю таблицу с её доказательствами. История вашей доски решает, что лучше всего в чём, в ваших проектах.
| ticket_create / ticket_claim / ticket_update / ticket_close | координация работы; заявка перед сборкой |
| board_view | всё с одного взгляда |
| claim_files / release_files | предупредительные блокировки, автоматическое истечение через 2 часа |
Закрытие тикета требует резолюции — completed, duplicate, wontfix или already_done — чтобы «отгружено» оставалось отличимым от «оказалось ненужным».
Как это работает
Хранилище:
<project>/.connectr/store.json— человекочитаемый JSON, по умолчанию в .gitignore.Параллелизм: межпроцессный файл блокировки (
O_EXCL, захват устаревших после 10 секунд) + атомарные записи через временный файл с переименованием. Переживает сбои; истёкшие заявки автоматически вычищаются.Идентичность: переменная окружения
CONNECTR_AGENT, иначе имя MCP-клиента, иначеanon-<pid>.Транспорт: stdio — единственный транспорт, который каждый перечисленный инструмент поддерживает нативно. Никакого демона, ничего разворачивать.
Проверенная матрица
Цели конфигурации проверены на реальных установках Windows:
Инструмент | Подключённая конфигурация | Статус |
Claude Code |
| протестировано от начала до конца |
Cursor |
| схема проверена |
Kiro |
| схема проверена |
Gemini CLI |
| схема проверена |
Codex |
| схема проверена |
Antigravity |
| схема проверена |
init точен и идемпотентен: он добавляет/обновляет только свои собственные блоки, обёрнутые маркерами, и свою собственную запись connectr — никогда не трогает записи других серверов или секреты.
Разработка
npm install
npm test # vitest suite incl. two-process race test
npm run smoke # drives two real MCP client sessions over stdio:
# cross-process memory recall + live-ticket conflict refusal
npm run build && node dist/cli/index.js init --dry-runЛицензия
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityDmaintenanceA coordination server that enables multiple AI coding agents to work together on the same project by providing shared memory, file locking, decision tracking, and architecture guidance, preventing conflicts and maintaining consistency across sessions.521MIT
- AlicenseNot gradedqualityAmaintenancePrevents AI coding agents from conflicting by coordinating file claims and resolving conflicts in real-time across multiple sessions.3961MIT
- AlicenseNot gradedqualityCmaintenanceEnables multiple AI agents like Claude and Codex to coordinate on the same project through shared tasks, file locks, and a real-time dashboard, preventing conflicts and streamlining collaborative development.121MIT
- AlicenseNot gradedqualityAmaintenanceCoordinates parallel AI coding agents by providing task ownership, scoped file locks, handoffs, and verification workflows.MIT
Related MCP Connectors
Coding agents from Claude Code, Cursor and Codex claim jobs and lock files on one shared board.
One shared brain for your AI coding agents: team memory, agent Q&A, tasks, and file claims.
The team layer for AI coding agents: shared contracts, collision alerts, E2EE sessions.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/JrKrishh/connectr'
If you have feedback or need assistance with the MCP directory API, please join our Discord server