Skip to main content
Glama

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):

  1. Проверь перед началомboard_view + recall для открытых задач и предыдущих решений

  2. Заяви перед сборкой — никакого кода, пока ticket_claim не завершится успешно; живые владельцы блокируют повторные заявки

  3. Запоминай важное — факты, решения и уроки (ошибка → корневая причина → исправление) через remember, доступные для поиска через recall; почти дубликаты отклоняются, а каждый whoami показывает новейшие уроки, чтобы ни один агент не повторил ошибку, за которую другой уже заплатил

  4. Объявляй свои правкиclaim_files предупреждает других живых агентов о ваших путях

  5. Закрывай с доказательствами — вывод тестов / 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 brain

new читает ваш план, определяет, что установлено, и предлагает, какие инструменты нужны этому проекту — 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

claude

~/.claude/.credentials.json

Codex

codex login

~/.codex/auth.json

Gemini CLI

gemini

~/.gemini/oauth_creds.json

Cursor / Kiro / Antigravity

собственный вход IDE

собственное хранилище IDE

Итак, настройка такова: установите инструмент, войдите в него один раз обычным способом — готово. ConnectR никогда не видит, не хранит и не передаёт учётные данные — единственное, что он с ними делает, это проверяет, что файл существует, чтобы сообщить вам, что инструмент готов.

Именно поэтому это ничего не стоит сверх того, что вы уже платите: поскольку работа выполняется через CLI, она списывается с вашей существующей подписки Claude Pro/Max, ChatGPT Plus или Google, а не по тарифам за токены API.

Проверьте готовность перед диспетчеризацией:

connectr doctor
tools:
  [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"
    }
  ]
}

Поле

Значение

id

то, на что вы маршрутизируете: @opencode, --tool opencode

kind

dispatch (ConnectR запускает его) или participant (он подключается к мозгу через MCP, а человек управляет им)

bin

исполняемый файл для поиска в PATH

args

шаблон команды. Подставляются {cwd} {model} {prompt} {mode}; {mode} — это место, куда попадают флаги разрешений

modelArgs

добавляются только при заданной модели — именно это делает маршрутизацию на уровне моделей для вашего инструмента

modes

флаги для каждого профиля разрешений; оставьте safe/auto пустыми, если у инструмента нет ограничений

prompt

stdin (по умолчанию) передаёт задачу процессу; arg помещает её в {prompt}

authFile

относительный к домашнему каталогу файл учётных данных, проверяется только на существование, чтобы doctor мог сказать вам, что инструмент вошёл в систему

signInHint

команда, которую doctor предлагает, когда эти учётные данные отсутствуют

Записи 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

чтение + план + общий мозг; запись заблокирована

--allowedTools mcp__connectr

--sandbox read-only

--approval-mode default

auto

правки разрешены, всё остальное остаётся ограниченным

--permission-mode acceptEdits + доступ к мозгу

--full-auto

--approval-mode auto_edit

yolo

без ограничений (старое поведение, теперь по желанию)

--dangerously-skip-permissions

--dangerously-bypass-approvals-and-sandbox

--approval-mode yolo

В режимах safe/auto действия, которые собственные настройки инструмента не разрешают, просто завершаются ошибкой, а не запрашивают подтверждение — неинтерактивные агенты не могут отвечать на запросы. Разрешите специфичные для проекта команды (тестовые раннеры и т.д.) в настройках каждого инструмента, если хотите, чтобы агенты auto проверяли свою работу.

Перезапустите ваши инструменты кодирования, чтобы они подхватили новую конфигурацию MCP. Затем просто скажите любому агенту:

"Используй connectr: whoami, проверь доску, заяви тикет и начинай."

10 MCP-инструментов

Инструмент

Назначение

whoami

регистрация личности; просмотр живых коллег + сводка доски

remember / recall

общая память для всех инструментов: kind = fact / decision / lesson (+fix), дедупликация

Маршрутизация обучается на результатах, вплоть до модели. Каждый закрытый тикет записывает, какой инструмент — и какая модель, поскольку агенты сообщают о себе, — завершил, провалил или потерял какую категорию работы. При 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

.mcp.json + блок CLAUDE.md

протестировано от начала до конца

Cursor

.cursor/mcp.json + правила .mdc

схема проверена

Kiro

.kiro/settings/mcp.json + руководящий документ

схема проверена

Gemini CLI

~/.gemini/settings.json + GEMINI.md

схема проверена

Codex

[mcp_servers.connectr] TOML append

схема проверена

Antigravity

~/.gemini/antigravity-ide/mcp_config.json

схема проверена

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

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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