Skip to main content
Glama
TAO-MINGYU

Codex to OpenCode MCP Server

by TAO-MINGYU

Codex to OpenCode MCP Server

Небольшой локальный MCP-сервер (Model Context Protocol), который позволяет Codex делегировать работу над кодом в OpenCode. В нём используются официальный MCP Python SDK, транспорт stdio и асинхронный дочерний процесс OpenCode.

Инструменты

opencode_execute

opencode_execute(
    task: str,
    working_directory: str,
    model: str | None = None,
    reasoning_effort: str | None = None,
    timeout: int = 1800,
)

Выполняет эту команду без оболочки:

opencode run --format json --dir <working_directory> --auto [--model <model>] [--variant <reasoning_effort>] <task>

reasoning_effort сопоставляется со специфичной для провайдера опцией OpenCode --variant. Обычные значения включают minimal, low, medium, high и max, но доступные варианты определяются выбранным провайдером и моделью. MCP-сервер намеренно принимает любое непустое значение, а не применяет принудительное перечисление, зависящее от провайдера.

Пример:

opencode_execute(
    task="Implement uncertainty propagation and run the unit tests.",
    working_directory="C:\\path\\to\\NuSR",
    model="pinche_10/gpt-5.6-sol",
    reasoning_effort="high",
    timeout=1800,
)

Инструмент возвращает структурированный вывод, содержащий:

  • признак успеха, таймаут, код возврата и затраченное время;

  • идентификатор сеанса OpenCode и итоговую сводку ассистента;

  • выполненные вызовы инструментов OpenCode и ошибки;

  • ограниченные по размеру захваты stdout/stderr;

  • итоговые git status --short, git diff --stat и ограниченный unified diff.

Поля Git — это снимки состояния после завершения работы. Они могут включать изменения, которые уже существовали до вызова. Текстовое содержимое неотслеживаемых файлов представлено в виде патчей новых файлов; по бинарным неотслеживаемым файлам сообщаются их путь и размер.

opencode_check

Определяет настроенный исполняемый файл OpenCode и выполняет opencode --version, не изменяя окружение.

Related MCP server: Claude Code Manager WAN

Установка

Требования: Python 3.11+, Git (необязательно для вывода diff) и OpenCode.

git clone https://github.com/TAO-MINGYU/codex_to_opencode.git
cd codex_to_opencode
uv venv --python 3.11 .venv
uv pip install --python .venv\Scripts\python.exe -e ".[dev]"

OpenCode должен быть установлен и аутентифицирован независимо. Сначала проверьте его:

opencode --version
opencode auth list

Десктопное приложение OpenCode и CLI OpenCode — это разные точки входа в Windows. Вызов OpenCode.exe --version, который открывает графический интерфейс и ничего не печатает, не является рабочим CLI. При необходимости установите официальный CLI:

npm install -g opencode-ai

Если opencode отсутствует в PATH, задайте переменную OPENCODE_MCP_COMMAND, указав абсолютный путь к исполняемому файлу. В npm-установках на Windows предпочитайте нативный бинарник в каталоге node_modules\opencode-ai\bin\opencode.exe; сервер также автоматически обнаруживает и обходит обёртку opencode.cmd.

Подключение Codex

Подключите сервер через Codex CLI — так не придётся редактировать конфигурацию вручную:

codex mcp add opencode --env OPENCODE_MCP_COMMAND=C:\path\to\opencode.exe -- C:\path\to\opencode-mcp\.venv\Scripts\python.exe -m opencode_mcp.server

Когда OpenCode уже есть в PATH, просто опустите опцию --env:

codex mcp add opencode -- C:\path\to\opencode-mcp\.venv\Scripts\python.exe -m opencode_mcp.server

Затем проверьте регистрацию:

codex mcp list

После изменения конфигурации MCP перезапустите Codex. Сервер записывает протокольные сообщения только в stdout, а журналы направляет в stderr, как требует MCP-серверов c транспортом stdio.

Конфигурация

Переменная окружения

По умолчанию

Назначение

OPENCODE_MCP_COMMAND

opencode

Имя исполняемого файла или абсолютный путь

OPENCODE_MCP_ARGS

[]

JSON-массив, вставляемый сразу после исполняемого файла (удобно для обёрток/тестов)

OPENCODE_MCP_AUTO_APPROVE

true

Добавление флага разрешений --auto для OpenCode

OPENCODE_MCP_MAX_OUTPUT_BYTES

2097152

Количество конечных байт, сохраняемых по отдельности для stdout и stderr

OPENCODE_MCP_LOG_LEVEL

INFO

Уровень журналирования сервера, выводящийся в stderr

Установка автоподтверждения в значение false заставляет OpenCode отклонять права, которые он не может запросить в интерактивном режиме:

$env:OPENCODE_MCP_AUTO_APPROVE = "false"

Отладка

Запустите автоматизированные тесты:

.venv\Scripts\python.exe -m pytest --cov=opencode_mcp --cov-fail-under=80
.venv\Scripts\python.exe -m ruff check .
.venv\Scripts\python.exe -m ruff format --check .

Запустите сервер с помощью MCP Inspector:

uv run --python 3.11 --with-editable ".[dev]" mcp dev src\opencode_mcp\server.py

Таймаут MCP-инструмента должен быть немного больше значения timeout, передаваемого в opencode_execute; в противном случае Codex может отменить MCP-запрос до того, как сервер завершится процессом OpenCode и вернёт диагностические сведения.

Модель безопасности

opencode_execute намеренно возможностью записи и потенциально разрушительным инструментом. Он предоставляет OpenCode те же права на файловую систему и процессы, которые есть у самого MCP-сервера. Реализация:

  • никогда не вызывает оболочку для задач OpenCode;

  • требует существующий абсолютный путь к рабочему каталогу;

  • ограничивает захватываемый вывод, защищая контекст Codex;

  • завершает дерево процессов OpenCode при таймауте или отмене MCP-запроса;

  • отключает автоматическое обновление OpenCode во время делегированных выполнений;

  • помечаются MCP-инструментом как неидемпотентный и потенциально-разрушающий.

Для недоверенных задач или репозиториев используйте ограниченную учётную запись ОС или песочницу.

Install Server
A
license - permissive license
A
quality
C
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

  • Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.

  • 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

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/TAO-MINGYU/codex_to_opencode'

If you have feedback or need assistance with the MCP directory API, please join our Discord server