
Plane MCP Server
Official Plane MCP server: manage projects, work items, cycles, modules, and initiatives from AI agents.
Add to your client
Copy the config for your MCP client and paste it into its config file.
Paste into ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"plane-mcp-server": {
"command": "uvx",
"args": [
"plane-mcp-server",
"stdio"
],
"env": {
"PLANE_API_KEY": "<your-api-key>",
"PLANE_WORKSPACE_SLUG": "<your-workspace-slug>",
"PLANE_BASE_URL": "https://api.plane.so"
}
}
}
}Requires `uv` (the Python package runner). Install it from https://docs.astral.sh/uv/ if `uvx` is not found.
Step-by-step guides: Add to Claude Desktop · Add to Cursor · Add to Windsurf
Before you start
- A Plane account and workspace (cloud at plane.so or self-hosted)
- A Plane API key and workspace slug (for stdio transport)
- Python 3.10+ for stdio transport via uvx
- Node.js 22+ for remote transports via npx (mcp-remote)
About Plane MCP Server
Plane MCP Server is the official MCP integration for Plane, an open-source project management tool. It lets AI agents read and modify Plane data — projects, work items, cycles, modules, initiatives, pages, labels, states, comments, links, work logs, milestones, and workspace/user info — through 100+ tools. It runs locally via uvx (stdio) with an API key, or connects to Plane's hosted MCP endpoint over HTTP with OAuth or a PAT.
Tools & capabilities (37)
list_projectsList all projects in a workspace with optional pagination and filtering
create_projectCreate a new project with name, identifier, and optional configuration
retrieve_projectRetrieve a project by ID
update_projectUpdate a project with partial data
delete_projectDelete a project by ID
get_project_membersGet all members of a project
list_work_itemsList all work items in a project with optional filtering and pagination
create_work_itemCreate a new work item with name, assignees, labels, and other attributes
retrieve_work_itemRetrieve a work item by ID with optional field expansion
update_work_itemUpdate a work item with partial data
delete_work_itemDelete a work item by ID
search_work_itemsSearch work items across a workspace with query string
list_cyclesList cycles in a project (set archived=true for archived)
create_cycleCreate a new cycle with name, dates, and owner
manage_cycle_work_itemsAdd and/or remove work items on a cycle
transfer_cycle_work_itemsTransfer work items from one cycle to another
list_modulesList modules in a project (set archived=true for archived)
create_moduleCreate a new module with name, dates, status, and members
manage_module_work_itemsAdd and/or remove work items on a module
list_initiativesList all initiatives in a workspace
create_initiativeCreate a new initiative with name, dates, state, and lead
list_intake_work_itemsList all intake work items in a project with optional pagination
create_intake_work_itemCreate a new intake work item in a project
list_labelsList all labels in a project
create_labelCreate a new label
list_statesList all states in a project
create_stateCreate a new state
list_work_item_commentsList comments for a work item
create_work_item_commentCreate a comment for a work item
list_work_item_linksList links for a work item
create_work_item_linkCreate a link for a work item
list_work_logsList work logs for a work item
create_work_logCreate a work log for a work item
list_pagesList pages (workspace, or a project's if project_id given)
create_pageCreate a workspace or project page
get_workspace_membersGet all members of the current workspace
get_meGet current authenticated user information
What this server can do
Plane MCP Server provides tools for these capabilities — tap one to see every MCP server that does the same:
When to use it
- Let an AI agent create and triage work items, assign owners, and apply labels in Plane
- Plan and manage sprints by creating cycles and moving work items between them
- Organize work into modules, milestones, and initiatives from natural-language prompts
- Search work items across a workspace and summarize project status or work-log effort
- Maintain project documentation by creating and listing Plane pages
Security notes
Requires a Plane API key (PLANE_API_KEY) and workspace slug for stdio transport; remote HTTP transport supports OAuth or a Personal Access Token (PAT) passed via Authorization and X-Workspace-slug headers. The server emits structured JSON logs; user PII (display name) is only logged when LOG_USER_INFO=true (default false).
Plane MCP Server FAQ
Is this the official Plane MCP server?
Yes. It is published by makeplane, the team behind Plane, and described as Plane's Official Model Context Protocol Server.
What happened to the Node.js version?
The Node.js-based @makeplane/plane-mcp-server is deprecated and no longer maintained. This Python + FastMCP implementation replaces it with better type safety, improved performance, and broader tool coverage.
How do I authenticate?
For local stdio transport, set PLANE_API_KEY and PLANE_WORKSPACE_SLUG (and optionally PLANE_BASE_URL). For the hosted HTTP transport you can use OAuth (handled automatically) or a Personal Access Token passed via Authorization and X-Workspace-slug headers.
Does it work with self-hosted Plane?
Yes. Set PLANE_BASE_URL to your self-hosted Plane API URL instead of the default https://api.plane.so.
Alternatives to Plane MCP Server
Compare all alternatives →AI-powered task-management system for AI-driven development that drops into Cursor, Windsurf, Claude Code, and more.
Background computer-use MCP server that drives native macOS, Windows, and Linux desktop apps without stealing focus.
Self-hosted MCP server for Jira and Confluence Cloud and Server/Data Center.
Compare Plane MCP Server with: