Plane's Official Model Context Protocol Server š āØļø š„
Configuration
View docs{
"mcpServers": {
"makeplane-plane-mcp-server": {
"url": "https://mcp.plane.so/http/mcp",
"headers": {
"PLANE_API_KEY": "your-api-key",
"PLANE_BASE_URL": "https://api.plane.so",
"PLANE_ACCESS_TOKEN": "your-access-token",
"PLANE_WORKSPACE_SLUG": "your-workspace-slug"
}
}
}
}You have a Plane MCP Server that lets you interact with Plane APIs through AI agents. It provides multiple transports, supports both local and remote deployments, and is designed to be extended with new tools and resources to suit your automation and integration needs.
You connect an MCP client to Plane MCP Server to leverage a rich set of automation tools. Choose a transport that matches your environment: stdio for local runs, HTTP for remote access, or SSE for legacy setups. The recommended approach is to use the UVX-based stdio transport for a straightforward local workflow, but you can also connect remotely via OAuth or a PAT for centralized usage.
Prerequisites: you need Python installed, as this server is implemented with Python and FastMCP. You also need a shell environment to run commands and set environment variables.
1) Clone or obtain the Plane MCP Server package and navigate into its directory.
2) Install dependencies for the runtime environment you plan to use (e.g., Python packages or any build steps described for your setup).
3) Run the server using one of the supported transports. The stdio transport is recommended for local use and uses UVX to start the server.
4) Configure your MCP client to connect to the Plane MCP Server using the transport you chose. Below are example configurations you can adapt.
{
"mcpServers": {
"plane": {
"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"
}
}
}
}Remote HTTP transports connect to hosted Plane MCP services and support OAuth or PAT-based authentication. Use the provided URLs and client configurations to connect from your tools.
Authentication is required for local (stdio) usage via environment variables. Remote HTTP transports authenticate through the connection method (OAuth flow or PAT headers) and do not require these local variables.
When using stdio transport locally, protect your API key and workspace slug. For HTTP transports, rely on OAuth or PAT-based access controls to secure remote connections.
If you cannot connect, verify that the transport you selected is running, the API key and workspace slug are correctly set in the stdio configuration, and that any remote URLs are reachable from your network.
The SSE transport is maintained for backward compatibility but is deprecated in favor of the HTTP transports. Prefer the HTTP transports for new implementations.
The Plane MCP Server exposes a comprehensive set of tools to manage Plane projects, work items, cycles, modules, initiatives, intake work items, work item properties, and user data. See the Tools section for a complete list.
List all projects in a workspace with optional pagination and filtering
Create a new project with name, identifier, and optional configuration
Retrieve a project by ID
Update a project with partial data
Delete a project by ID
Get work log summary for a project
Get all members of a project
Get features configuration of a project
Update features configuration of a project
List all work items in a project with optional filtering and pagination
Create a new work item with name, assignees, labels, and other attributes
Retrieve a work item by ID with optional field expansion
Retrieve a work item by project identifier and issue sequence number
Update a work item with partial data
Delete a work item by ID
Search work items across a workspace with query string
List all cycles in a project
Create a new cycle with name, dates, and owner
Retrieve a cycle by ID
Update a cycle with partial data
Delete a cycle by ID
List archived cycles in a project
Add work items to a cycle
Remove a work item from a cycle
List work items in a cycle
Transfer work items from one cycle to another
Archive a cycle
Unarchive a cycle
List all modules in a project
Create a new module with name, dates, status, and members
Retrieve a module by ID
Update a module with partial data
Delete a module by ID
List archived modules in a project
Add work items to a module
Remove a work item from a module
List work items in a module
Archive a module
Unarchive a module
List all initiatives in a workspace
Create a new initiative with name, dates, state, and lead
Retrieve an initiative by ID
Update an initiative with partial data
Delete an initiative by ID
List all intake work items in a project with optional pagination
Create a new intake work item in a project
Retrieve an intake work item by work item ID with optional field expansion
Update an intake work item with partial data
Delete an intake work item by ID
List work item properties for a work item type
Create a new work item property with type, settings, and validation rules
Retrieve a work item property by ID
Update a work item property with partial data
Delete a work item property by ID
Get current authenticated user information