by makeplane
Integrate with Plane for automated project and workflow management. Streamline software workflow tasks using robust work
Connects AI assistants to Plane's project management platform with over 30 tools for managing projects, issues, cycles, and work logs. Available as both local installation and hosted remote service with OAuth authentication.
Plane Project Management is an official MCP server published by makeplane that provides AI assistants with tools and capabilities via the Model Context Protocol. Integrate with Plane for automated project and workflow management. Streamline software workflow tasks using robust work It is categorized under developer tools, productivity.
You can install Plane Project Management in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.
MIT
Plane Project Management is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.
Add new capabilities to Claude beyond text generation
Example
Access external data sources, execute code, interact with tools and services
Transform Claude from chatbot to action-taking agent
Provide Claude with access to relevant context and data
Example
Load project documentation, access knowledge bases, query databases
Get more accurate, context-aware responses
Automate multi-step workflows combining AI and external tools
Example
Research → Summarize → Create document → Send notification
Complete complex tasks end-to-end without manual steps
Share your MCP server with the developer community
Useful MCP listing: Plane Project Management is the kind of server we cite when onboarding engineers to host + tool permissions.
We evaluated Plane Project Management against two servers with overlapping tools; this profile had the clearer scope statement.
I recommend Plane Project Management for teams standardizing on MCP; the explainx.ai page compares cleanly with sibling servers.
Plane Project Management is a well-scoped MCP server in the explainx.ai directory — install snippets and categories matched our Claude Code setup.
According to our notes, Plane Project Management benefits from clear Model Context Protocol framing — fewer ambiguous “AI plugin” claims.
According to our notes, Plane Project Management benefits from clear Model Context Protocol framing — fewer ambiguous “AI plugin” claims.
Plane Project Management has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.
We wired Plane Project Management into a staging workspace; the listing’s GitHub and npm pointers saved time versus hunting across READMEs.
We wired Plane Project Management into a staging workspace; the listing’s GitHub and npm pointers saved time versus hunting across READMEs.
Strong directory entry: Plane Project Management surfaces stars and publisher context so we could sanity-check maintenance before adopting.
showing 1-10 of 48
A Model Context Protocol (MCP) server for Plane integration. This server provides tools and resources for interacting with Plane through AI agents.
The server supports three transport methods. We recommend using uvx as it doesn't require installation.
MCP Client Configuration (using uvx - recommended):
{
"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"
}
}
}
}
Connect to the hosted Plane MCP server using OAuth authentication.
URL: https://mcp.plane.so/http/mcp
MCP Client Configuration (for tools like Claude Desktop without native remote MCP support):
{
"mcpServers": {
"plane": {
"command": "npx",
"args": ["mcp-remote@latest", "https://mcp.plane.so/http/mcp"]
}
}
}
Note: OAuth authentication will be handled automatically when connecting to the remote server.
Connect to the hosted Plane MCP server using a Personal Access Token (PAT).
URL: https://mcp.plane.so/api-key/mcp
Headers:
Authorization: Bearer <PAT_TOKEN>X-Workspace-slug: <SLUG>MCP Client Configuration (for tools like Claude Desktop without native remote MCP support):
{
"mcpServers": {
"plane": {
"command": "npx",
"args": ["mcp-remote@latest", "https://mcp.plane.so/http/api-key/mcp"],
"headers": {
"Authorization": "Bearer <PAT_TOKEN>",
"X-Workspace-slug": "<SLUG>"
}
}
}
}
⚠️ Legacy Transport: SSE (Server-Sent Events) transport is maintained for backward compatibility. New implementations should use the HTTP transport (sections 2 or 3) instead.
Connect to the hosted Plane MCP server using OAuth authentication via Server-Sent Events.
URL: https://mcp.plane.so/sse
MCP Client Configuration (for tools that support SSE transport):
{
"mcpServers": {
"plane": {
"command": "npx",
"args": ["mcp-remote@latest", "https://mcp.plane.so/sse"]
}
}
}
Note: OAuth authentication will be handled automatically when connecting to the remote server. This transport is deprecated in favor of the HTTP transport.
The server requires authentication via environment variables:
PLANE_BASE_URL: Base URL for Plane API (default: https://api.plane.so) - OptionalPLANE_API_KEY: API key for authentication (required for stdio transport)PLANE_WORKSPACE_SLUG: Workspace slug identifier (required for stdio transport)PLANE_ACCESS_TOKEN: Access token for authentication (alternative to API key)Example (for stdio transport):
export PLANE_BASE_URL="https://api.plane.so"
export PLANE_API_KEY="your-api-key"
export PLANE_WORKSPACE_SLUG="your-workspace-slug"
Note: For remote HTTP transports (OAuth or PAT), authentication is handled via the connection method (OAuth flow or PAT headers) and does not require these environment variables.
The server provides comprehensive tools for interacting with Plane. All tools use Pydantic models from the Plane SDK for type safety and validation.
| Tool Name | Description |
|---|---|
list_projects | List all projects in a workspace with optional pagination and filtering |
create_project | Create a new project with name, identifier, and optional configuration |
retrieve_project | Retrieve a project by ID |
update_project | Update a project with partial data |
delete_project | Delete a project by ID |
get_project_worklog_summary | Get work log summary for a project |
get_project_members | Get all members of a project |
get_project_features | Get features configuration of a project |
update_project_features | Update features configuration of a project |
| Tool Name | Description |
|---|---|
list_work_items | List all work items in a project with optional filtering and pagination |
create_work_item | Create a new work item with name, assignees, labels, and other attributes |
retrieve_work_item | Retrieve a work item by ID with optional field expansion |
retrieve_work_item_by_identifier | Retrieve a work item by project identifier and issue sequence number |
update_work_item | Update a work item with partial data |
delete_work_item | Delete a work item by ID |
search_work_items | Search work items across a workspace with query string |
| Tool Name | Description |
|---|---|
list_cycles | List all cycles in a project |
create_cycle | Create a new cycle with name, dates, and owner |
retrieve_cycle | Retrieve a cycle by ID |
update_cycle | Update a cycle with partial data |
delete_cycle | Delete a cycle by ID |
list_archived_cycles | List archived cycles in a project |
add_work_items_to_cycle | Add work items to a cycle |
remove_work_item_from_cycle | Remove a work item from a cycle |
list_cycle_work_items | List work items in a cycle |
transfer_cycle_work_items | Transfer work items from one cycle to another |
archive_cycle | Archive a cycle |
unarchive_cycle | Unarchive a cycle |
| Tool Name | Description |
|---|---|
list_modules | List all modules in a project |
create_module | Create a new module with name, dates, status, and members |
retrieve_module | Retrieve a module by ID |
update_module | Update a module with partial data |
delete_module | Delete a module by ID |
list_archived_modules | List archived modules in a project |
add_work_items_to_module | Add work items to a module |
remove_work_item_from_module | Remove a work item from a module |
list_module_work_items | List work items in a module |
archive_module | Archive a module |
unarchive_module | Unarchive a module |
| Tool Name | Description |
|---|---|
list_initiatives | List all initiatives in a workspace |
create_initiative | Create a new initiative with name, dates, state, and lead |
retrieve_initiative | Retrieve an initiative by ID |
update_initiative | Update an initiative with partial data |
delete_initiative | Delete an initiative by ID |
| Tool Name | Description |
|---|---|
list_intake_work_items | List all intake work items in a project with optional pagination |
create_intake_work_item | Create a new intake work item in a project |
retrieve_intake_work_item | Retrieve an intake work item by work item ID with optional field expansion |
update_intake_work_item | Update an intake work item with partial data |
delete_intake_work_item | Delete an intake work item by work item ID |
| Tool Name | Description |
|---|---|
list_work_item_properties | List work item properties for a work item type |
create_work_item_property | Create a new work item property with type, settings, and validation rules |
retrieve_work_item_property | Retrieve a work item property by ID |
update_work_item_property | Update a work item property with partial data |
delete_work_item_property | Delete a work item property by ID |
| Tool Name | Description |
|---|---|
get_me | Get current authenticated user information |
Total Tools: 55+ tools across 8 categories
pytest
black plane_mcp/
ruff check plane_mcp/
MIT License - see LICENSE for details.
Contributions are welcome! Please feel free to submit a Pull Request.
⚠️ The Node.js-based plane-mcp-server is deprecated and no longer maintained.
This repository represents the new Python+FastMCP based implementation of the Plane MCP server. If you were using the previous Node.js version, please migrate to this Python-based version for continued support and updates.
The new implementation offers:
For migration assistance, please refer to the configuration examples in this README or open an issue for support.
Old Node.js Configuration (Deprecated):
If you were using the previous Node.js-based @makeplane/plane-mcp-server, your configuration looked like this:
{
"mcpServers": {
"plane": {
"command": "npx",
"args": [
"-y",
"@makeplane/plane-mcp-server"
],
"env": {
"PLANE_API_KEY": "<YOUR_API_KEY>",
"PLANE_API_HOST_URL": "<HOST_URL_FOR_SELF_HOSTED>",
"PLANE_WORKSPACE_SLUG": "<YOUR_WORKSPACE_SLUG>"
}
}
}
}
Please migrate to the new Python-based configuration shown in the Usage section above.
Prerequisites
Time Estimate
15-60 minutes depending on server complexity
Steps
Troubleshooting
✓ Do
✗ Don't
💡 Pro Tips
Architecture
Model Context Protocol standardizes how AI hosts (Claude, Cursor) communicate with external tools and data sources through server implementations.
Protocols
Compatibility
✓ Use when
Use when you need Claude to access external data, execute actions, or integrate with tools. Best for extending AI capabilities beyond conversation.
✗ Avoid when
Avoid when native integrations exist (use official APIs directly), for real-time critical systems, or when security/compliance requires zero external dependencies.