devin-api-mcp
This server offers comprehensive access to the Devin API for managing sessions, knowledge, playbooks, secrets, schedules, attachments, tags, and insights (using personal or service API keys). It also provides read-only DeepWiki tools to ask AI-powered, context-grounded questions about one or more GitHub repositories (up to 10 at once), and to retrieve their documentation structure and contents.
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-api-mcplist my recent Devin sessions"
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-api-mcp
A single devin-api MCP server providing full Devin API coverage — manage sessions, knowledge, playbooks, secrets, schedules, and attachments programmatically from any MCP client — plus the read-only DeepWiki documentation tools (ask_question, read_wiki_structure, read_wiki_contents).
Unlike the hosted Devin MCP, which routes all operational tools through the v3 API (rejecting personal apk_ keys, so sessions can't be attributed to the dispatching user), this server backs the core tools with the v1 API and your personal key — sessions show up in your Devin dashboard.
The workflow
The intended shape: a local agent (Claude Code, Codex, …) does the thinking on your machine — planning, design, review — consulting DeepWiki as an on-demand codebase expert, then delegates well-scoped implementation tasks to Devin cloud sessions and gathers the results.
flowchart LR
subgraph local["🖥️ Your machine"]
agent["Claude Code / Codex<br/><i>planning · design · review</i>"]
end
subgraph cloud["☁️ Devin cloud"]
wiki["DeepWiki<br/><i>codebase expert</i>"]
d1["Devin session"]
d2["Devin session"]
end
agent <-- "ask_question<br/>read_wiki_*" --> wiki
agent -- "create_session<br/>send_message" --> d1
agent -- "delegate scoped tasks" --> d2
d1 -- "gather_sessions → PRs, results" --> agentRelated MCP server: AnythingLLM MCP Server
Quickstart
Claude Code:
claude mcp add -s user -e DEVIN_PERSONAL_API_KEY=<your-personal-key> -- devin-api npx -y -p @jsklan/devin-api-mcp devin-apiCodex:
codex mcp add devin-api --env DEVIN_PERSONAL_API_KEY=<your-personal-key> -- npx -y -p @jsklan/devin-api-mcp devin-apiGemini CLI:
gemini mcp add -e DEVIN_PERSONAL_API_KEY=<your-personal-key> devin-api npx -y -p @jsklan/devin-api-mcp devin-apiGet your personal key (apk_user_ prefix) from app.devin.ai → Settings → API Keys. Optionally add a second DEVIN_SERVICE_API_KEY=<org-service-key> env var (cog_ prefix, from org settings) to also enable the v3 organization tools (schedules, insights, archive, message history).
The server documents itself
Full setup, credential, and configuration docs are built into the server — no need to keep this README open:
Installed with no keys at all, the server starts in setup mode: it exposes a single
get_setup_docstool and instructs the connected agent to walk you through obtaining and configuring credentials. So the zero-knowledge onboarding path is just: install, connect, ask your agent to set it up.With keys configured,
get_setup_docsremains available for reference (adding the second key, migrating configs, other MCP clients, plugin install).
To install as a Claude Code plugin instead: /plugin → Marketplaces → add jsklan/devin-api-mcp → install devin-api (keys via environment variables, same as above).
What you get
Which tools are registered depends on which keys are set; tools whose backing key is absent are simply not registered — nothing shows up broken.
Personal key (
DEVIN_PERSONAL_API_KEY,apk_user_;DEVIN_API_KEYaccepted as fallback) — sessions (create/list/get/message/gather/terminate/tag), knowledge, playbooks, secrets, attachment upload, plus the three DeepWiki docs tools (proxied tomcp.devin.aiwith your key, so private repos work).Service key (
DEVIN_SERVICE_API_KEY,cog_) — the v3-exclusive organization tools: schedules, session insights, archive/delete, paginated message history, tag management, attachment download.Attribution rule: with both keys, capabilities that exist in both APIs stay backed by v1 + your personal key so sessions remain user-attributed; the service key only adds its exclusives.
Run get_setup_docs (or read src/setup-docs.ts) for the full breakdown.
Deprecated aliases
deepwiki(standalone docs-only proxy server) — merged intodevin-apiin 1.1.0. The bin still works but prints a deprecation warning; remove the separatedeepwikientry from your MCP config.devin-api-v1/devin-api-v3— unified intodevin-apiin 1.0.0; both aliases launch the unified server.
Tool names are unchanged in both migrations, so existing prompts and automations keep working. Aliases will be removed in a future major version.
API Coverage
The v1 tool set wraps the Devin REST API v1.
The v3 tool set wraps the Devin REST API v3 organization endpoints (
org_idauto-discovered at startup via/v3/self). Enterprise (/v3/enterprise/...) and beta (/v3beta1/...) endpoints are intentionally excluded.The DeepWiki tools proxy to the upstream Devin MCP server (
DEEPWIKI_UPSTREAM_URL, defaulthttps://mcp.devin.ai/mcp; optionalDEVIN_ORG_IDheader).
Written in TypeScript with Zod schema validation.
License
MIT
Available Tools
3 toolsask_questionA
Ask any question about a GitHub repository and get an AI-powered, context-grounded response.
| Name | Required | Description | Default |
|---|---|---|---|
| question | Yes | The question to ask about the repository. | |
| repoName | Yes | GitHub repository or list of repositories (max 10) in owner/repo format. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry behavioral transparency. It discloses that responses are AI-powered and context-grounded, which is useful. However, it does not mention limitations such as potential inaccuracy, access restrictions, or how the context is obtained.
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?
The description is a single, clear sentence that states the action, target, and result without any wasteful words. It is optimally concise 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?
The tool is moderately complex (AI Q&A over repositories), and the description/schema together convey the essential information for invocation. However, it lacks behavioral nuance (e.g., how answers are generated, limitations) and does not reference the output schema, though that is optional when an output schema exists.
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 descriptions cover both parameters with 100% coverage, so the description does not need to add parameter-level details. It adds minimal value by reinforcing the 'question' and 'repository' concepts, but nothing beyond the schema.
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 identifies a specific action ('Ask any question') on a specific resource ('a GitHub repository') and the expected outcome ('AI-powered, context-grounded response'). It is distinct from sibling tools (read_wiki_contents, read_wiki_structure), though it does not explicitly reference them.
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 implies usage when you need to ask a question about a repository, but it does not provide explicit guidance on when to prefer this tool over alternatives, nor does it mention any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_wiki_contentsC
View documentation about a GitHub repository.
| Name | Required | Description | Default |
|---|---|---|---|
| repoName | Yes | GitHub repository in owner/repo format (e.g. "facebook/react"). |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must convey behavioral traits, but it only says 'View', implying a read-only operation. It does not disclose what content is viewed (e.g., wiki vs README), error behavior, or output format. The lack of detail leaves significant ambiguity for the agent.
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?
The description is a single concise sentence that is front-loaded with the verb. It is appropriately brief for a simple tool, though it could have included more specific terminology like 'wiki' to be more precise.
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 the tool name references 'wiki' but the description says 'documentation', there is ambiguity in the resource scope. The description does not clarify its relationship to sibling tools or mention any limitations, making it incomplete for reliable selection even though an output schema exists.
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 input schema fully describes the sole parameter repoName with a clear example. The tool description adds no additional parameter semantics, so the baseline of 3 applies due to high schema coverage.
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 it 'View documentation about a GitHub repository', providing a specific verb and resource. However, it does not explicitly distinguish from sibling tools like read_wiki_structure, which likely reads the wiki structure rather than contents.
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 provides no guidance on when to use this tool versus alternatives. Sibling tool names suggest a wiki-specific context, but no explicit context or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_wiki_structureA
Get a list of documentation topics for a GitHub repository.
| Name | Required | Description | Default |
|---|---|---|---|
| repoName | Yes | GitHub repository in owner/repo format (e.g. "facebook/react"). |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. 'Get a list' implies a read-only operation with no side effects, which is transparent, but it does not disclose any potential limitations, such as whether only top-level topics are returned or if the list is flat. It is adequate but minimal.
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?
The description is a single, clear sentence with no filler. It fully conveys the core purpose without redundancy.
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 the tool's simplicity (one parameter, output schema present), the description is nearly complete. It would benefit from a brief note about the output structure or when to use this versus sibling tools, but the essential information for selection and invocation is present.
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% with a clear description of repoName (owner/repo format). The tool description adds little beyond the schema, but the schema already provides sufficient meaning, so the baseline 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 states a specific action ('Get a list') and resource ('documentation topics for a GitHub repository'). It distinguishes from sibling tools by focusing on structure/topics rather than content (read_wiki_contents) or Q&A (ask_question).
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?
No guidance is provided on when to use this tool versus alternatives. Sibling tool names suggest related functions, but the description does not mention them or any specific context like 'use this to browse available wiki pages before reading content.'
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.
3 tool updates
v0.6.0- First observed
ask_question - First observed
read_wiki_contents - First observed
read_wiki_structure
TDQS
Each tool serves a distinct purpose: ask_question provides AI-powered answers, read_wiki_contents retrieves full documentation, and read_wiki_structure lists available topics. There is no meaningful overlap between asking questions and reading wiki docs.
All tools follow a consistent verb_noun pattern: ask_question, read_wiki_contents, read_wiki_structure. Naming is uniform and predictable.
With only three tools, the server is tightly scoped to AI-powered repository Q&A and wiki access. This is well within the ideal range and each tool is essential to the core purpose.
The set covers the primary workflows: asking questions and reading wiki documentation. A minor gap is the lack of functionality beyond wiki content (e.g., general repository file browsing), but for the stated AI Q&A focus it is sufficient.
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
Agent-native notes, tasks, dev-docs, vaults, sync & handoffs. MCP + OpenAPI dual surface.
- UnifAPIOAuthcom.unifapi
Hosted MCP server for live public-data APIs and Skills for AI agents.
Your org's AI agents, tasks, runs, search, and brain files as MCP tools and resources.
Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.
Related MCP Servers
- FlicenseAqualityDmaintenanceMCP server for creating, monitoring, and managing Devin AI sessions.41-
- AlicenseAqualityCmaintenanceEnables MCP-compatible clients to interact with AnythingLLM, providing tools for workspace management, chat and thread operations, document operations, vector search, and system inspection.346MIT

deAPI MCP Serverofficial
AlicenseNot gradedqualityDmaintenanceProduction-ready MCP server for the deAPI REST API, exposing AI capabilities like audio transcription, image generation, OCR, video generation, and text-to-speech as MCP tools.1MIT- FlicenseNot gradedqualityAmaintenanceAgent-native API client for executing REST, GraphQL, WebSocket, SSE, and gRPC requests from MCP-capable agents, with token-efficient responses and file-based collections.-
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/jsklan/devin-api-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server