Skip to main content
Glama
README.md
# devin-mcp

MCP server for creating, monitoring, and managing Devin AI sessions.

## Tools

### delegate

Create a Devin session and monitor it until completion. Runs as a background task with live progress updates (status changes, messages).

Supports all Devin session options:

| Parameter | Description |
|---|---|
| `prompt` | The instruction for Devin to execute (required) |
| `title` | Custom session name (auto-generated if omitted) |
| `snapshot_id` | Restore from a previous snapshot |
| `playbook_id` | Associated playbook identifier |
| `tags` | Session categorization labels |
| `max_acu_limit` | Resource consumption ceiling |
| `idempotent` | Prevent duplicate sessions with the same prompt |
| `unlisted` | Hide session from listings |
| `knowledge_ids` | Knowledge bases to include (`None` uses all, `[]` uses none) |
| `secret_ids` | Secrets to include (`None` uses all, `[]` uses none) |

### get_session

Retrieve details about an existing Devin session, including its status, messages, and metadata.

| Parameter | Description |
|---|---|
| `session_id` | The identifier of the session to retrieve (required) |

### list_sessions

List Devin sessions with optional filtering. Useful for finding session IDs to inspect or resume.

| Parameter | Description |
|---|---|
| `limit` | Maximum number of sessions to return (default 100) |
| `offset` | Pagination offset (default 0) |
| `tags` | Filter sessions by tags |
| `user_email` | Filter sessions by creator's email |

### resume_session

Send a message to an existing Devin session and monitor it until completion. Runs as a background task. Use this to wake a sleeping session or send follow-up instructions to a running one.

| Parameter | Description |
|---|---|
| `session_id` | The identifier of the session to message (required) |
| `message` | The message to send (required) |

## Requirements

- Python 3.13+
- Devin API key (starts with `apk_`)

## Usage

### Claude Code

```bash
claude mcp add devin -e DEVIN_API_KEY=apk_your_key_here -- uvx --from git+https://github.com/desertaxle/devin-mcp devin-mcp
```

### Standalone

Run the MCP server directly:

```bash
uvx --from git+https://github.com/desertaxle/devin-mcp devin-mcp
```

## Development

Install dev dependencies:

```bash
uv sync
```

Run tests:

```bash
uv run pytest
```

Run linter, formatter, and type checker:

```bash
uv run prek run --all-files
```

TDQS

A4.4/5.0

Scored across 4 tools

Disambiguation5/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness4/5

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.

Maintenance

ActivityInactive
ResponsivenessNo issues