agent-link-mcp
agent-link-mcp is an MCP server that enables bidirectional collaboration between AI coding agents, allowing a primary agent to spawn and communicate with other agent CLIs (Claude Code, Codex, Gemini, Aider, or custom tools) as subprocesses.
Spawn a single agent (
spawn_agent): Launch an AI agent with a task description, optional context (files, error messages, intent), model selection, reasoning depth, and custom timeout — returns a completed result or a question needing clarificationSpawn multiple agents in parallel (
spawn_agents): Run several agents simultaneously on independent subtasks and collect all resultsReply to an agent (
reply): Continue a back-and-forth conversation with an agent waiting for clarificationKill an agent (
kill_agent): Terminate and clean up any active agent session by its session IDList available agents (
list_agents): Auto-detect which AI agent CLIs are installed and available on the systemGet session status (
get_status): Monitor the status of all currently active agent sessions
This enables use cases like getting second opinions on bugs, parallel code review, multi-stage pipelines (research → implementation → review), and integrating custom or local LLM-based agent tools via config files.
Supports the use of local LLMs by spawning Ollama as a subprocess, enabling agents to use local models for specialized subtasks or private data processing.
Facilitates integration with OpenAI-powered agents such as Codex, permitting agents to exchange instructions and results for complex coding operations.
agent-link-mcp
English | 한국어
MCP server for bidirectional AI agent collaboration. Spawn and communicate with any AI coding agent CLI — Claude Code, Codex, Gemini, Aider, and more.
When to Use
Stuck on a bug? — Your agent tried twice and failed. Let it ask another agent for a fresh perspective.
Need a second opinion? — Get code review or architectural advice from a different AI model.
Cross-model strengths — Use Claude for planning, Codex for execution, Gemini for research.
Parallel work — Spawn multiple agents to tackle independent subtasks simultaneously.
Rubber duck debugging — Have one agent explain the problem to another and get back a solution.
Related MCP server: personal-mcp
Use Cases
Get Help When Stuck
Your primary agent keeps failing on the same issue? Ask another agent:
# Claude Code is stuck on a TypeScript error it can't resolve.
# It spawns Codex for a second opinion:
spawn_agent("codex", "This TypeScript error keeps appearing. How do I fix it?", {
error: "Type 'string' is not assignable to type 'number'",
files: ["src/utils.ts"]
})Cross-Agent Code Review
Have another model review your agent's code changes:
spawn_agent("claude", "Review these changes for bugs and edge cases", {
files: ["src/api.ts", "src/handler.ts"],
intent: "Code review before merge"
})Multi-Agent Pipeline
Build a pipeline where agents handle different stages:
# Agent 1: Research
spawn_agent("gemini", "Find the best approach for WebSocket reconnection")
# Agent 2: Implementation (using Agent 1's advice)
spawn_agent("codex", "Implement WebSocket reconnection with exponential backoff", {
files: ["src/ws-client.ts"]
})
# Agent 3: Review
spawn_agent("claude", "Review this implementation for production readiness", {
files: ["src/ws-client.ts"]
})Bidirectional Collaboration
Agents can ask questions back. The host answers, and work continues:
Host: spawn_agent("codex", "Add caching to the API layer")
Codex: [QUESTION] Should I use Redis or in-memory cache?
Host: reply("codex-a1b2c3", "Use Redis, we have it in our docker-compose")
Codex: [RESULT] Added Redis caching with 5-minute TTL...Why
AI coding agents get stuck sometimes. Instead of waiting for you, they can ask another agent for help. agent-link-mcp lets any MCP-compatible agent spawn other agent CLIs as collaborators, exchange questions, and get results back — all through standard MCP tools.
One-side install — only the host agent needs this MCP server. Spawned agents are just CLI subprocesses.
Bidirectional — the host can ask questions to the spawned agent, and the spawned agent can ask questions back.
Any agent — works with any CLI that accepts a prompt and returns text. Built-in profiles for Claude, Codex, Gemini, and Aider.
Multi-agent — spawn multiple agents simultaneously for parallel collaboration.
Prerequisites
agent-link-mcp spawns other AI agents as CLI subprocesses. You need to install and authenticate the agent CLIs you want to collaborate with:
Agent | Install | Auth |
Claude Code |
|
|
Codex |
|
|
Gemini CLI |
|
|
Aider |
| Set |
You only need the ones you plan to use. agent-link-mcp auto-detects which CLIs are installed.
Install
# Claude Code
claude mcp add agent-link npx agent-link-mcp
# Codex
codex mcp add agent-link npx agent-link-mcp
# Any MCP client
npx agent-link-mcpNote: Only the agent you're working in needs this MCP server installed. The other agents are spawned as subprocesses — they don't need agent-link-mcp.
Tools
spawn_agent
Spawn an agent and send it a task.
{
"agent": "codex",
"task": "Refactor this function for better performance",
"context": {
"files": ["src/utils.ts"],
"error": "TypeError: Cannot read property 'x' of undefined",
"intent": "Performance improvement"
},
"model": "o3",
"timeoutMs": 7200000
}Parameter | Type | Default | Description |
| string | required | Agent name ( |
| string | required | Task description |
| object | — | Optional |
| string | cwd | Working directory for the agent process |
| string | — | Model to use (e.g. |
| string | — | Thinking/reasoning depth ( |
| boolean | false | Auto-retry on failure (up to 3 attempts). |
| boolean | false | On retry, automatically increase thinking level. Requires |
| number | 3600000 | Timeout in ms. Default: 1 hour. |
Returns one of:
{ status: "done", agentId: "codex-a1b2c3", result: "..." }— task completed{ status: "waiting_for_reply", agentId: "codex-a1b2c3", question: "..." }— agent needs clarification{ error: "...", agentId: "codex-a1b2c3" }— something went wrong
spawn_agents
Run multiple agents in parallel. Returns all results together.
{
"agents": [
{ "agent": "codex", "task": "Review for bugs", "context": { "diff": true } },
{ "agent": "claude", "task": "Review for security", "context": { "diff": true } }
],
"cwd": "/path/to/project"
}Returns { summary: { total, succeeded, failed, waiting }, results: [...] }.
reply
Answer a spawned agent's question and continue the conversation.
{
"agentId": "codex-a1b2c3",
"message": "Yes, you can remove the side effects"
}kill_agent
Abort a running agent session.
{
"agentId": "codex-a1b2c3"
}list_agents
List available agent CLIs.
{
"agents": [
{ "name": "claude", "command": "claude", "source": "auto", "available": true },
{ "name": "codex", "command": "codex", "source": "auto", "available": true },
{ "name": "gemini", "command": "gemini", "source": "auto", "available": false }
]
}get_status
Get active agent sessions.
{
"sessions": [
{ "agentId": "codex-a1b2c3", "agent": "codex", "status": "waiting_for_reply", "startedAt": "..." }
]
}How It Works
You (using Claude Code)
↓
"Ask Codex to help with this refactoring"
↓
Claude Code → spawn_agent("codex", task, context)
↓
agent-link-mcp server → spawns `codex` CLI as subprocess
↓
Codex processes the task...
↓
Codex: "[QUESTION] Should I remove the side effects?"
↓
agent-link-mcp → parses response → returns to Claude Code
↓
Claude Code → reply("codex-a1b2c3", "Yes, remove them")
↓
agent-link-mcp → re-invokes Codex with accumulated context
↓
Codex: "[RESULT] Refactoring complete. Here's what I changed..."
↓
Claude Code receives the result and continues workingConfiguration
Auto-detection
agent-link-mcp automatically detects installed agent CLIs:
Agent | CLI Command |
Claude Code |
|
Codex |
|
Gemini |
|
Aider |
|
Custom agents
Add custom agents via config file at ~/.agent-link/config.json:
{
"agents": {
"codex": {
"command": "/usr/local/bin/codex",
"args": ["--full-auto"],
"promptFlag": null,
"outputFormat": "text"
},
"my-local-llm": {
"command": "ollama",
"args": ["run", "codellama"],
"promptFlag": null,
"outputFormat": "text"
}
}
}Override config path with AGENT_LINK_CONFIG environment variable.
Model Selection
You can specify which model the spawned agent should use via the model parameter:
# Use a specific model for Codex
spawn_agent("codex", "Debug this issue", { model: "o3" })
# Use a specific model for Claude
spawn_agent("claude", "Review this code", { model: "claude-sonnet-4" })The model name is passed to the agent CLI via its --model flag. If omitted, the agent uses its default model.
Thinking / Reasoning Depth
Control how deeply the agent reasons with the thinking parameter:
# High reasoning for complex debugging
spawn_agent("codex", "Debug this race condition", { thinking: "high" })
# Max effort for Claude
spawn_agent("claude", "Architect a new auth system", { thinking: "max" })Agent | Flag | Values |
Claude |
|
|
Codex |
|
|
Aider |
|
|
If omitted, the agent uses its default reasoning level.
Timeout
Default timeout is 1 hour (3,600,000ms). You can override per-call:
# 2 hour timeout for complex tasks
spawn_agent("codex", "Refactor the entire auth system", { timeoutMs: 7200000 })Conversation Protocol
Spawned agents receive instructions to format their responses:
[QUESTION] ...— needs clarification from the host agent[RESULT] ...— task completed
If the agent doesn't follow the format, the entire output is treated as a result.
License
MIT
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
- AlicenseAqualityAmaintenanceMCP server that lets AI models invoke CLI agents (Gemini, Codex, Claude, OpenCode) as tools — with parallel execution, retries, and structured output parsing.55MIT
- FlicenseNot gradedqualityAmaintenanceMCP server that bridges coding agents (Claude Code, Codex, Gemini CLI) via ACP for pair programming, enabling agents to consult each other as tools.
- AlicenseNot gradedqualityFmaintenanceEnables AI agents to communicate, coordinate, and collaborate on complex tasks through a local MCP server.38ISC
- AlicenseNot gradedqualityFmaintenanceA Model Context Protocol (MCP) server that enables multiple AI agents to share memory, coordinate tasks, and collaborate effectively across IDEs and CLI tools.1214MIT
Related MCP Connectors
HiveCapital MCP Server — autonomous investment layer for AI agents
Real-time chat hub for AI agents — Claude Code, Cursor, Cline, Codex over MCP or REST.
HiveCompute MCP Server — decentralized inference router for AI agents
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/mikusnuz/agent-link-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server