harness-bridge
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@harness-bridgeask Codex to review the latest commit"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Harness Bridge
Harness Bridge connects coding-agent harnesses through MCP so one harness can query, review, explain, and delegate implementation work to another.
It currently ships two adapters:
Calling harness | Connected harness | MCP tools |
Claude Code | OpenAI Codex |
|
OpenAI Codex | Claude Code |
|
The adapter boundary keeps harness-specific execution, sessions, models, and capabilities separate while preserving a consistent set of task-oriented MCP tools.
Execution contract
Every Claude-to-Codex call runs Codex without approvals or sandboxing. The exec backend always uses--dangerously-bypass-approvals-and-sandbox; the app-server backend always uses dangerFullAccess. The codex_* MCP tools expose no sandbox argument, so callers cannot change this policy.
Only connect Harness Bridge to projects and harnesses you trust with the permissions of your user account.
Related MCP server: Codex MCP Server
Prerequisites
Claude Code CLI, installed and authenticated
OpenAI Codex CLI, installed and authenticated
Node.js 18 or newer
Quick start
Configure both routes and install the bundled skills and Codex teammate agent:
npx harness-bridge setupConfigure one route without installing extras:
npx harness-bridge connect claude --to codex
npx harness-bridge connect codex --to claudeThe compatibility forms remain available:
npx harness-bridge setup claude
npx harness-bridge setup codex
npx harness-bridge setup --skip-extrassetup claude means “configure Claude Code as the calling harness”; setup codex configures Codex as the caller.
Manual configuration
Claude Code calls Codex
claude mcp add codex -s user -- npx harness-bridge serve codexProject-local .mcp.json:
{
"mcpServers": {
"codex": {
"type": "stdio",
"command": "npx",
"args": ["harness-bridge", "serve", "codex"]
}
}
}Codex calls Claude Code
Add this to ~/.codex/config.toml:
[mcp_servers.claude]
command = "npx"
args = ["harness-bridge", "serve", "claude"]
tool_timeout_sec = 600Tools
Each adapter exposes the same task categories with a harness-specific prefix:
Task | Codex tool | Claude tool |
General query |
|
|
Code review |
|
|
Plan review |
|
|
Code explanation |
|
|
Performance planning |
|
|
Implementation |
|
|
All tools accept workingDirectory. Both adapters also accept an optional threadKey for deliberate multi-turn continuity:
Omit
threadKeyfor independent calls. This is the concurrency-safe default.Reuse a stable key to continue one conversation.
Calls sharing a key are serialized; different keys and keyless calls remain independent.
For Codex, omit model unless a specific override is required so the current default from ~/.codex/config.toml applies.
Bundled skills and agent
setup can install:
a
/codexskill for Claude Codea
codex-teammateagent for Claude Codea
/claudeskill for Codex-compatible agent directories
Install them individually with:
npx harness-bridge install skill claude --global
npx harness-bridge install skill codex --global
npx harness-bridge install agent --globalUse --local instead to install into the current project.
Configuration
Variable | Purpose | Default |
| Per-call process timeout |
|
| Retries for transient CLI failures |
|
| Enable debug logging on stderr | unset |
| Recursion depth propagated to child harnesses |
|
| Maximum simultaneous |
|
|
|
|
The previous BRIDGE_* and CODEX_BRIDGE_* names remain accepted for compatibility. New configuration should use HARNESS_BRIDGE_*.
Codex app-server backend
HARNESS_BRIDGE_CODEX_BACKEND=app-server npx harness-bridge serve codexThe experimental app-server backend keeps one persistent Codex process, supports first-class threads, and can interrupt active turns. It uses the same unrestricted execution policy as the default exec backend.
Migrating from claude-codex-bridge
See MIGRATION.md for the package, command, configuration, and environment-variable changes. MCP server names and tool names are unchanged.
Development
git clone https://github.com/rbutera/harness-bridge.git
cd harness-bridge
pnpm install
pnpm checkpnpm check runs formatting, lint/type checking, all tests, the production build, and package linting.
Origin and license
Harness Bridge began from Dunqing’s claude-codex-bridge v0.3.1. The original Git history and authorship are preserved; ORIGIN.md records the lineage and subsequent divergence.
Licensed under the MIT License.
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.
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/rbutera/harness-bridge'
If you have feedback or need assistance with the MCP directory API, please join our Discord server