devin-mcp-bridge
This server lets Claude Code delegate coding tasks to Devin (or any ACP-compatible agent) via an MCP bridge.
Delegate tasks: Use
devin_taskto send a task with optional working directory (cwd) to target a specific repository. Devin works autonomously and returns the full response.Maintain session context: Sessions persist per
cwd, so follow-up calls retain context for multi-step work.Reset sessions:
devin_resetkills the current agent and clears its context, starting fresh.Configure and secure: The server bridges MCP to any ACP agent via environment variables (e.g.,
DEVIN_MCP_AGENT_CMD,DEVIN_MCP_AGENT_ARGS). Default security settings enforce one-shot permissions and filesystem sandboxing (DEVIN_MCP_PERMISSION=once,DEVIN_MCP_SANDBOX_FS=1). Task timeouts are configurable withDEVIN_MCP_TIMEOUT_MS.
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., "@devin-mcp-bridgecreate unit tests for the payment module"
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.
devin-mcp-bridge
Lets Claude Code delegate work to Devin.
Claude Code ──MCP/stdio──▶ devin-mcp-bridge ──ACP/stdio──▶ devin acpDevin ships an ACP agent (devin acp), which is what
makes it usable from Zed. Claude Code speaks MCP, not ACP. This process sits in the middle:
it is an ACP client toward Devin (spawning the agent, answering its filesystem and
permission requests) and an MCP server toward Claude Code.
Tools
Tool | Purpose |
| Send a task to Devin, return its full response. Session persists per |
| Kill the agent and drop its context. Next |
Related MCP server: peer-cli-mcp
Install
git clone https://github.com/phenasdev/devin-mcp-bridge.git
cd devin-mcp-bridge
npm install
npm run smoke # boots the server, lists tools — no Devin needed
npm run smoke:call # full turn against a fake ACP agent
npm run smoke:sandbox # verifies symlinks cannot escape the session rootRegister with Claude Code, using an absolute path to your clone:
# this project only
claude mcp add devin -- node "$PWD/src/devin-mcp.mjs"
# every project
claude mcp add -s user devin -- node "$PWD/src/devin-mcp.mjs"Verify with /mcp inside Claude Code. Tool names appear as mcp__devin__devin_task.
Security
Devin runs autonomously and, over ACP, asks this process for permission and for filesystem access. Two controls exist, both on by default:
DEVIN_MCP_PERMISSION=once(default) — grant only one-shot permissions; neverallow_always, which would remove the decision for the rest of the session.allapproves everything including persistent grants.denyrefuses everything.DEVIN_MCP_SANDBOX_FS=1(default) —fs/read_text_fileandfs/write_text_fileare confined to the session root; paths resolving outside it, including through symlinks, are rejected. Set0to disable. This path check is not an OS sandbox and cannot prevent a concurrent filesystem race.
When the bridge refuses a request, the turn result carries a [bridge] ... refused block naming
the operation and path. Without it a sandbox rejection reaches Claude Code as a bare
[tool failed], indistinguishable from a genuine Devin error.
There is no human in the loop on permission decisions — Claude Code sees one tool call, while Devin may perform many actions behind it. Before pointing this at a repo you care about, prefer a disposable worktree or a container, and keep the sandbox on.
Config
Env var | Default | Meaning |
|
| Agent binary. Set to |
|
| Space-separated args. |
|
|
|
|
|
|
|
| Per-turn cap; the turn is cancelled on expiry. |
Because the agent command is configurable, the same bridge works for any ACP agent —
e.g. DEVIN_MCP_AGENT_CMD=npx DEVIN_MCP_AGENT_ARGS="-y @zed-industries/claude-code-acp".
Debugging
Agent stderr is inherited, so claude --debug shows both the bridge's [devin-mcp] log lines
and Devin's own output. claude mcp list shows connection status.
Layout
src/devin-mcp.mjs— the bridge; ACP client + MCP server in one process.scripts/fake-agent.mjs— minimal ACP agent used by the smoke test, so the wiring can be exercised without opening a real Devin session. It also probes the fs sandbox.scripts/smoke.mjs— MCP handshake,tools/list, and optionally one full turn.
Available Tools
2 toolsdevin_resetReset the Devin sessionA
Kill the running Devin agent and discard its conversation context. The next devin_task starts a fresh session. Use when Devin is stuck or the context is polluted.
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | Working directory whose session to reset. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that the agent is killed and its conversation context is discarded, and that the next task starts fresh. It doesn't mention any side effects like unsaved work, but for a reset tool, it's fairly transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: the first states the action, the second provides usage guidance. No wasted words, front-loaded with the essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with no output schema, the description sufficiently covers purpose and usage. It could mention irreversibility, but the tool is straightforward.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter 'cwd' is fully described in the input schema (100% coverage). The tool description adds no extra meaning beyond what the schema provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the verb 'Kill' and 'discard' and the resource 'Devin agent/session', and distinguishes from the sibling 'devin_task' by stating the next task starts a fresh session.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool: 'when Devin is stuck or the context is polluted.' It doesn't explicitly mention when not to use it, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
devin_taskDelegate a task to DevinA
Send a coding task to Devin (a separate autonomous coding agent) and return its full response. Devin keeps context across calls for the same working directory, so follow-up calls can refer to earlier work. Use for self-contained work you want done in parallel; state the task and the acceptance criteria explicitly, since Devin cannot ask you questions.
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | Absolute path to the repo root Devin should work in. Defaults to the server's cwd. | |
| task | Yes | The task for Devin, with enough context to act without follow-up. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses key behaviors: Devin keeps context across calls for the same working directory, returns full response, and cannot ask questions. This provides adequate transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences: first states purpose, second adds behavioral context, third gives usage guidance. Every sentence is essential and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and moderate complexity, the description covers purpose, behavior, and usage. Could mention error handling or timeouts, but sufficient for most use cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds value by explaining the cwd parameter defaults to server's cwd and task should have enough context to act without follow-up.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool delegates a coding task to a separate autonomous agent (Devin) and returns its response. It distinguishes from the sibling tool devin_reset by implying this is the task-creation tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It advises using for self-contained parallel work and instructs to state task and acceptance criteria explicitly since Devin cannot ask questions. Implicitly suggests follow-up calls are possible due to context retention.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
2 tool updates
v0.1.0- First observed
devin_reset - First observed
devin_task
TDQS
The two tools have clearly distinct purposes: one sends a task to Devin, the other resets the session. No overlap or confusion possible.
Both tools use the 'devin_' prefix and snake_case, but the pattern is slightly inconsistent: 'devin_task' is a noun while 'devin_reset' is a verb. However, the prefix makes them clearly related.
With only 2 tools, the server is minimal. For its purpose as a bridge to an autonomous agent, this is reasonable but slightly thin. A status or cancel tool could be added.
The server covers the basic workflow of sending tasks and resetting, but lacks features like checking task status or interrupting a running task. Some gaps exist but core functionality is present.
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 Connectors
One MCP endpoint for Claude, GPT & Gemini: 100+ tools + no-code connectors + agent workers.
A paid remote MCP for OpenAI Codex agent coordination MCP, built to return verdicts, receipts, usage
Use AI models for chat, image, and video generation from Claude Code and other MCP hosts.
Governed app access for AI agents: 1,000+ apps & 12,000+ tools via Code Mode MCP.
Related MCP Servers
- AlicenseAqualityCmaintenanceMCP server that lets any agent or MCP host delegate tasks to Claude Code running headless, with tools for review, validation, analysis, and autonomous work.41012MIT
- AlicenseNot gradedqualityCmaintenanceMCP bridge for calling local coding-agent CLIs (Codex, Claude) from another agent, enabling bounded tasks like code review, verification, and bug hunting.MIT
- AlicenseAqualityBmaintenanceBridges Claude Code to Kimi Code via MCP, enabling task delegation with file and command execution.3MIT
- AlicenseAqualityDmaintenanceEnables Claude Code to delegate implementation tasks to Devin.4MIT
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/phenasdev/devin-mcp-bridge'
If you have feedback or need assistance with the MCP directory API, please join our Discord server