devin-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DEVIN_API_KEY | Yes | Your Devin API key (starts with 'apk_') |
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 |
|---|---|
| tasks | {
"list": {},
"cancel": {},
"requests": {
"tools": {
"call": {}
},
"prompts": {
"get": {}
},
"resources": {
"read": {}
}
}
} |
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| delegateA | Delegate a task to Devin and monitor until completion. Creates a new Devin session with the given prompt and monitors it until the session reaches a terminal state (finished, blocked, or expired). Progress updates are reported as the session executes. Args: prompt: The instruction for Devin to execute. title: Custom session name. Auto-generated if not provided. snapshot_id: Restore from a previous snapshot. playbook_id: Associated playbook identifier. tags: Session categorization labels. max_acu_limit: Resource consumption ceiling (positive integer). idempotent: If true, prevents duplicate sessions with same prompt. unlisted: If true, hides session from listings. knowledge_ids: Knowledge bases to include. None uses all, empty list uses none. secret_ids: Secrets to include. None uses all, empty list uses none. progress: FastMCP Progress dependency for reporting status updates. Returns: Final session details including status, messages, and metadata. |
| get_sessionA | Retrieve details about an existing Devin session. Use this to inspect the current status, messages, and metadata of a session. This is useful for checking whether a session is still running, has finished, or has gone to sleep due to ACU limits. Args: session_id: The identifier of the session to retrieve. Returns: Session details including status_enum, messages, title, tags, and metadata. The status_enum field indicates the session state: working, blocked, expired, finished, suspend_requested, resume_requested, or resumed. |
| list_sessionsA | List Devin sessions with optional filtering. Use this to find sessions by tags or email, or to get an overview of recent sessions. Useful for finding session IDs to inspect or resume. Args: limit: Maximum number of sessions to return (default 100). offset: Pagination offset (default 0). tags: Filter sessions by these tags. user_email: Filter sessions by the creator's email address. Returns: A dict with a 'sessions' key containing a list of session summaries, each with session_id, status_enum, title, tags, and other metadata. |
| resume_sessionA | Send a message to a Devin session and monitor it until completion. Use this to resume a session that has gone to sleep (e.g. due to ACU limits) or to send follow-up instructions to a running session. Sending a message to a sleeping session will wake it up. After sending the message, the session is monitored until it reaches a terminal state. Args: session_id: The identifier of the session to message. message: The message to send (e.g. instructions to continue work). progress: FastMCP Progress dependency for reporting status updates. Returns: Final session details including status, messages, and metadata. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| list_playbooks | List all available Devin playbooks. Returns a JSON array of playbook objects, each containing: playbook_id, title, body, status, and metadata fields. |
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: get_session inspects a single session, list_sessions finds sessions, delegate creates and runs a new task, and resume_session continues an existing one. No two tools overlap in a way that would cause misselection.
Three tools follow the verb_noun pattern (get_session, list_sessions, resume_session), but 'delegate' is a bare verb without a noun, deviating slightly from the otherwise consistent style. The names are still predictable and readable.
Four tools is well-scoped for a Devin session management server. Each tool covers a distinct lifecycle action without redundancy, fitting comfortably within the ideal 3-15 range.
The set covers create (delegate), read (get_session, list_sessions), and update via message (resume_session), but lacks a delete/cancel operation for sessions. This is a minor gap that agents could work around.