vielhuber / codemcp
MCP-capable PHP orchestrator for agentic coding via Codex and Claude Code.
Requires
- php: ^8.3
- ext-json: *
- vielhuber/simplemcp: ^1.0
Requires (Dev)
- phpunit/phpunit: ^13
README
📟 codemcp 📟
codemcp is a small mcp server that exposes agentic coding through codex and claude code. it does not reimplement a coding agent, it forwards normalized MCP tools to the closest official agent interface:
- Codex via
codex mcp-server - Claude Code via
claude -p/claude --resume
installation
install once with composer:
composer require vielhuber/codemcp
then add this to your files:
require __DIR__ . '/vendor/autoload.php'; use vielhuber\codemcp\codemcp;
setup
codemcp reads configuration from the .env in your project root.
CODEMCP_PROVIDER=codex CODEMCP_WORKDIR=/app CODEMCP_ALLOW_WRITE=false MCP_TOKEN=
Claude Code also has claude mcp serve, but that exposes Claude Code's tools to another MCP client. For running Claude Code as the coding agent, codemcp uses print/resume mode.
codemcp expects codex and claude in the local node_modules/.bin directory of the project where the MCP server is started.
usage
$code = codemcp::create(); $result = $code->start( prompt: 'Review this project and list the highest-risk bugs.', workdir: '/app', provider: 'codex' ); print_r($result);
mcp server
codemcp ships as a standalone MCP server:
vendor/bin/mcp-server.php
available tools:
start(prompt, workdir?, provider?)continue(session_id, prompt)status(session_id?)providers()
write access
Set CODEMCP_ALLOW_WRITE=true when the agent may edit files. Otherwise Codex runs read-only and Claude Code runs in plan mode.
tests
vendor/bin/phpunit