BoundedRelay
BoundedRelay
BoundedRelay позволяет Claude Code передавать чётко ограниченную задачу локально установленному Codex CLI через MCP. Вызов немедленно возвращает дескриптор задания. Затем Claude может показывать, что делает воркер, эффективно ожидать следующего реального обновления, получать резульат или отменять задание.
Claude Code ── local MCP/stdio ──> BoundedRelay ── codex exec --json ──> Codex
│
├─ policy and resource limits
├─ sanitized live activity
└─ isolated proposal cloneПоддерживаемая топология v0.1 намеренно однонаправленная: Claude Code → BoundedRelay → Codex. BoundedRelay не предоставляет обратного маршрута от Codex к Claude, и воркер никогда не применяет сгенерированные изменения к исходному репозиторию.
[!IMPORTANT] BoundedRelay — независимый проект сообщества. Он не связан с Anthropic или OpenAI, не одобрен ими и не поддерживается этими компаниями. Claude, Claude Code, Codex и OpenAI — товарные знаки соответствующих владельцев.
Версия 0.1.0 — локальный выпуск для разработки. npm-пакет ещё не опубликован, а в v0.1 нет удалённого сервиса, демона, базы данных, постоянного хранилища заданий или журнала аудита.
Зачем нужен BoundedRelay
Видимый вместо замороженного: безопасные метки активности, счётчики событий, прошедшее время, время с последнего обновления, позиция в очереди и опрос с учётом ревизий.
Только чтение по умолчанию: анализ всегда запрашивает песочницу Codex
read-only.Ограниченные полномочия: сервер владеет корнями рабочей области, переопределениями модели, пробросом окружения, тайм-аутами, конкурентностью, выходными данными и лимитами патчей.
Проверка перед изменением: режим предложений работает в одноразовом клоне, проверяет результирующий паτч и никогда не применяет его.
Никакого фальшивого прогресса: BoundedRelay сообщает о наблюдаемой активности жизненного цикла. Он не выдумывает процент выполнения или ETA.
Небольшая публичная поверхность: сфокусированные MCP-инструменты для обнарежения возможностей, проверки рабочей области, отправки, статуса, резульата, отмены и истории.
Что Claude может показывать, пока Codex работает
codex_worker_status возвращает очищенный снимок состояния, например:
{
"status": "running",
"revision": 14,
"progress": {
"phase": "working",
"activity": "running_command",
"activityLabel": "Codex is running a sandboxed command",
"eventCount": 8,
"commandCount": 2,
"messageCount": 0,
"lastEventType": "item.started",
"updatedAt": "2026-08-27T18:30:00.000Z",
"elapsedMs": 12420,
"sinceLastUpdateMs": 180
}
}Поверхность статуса раскрывает фиксированный словарь активности, принадлежащий серверу. Она не раскрывает цепочки расуждений (chain-of-thought), текст команд, аргументы инструментов, пути файлов репозитория из событий или произвольные полезные нагрузки событий Codex.
Related MCP server: cc-in-codex
Где это применимо
Для общей делегации от Claude Code к Codex сначала оцените официальный openai/codex-plugin-cc. Используйте BoundedRelay, если вам нужна именно локальная граница MCP-политики вокруг подпроцесса Codex.
Потребность | С чего начать |
Поддерживаемый вендором UX плагина Claude Code и встроенные процессы проверки |
|
Локальные stdio-инструменты с рабочей областью, окружением, моделью и политикой ресурсов, принадлежащими серверу | BoundedRelay |
Очищенное живое состояние задания с длинным опросом с учётом ревизий | BoundedRelay |
Патч, привязанный к ревизии, из одноразового клона; никогда не применяемый автоматически | BoundedRelay |
Постоянные задания, демон, удалённый многопользовательский сервис или журнал аудита | Не предусмотрено в v0.1 |
Подробности — в сравнении.
Предварительные требования
Node.js
>=22.13.0и npm;Git доступен в
PATH;Codex CLI установлен и аутентифицирован для текущего пользователя операционной системы;
Claude Code с локальной поддержкой stdio MCP;
Git-репозиторий для каждой делегированной задачи.
BoundedRelay использует поддерживаемый неинтерактивный интерфейс codex exec --json. У него нет ввода учётных данных и хранилища учётных данных. Сохранённая аутентификация Codex используется через обычное пользовательское окружение; прямая передача API-токенов — отдельная опция, подключаемая явно.
Быстрый старт из исходного кода
Пакета ещё нет на npm. Клонируйте или скачайте этот репозиторий и запустите его локально.
1. Установите, проверьте и проинспектируйте локальное окружение
git clone <repository-url> bounded-relay
cd bounded-relay
npm ci
npm run check
node dist/cli.js doctordoctor проверяет зависимости, видимые Node, совместимость команд Codex, Git и состояние входа в Codex без обращения к модели.
2. Зарегистрируйте собранного воркера в Claude Code
Выполните эту команду из каталога BoundedRelay, чтобы оболочка записала абсолютный путь. Пользовательская область — рекомендуемый персональный вариант по умолчанию, потому что та же установка доступна, когда Claude Code открывает другие проекты:
WORKER_ENTRY="$(pwd)/dist/cli.js"
claude mcp add \
--transport stdio \
--scope user \
bounded-relay \
-- node "$WORKER_ENTRY" serve--scope user относится лично к вашей учётной записи операционной системы и не сохраняется в репозиторий. Чтобы вместо этого сохранить регистрацию локальной для одного проекта, перейдите в целевой Git-репозиторий перед выполнением команды и используйте --scope local; локальная область принадлежит проекту, в котором выполняется команда.
Затем проверьте:
claude mcp listВнутри Claude Code выполните /mcp. bounded-relay должен отобразиться как подключённый.
3. Выполните первую делегацию в режиме только чтения
Откройте Claude Code внутри Git-репозитория и попросите:
Use bounded-relay to inspect this workspace and start a read-only architecture review.
Poll codex_worker_status with afterRevision so you show each new activity without spam.
When the job completes, retrieve the result and summarize only high-confidence findings.Claude должен использовать codex_worker_workspace, codex_worker_analyze, codex_worker_status и codex_worker_result.
Для macOS, Linux, Windows PowerShell, конфигурации в области проекта, удаления, обновлений и типичных ошибок настройки прочитайте полное руководство по установке и первому запуску.
MCP-инструменты
Инструмент | Назначение |
| Сообщает о совместимости, готовности входа, действующих лимитах, доступности предложений и предупреждениях. |
| Разрешает каталог, его Git-границу, точную ревизию, чистоту и готовность к предложениям. |
| Ставит в очередь ограниченное задание Codex в режиме только чтения. |
| Ставит в очередь изолированное предложение патча; регистрируется только при |
| Читает очищенную активность сейчас или ожидает ревизию новее, чем |
| Читает конечный результат; текст патча предложения требует |
| Отменяет задание в очереди или выполняющееся задание. Повторная отмена безопасна. |
| Выводит ограниченную историю заданий за время жизни процесса в виде |
Стабильные пространства имён протокола и конфигурации v0.1 остаются codex_worker_* и CCW_*. Публичный бренд — BoundedRelay; сохранение этих явных пространств имён позволяет избежать ненужной ломающей миграции до стабилизации контракта.
Прочитайте полный справочник инструментов, включая все состояния активности, входные данные, выходные данные и коды ошибок.
Контракт безопасности
Режим анализа — по умолчанию
Запрашивает песочницу Codex
read-onlyв каноническом разрешённом Git-репозитории.Отклоняет поля, предназначенные только для предложений, такие как
writePathsиexpectedRevision.Возвращает итоговый анализ Codex и метаданные о наблюдаемом использовании.
Режим предложений — отключён по умолчанию
Регистрируется только при запуске сервера с
CCW_ENABLE_PROPOSALS=true.Требует чистое дерево исходников, точный полный Git-идентификатор объекта и явные пути записи относительно репозитория.
Создаёт чистый одноразовый клон на зафиксированной ревизии.
Запускает
workspace-writeтолько внутри этого клона.Отклоняет изменённые ссылки (refs), изменённый
HEAD, файлы вне области действия, защищённые пути, изменения симлинков, патчи превышающие размер и чрезмерное количество изменённых файлов.Возвращает проверенный бинарный патч полного индекса и дайджест SHA-256, затем удаляет клон.
Никогда не применяет, не коммитит, не пушит, не публикует и не развёртывает патч.
Включайте его только после того, как режим только чтения заработает:
claude mcp remove bounded-relay --scope user
claude mcp add \
--env CCW_ENABLE_PROPOSALS=true \
--transport stdio \
--scope user \
bounded-relay \
-- node /absolute/path/to/bounded-relay/dist/cli.js servecodex_worker_result по умолчанию опускает текст патча. Вызывающий должен запросить includePatch=true, проверить возвращённый дайджест, изучить содержимое и отдельно решить, применять ли его. Прочитайте полную модель безопасности перед включением предложений.
Архитектура
flowchart LR
Claude[Claude Code] -->|local MCP over stdio| Relay[BoundedRelay]
Relay --> Policy[Validation and policy]
Policy --> Queue[Bounded in-memory queue]
Queue --> Analyze[Read-only analysis]
Queue --> Proposal[Isolated proposal]
Analyze -->|codex exec --json| Codex[Codex CLI]
Proposal --> Clone[Disposable clean clone]
Clone -->|workspace-write only here| Codex
Codex --> Events[Sanitized activity]
Clone --> Patch[Validated patch artifact]
Events --> Relay
Patch --> RelayСм. Архитектуру и журнал архитектурных решений.
Опциональный рабочий процесс со Spec Kit
Spec Kit полезен для значительных функций в потребительских проектах, поскольку создаёт проверяемые артефакты спецификации, плана и задач до реализации. Он намеренно не является зависимостью времени выполнения BoundedRelay, и этот репозиторий не поставляет рабочее пространство .specify/.
Рекомендуемая интеграция добавляет три контрольные точки проверки:
Claude составляет план Spec Kit; Codex выполняет ограниченную проверку плана в режиме только чтения, прежде чем задачи будут финализированы.
После генерации задач и успешного прохождения анализа Spec Kit Codex проверяет
spec.md,plan.mdиtasks.mdкак единый межартефактный контракт.После реализации и проверок проекта Claude просматривает diff, а Codex независимо сверяет его с утверждёнными артефактами.
Строгая контрольная точка проверяет закоммиченные артефакты в чистой рабочей области, фиксирует точный Git HEAD и ревизию артефактов и становится устаревшей после изменения любого проверенного артефакта или HEAD. Черновая проверка может исследовать незакоммиченную работу, но её неверсионированные замечания носят рекомендательный характер и не могут удовлетворить строгую контрольную точку.
Используйте закреплённое опциональное руководство по интеграции Spec Kit.
Конфигурация
Безопасные значения по умолчанию не требуют конфигурации проекта.
Переменная | По умолчанию | Значение |
|
| Каталоги, разделённые разделителем платформы, в которые воркер может заходить. |
|
| Регистрирует изолированный инструмент предложений. |
|
| Активные задания Codex в данном процессе сервера. |
|
| Максимальное количество заданий в очереди. |
|
| Тайм-аут задания по умолчанию. |
|
| Максимальный тайм-аут, выбираемый вызывающим. |
|
| Передаёт известные переменные API-токенов в Codex. |
| пусто | Дополнительные имена переменных окружения для передачи. |
Прочитайте Конфигурацию перед передачей секретов или включением предложений.
Чего BoundedRelay не утверждает
Он не выбирает объективно «лучшую» модель. Необязательные значения model и reasoning остаются явными вариантами, внесёнными в белый список сервера.
Он не гарантирует лучший код, меньшее использование токенов или меньшую стоимость.
Он не выдаёт приватную цепочку рассуждений (chain-of-thought) за прогресс.
Он не поддерживает выполнение заданий после завершения процесса stdio-сервера.
Он не предотвращает записи, выполняемые вручную или несвязанными инструментами.
Он не переводит Codex в автономный режим и не изменяет политики хранения данных провайдера.
Он не применяет автоматически, не коммитит, не пушит, не публикует, не развёртывает и не изменяет удалённое состояние.
Документация
Статус проекта
0.1.0 намеренно является предстабильной версией. Контракты могут измениться до 1.0.0. Перед обновлением проверьте CHANGELOG.md и заметки о совместимости.
Участие в разработке, безопасность и поддержка
Прочтите CONTRIBUTING.md перед открытием pull request.
Сообщайте об уязвимостях конфиденциально через SECURITY.md.
Используйте SUPPORT.md для получения информации о границах поддержки и диагностических данных.
Лицензия
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
- AlicenseAqualityDmaintenanceEnables Claude Code to delegate tasks to OpenAI's Codex CLI (GPT-5.4) with structured execution traces, parallel execution, session persistence, and adversarial code review.15MIT
- AlicenseBqualityCmaintenanceEnables Codex to manage a local Claude Code companion through MCP, implementing a dual-agent workflow where Codex handles reasoning and review while Claude Code performs engineering tasks.181MIT
- AlicenseNot gradedqualityBmaintenanceMCP bridge for using local Claude CLI as a bounded reviewer and analysis delegate for Codex.MIT
- AlicenseNot gradedqualityBmaintenanceEnables Codex to delegate bounded engineering jobs to Claude Code CLI in isolated Git worktrees with strict security and allowance pacing.MIT
Related MCP Connectors
A paid remote MCP for OpenAI Codex agent coordination MCP, built to return verdicts, receipts, usage
A paid remote MCP for OpenAI Codex context compressor, built to return verdicts, receipts, usage log
Paid remote MCP for Claude Code skill update gate MCP, structured receipts, audit logs, and reviewer
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/mohammad19974/bounded-relay'
If you have feedback or need assistance with the MCP directory API, please join our Discord server