devin-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| devin_run_phaseB | Create a new Devin session with a playbook and prompt. Args: prompt: The task prompt (e.g., "thoughts/shared/plans/2024-01-15-auth.md, phase 1, branch feature/auth") playbook_id: The Devin playbook ID to use. Optional if DEVIN_PLAYBOOK_ID env var is set. Returns: dict with keys: - success: bool indicating if session was created - session_id: The created session ID (if success) - url: The session URL (if success) - error: Error message (if not success) |
| devin_get_statusB | Quick, non-blocking status check on a Devin session. Args: session_id: The session ID to check Returns: dict with keys: - success: bool indicating if status was retrieved - session_id: The session ID - url: The session URL (if success) - status_enum: Current status (if success) - error: Error message (if not success) |
| devin_await_completionA | Poll a Devin session until it reaches a terminal state. Args: session_id: The session ID to monitor timeout: Maximum seconds to wait (default: 600 = 10 minutes) Returns: Full session details if completed within timeout. Raises DevinTimeoutError if timeout exceeded. The tool polls every 5 seconds and returns when status_enum is one of: blocked, finished, expired, stopped, suspend_requested, suspend_requested_frontend |
| devin_send_messageA | Send a follow-up message to a Devin session. Use this when Devin is blocked and needs clarification to continue. Args: session_id: The session ID to message message: The message content to send Returns: dict with keys: - success: bool indicating if message was sent - detail: Confirmation message (if success) - error: Error message (if not success) |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 4 tools
Each tool targets a distinct lifecycle operation: run creates a session, get_status checks state, await_completion polls to terminal state, and send_message sends a follow-up. No two tools overlap in purpose, and even the two status-related tools are clearly differentiated (one is a quick snapshot, the other blocks until completion).
All four tools follow a consistent devin_verb_noun pattern: run_phase, get_status, await_completion, send_message. The verb style (run, get, await, send) and noun targets are uniformly clear and predictable.
Four tools is a well-scoped surface for a Devin session MCP server. Each tool covers a distinct part of the lifecycle (create, check, wait, interact) without extraneous duplication or missing essentials.
The core session lifecycle is well covered: create/run, check status, await terminal state, and send a follow-up message. The only potential minor gap is the absence of a direct cancel/stop operation, which is likely handled via suspend_requested state, but it's a reasonable gap agents can work around.