Agent Bridge
A persistent session bridge that lets Claude Code and Codex delegate work to local OMP and Codex agents over MCP.
It is not a one-shot wrapper: you open a delegated-agent session, send one or more messages into it, read the result, reuse it, and close it. Sessions live inside the MCP server process — there is no background daemon, no web UI, and no network listener. Each client launches its own server; when the client exits, its sessions are cleaned up with it.
Works on macOS, Linux, and Windows.
Requirements
- Node.js 20+
- An MCP client: Claude Code or Codex
- The backend(s) you delegate to, launchable on
PATH: omp and/or codex
Agent Bridge only bridges to OMP and Codex — it does not install them. Install at least the backend you plan to use, then confirm it is detected:
node scripts/agent-bridge.mjs doctor
doctor prints ok for each backend it finds and flags anything missing. Override a binary path with OMP_BIN / CODEX_BIN if it lives somewhere unusual.
Install
Pick one method, then restart the client so the tools (and skill) load:
- Claude Code — one-shot (recommended): method B installs the MCP server and the skill together in a single step (
claude plugin install, or /plugin install in-app). You do not install the two separately.
- Codex, or tools-only: method A (
claude mcp add / codex mcp add) registers just the MCP server (the eight agent_bridge_* tools). Codex has no Claude-Code plugin one-click, so Codex uses A for tools and C to also load the skill.
git clone https://github.com/LeoWang329/agent-bridge.git
cd agent-bridge
A. As an MCP server — simplest, works for both clients
# Claude Code (user scope = available in every project)
claude mcp add agent-bridge --scope user -- node "$PWD/scripts/agent-bridge.mjs" mcp
# Codex
codex mcp add agent-bridge -- node "$PWD/scripts/agent-bridge.mjs" mcp
Run from the repo root so $PWD expands to an absolute path (on Windows cmd, substitute the full path). Verify with claude mcp list / codex mcp list. Remove with claude mcp remove agent-bridge --scope user / codex mcp remove agent-bridge.
B. As a Claude Code plugin — MCP server + skill in one go
claude plugin marketplace add LeoWang329/agent-bridge
claude plugin install agent-bridge@agent-bridge
The repo self-hosts a Claude Code marketplace, so this one install registers the MCP server and the skill — there is no separate skill step. Equivalent inside Claude Code: /plugin marketplace add LeoWang329/agent-bridge then /plugin install agent-bridge@agent-bridge. Manage it later with claude plugin / /plugin; for local development against a working copy: claude --plugin-dir "$PWD".
C. Codex (and other non-plugin MCP clients) — MCP server + skill
Only Claude Code consumes method B's plugin bundle. For Codex — or any other MCP host that reads a per-user skills directory — give it the two pieces separately: the MCP server (the eight tools) via method A, and the skill (the usage guide that teaches the agent when and how to delegate) by linking it into the client's skills directory. Both pieces point straight at this clone, so there is no copied snapshot to go stale.
<REPO> below is the absolute path to this clone (the directory holding scripts/ and skills/).
-
MCP server (tools) — same as method A:
codex mcp add agent-bridge -- node "<REPO>/scripts/agent-bridge.mjs" mcp
-
Skill (usage guide) — link skills/agent-bridge into Codex's skills directory (~/.codex/skills/). Codex auto-loads any ~/.codex/skills/<name>/SKILL.md on launch, exactly like Claude Code loads ~/.claude/skills/. Use a symlink/junction (not a copy) so it tracks the repo:
# macOS / Linux
ln -s "<REPO>/skills/agent-bridge" ~/.codex/skills/agent-bridge
# Windows (PowerShell or cmd) — junction, no admin needed
cmd /c mklink /J "%USERPROFILE%\.codex\skills\agent-bridge" "<REPO>\skills\agent-bridge"
The same one-liner works for any client with a user skills directory — swap ~/.codex for ~/.claude to load the skill in Claude Code without the plugin, etc.
-
Restart Codex. Verify: codex mcp list shows agent-bridge connected, and the agent-bridge skill appears in the session's skill list.
Updating
Because both the MCP server (registered as a path to scripts/agent-bridge.mjs) and the skill (a symlink/junction into skills/) reference this clone in place, a single git pull updates both — there is nothing to reinstall:
cd <REPO> && git pull
Then restart the client so it reloads the running MCP server (the skill is re-read on the next launch either way). The symlink/junction needs recreating only if you move or rename the clone.
Configuring this for an AI agent