plane-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PLANE_API_KEY | No | API key for authentication (required for stdio transport if PLANE_ACCESS_TOKEN not used) | |
| PLANE_BASE_URL | No | Base URL for Plane API (optional, defaults to https://api.plane.so) | https://api.plane.so |
| PLANE_ACCESS_TOKEN | No | Access token for authentication (alternative to PLANE_API_KEY) | |
| PLANE_WORKSPACE_SLUG | No | Workspace slug identifier (required for stdio transport) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_projectsC | List all projects in a workspace. |
| create_projectC | Create a new project. |
| retrieve_projectB | Retrieve a project by ID. |
| update_projectB | Update a project by ID. |
| delete_projectA | Delete a project by ID. |
| get_project_worklog_summaryB | Get work log summary for a project. |
| get_project_membersC | Get all members of a project. |
| get_project_featuresC | Get features of a project. |
| update_project_featuresC | Update features of a project. |
| list_work_itemsA | List work items in a project or search across the workspace. When any filter parameter is provided (assignee_ids, state_ids, state_groups, priorities, label_ids, type_ids, cycle_ids, module_ids, is_archived, created_by_ids, or query), this uses the advanced search endpoint which supports powerful filtering. Otherwise it uses the standard list endpoint. |
| create_work_itemC | Create a new work item. |
| retrieve_work_itemC | Retrieve a work item by ID. |
| retrieve_work_item_by_identifierB | Retrieve a work item by project identifier and issue sequence number. |
| update_work_itemC | Update a work item by ID. |
| delete_work_itemB | Delete a work item by ID. |
| search_work_itemsC | Search work items across a workspace. |
| list_work_item_activitiesC | List activities for a work item. |
| retrieve_work_item_activityB | Retrieve a specific activity for a work item. |
| list_work_item_commentsC | List comments for a work item. |
| retrieve_work_item_commentB | Retrieve a specific comment for a work item. |
| create_work_item_commentC | Create a comment for a work item. |
| update_work_item_commentC | Update a comment for a work item. |
| delete_work_item_commentB | Delete a comment for a work item. |
| list_work_item_linksA | List links for a work item. |
| retrieve_work_item_linkB | Retrieve a specific link for a work item. |
| create_work_item_linkC | Create a link for a work item. |
| update_work_item_linkC | Update a link for a work item. |
| delete_work_item_linkB | Delete a link for a work item. |
| list_work_item_relationsC | List relations for a work item. |
| create_work_item_relationC | Create relations for a work item. |
| remove_work_item_relationC | Remove a relation from a work item. |
| list_work_logsC | List work logs for a work item. |
| create_work_logB | Create a work log for a work item. |
| update_work_logC | Update a work log for a work item. |
| delete_work_logB | Delete a work log for a work item. |
| list_cyclesC | List all cycles in a project. |
| create_cycleC | Create a new cycle. |
| retrieve_cycleB | Retrieve a cycle by ID. |
| update_cycleC | Update a cycle by ID. |
| delete_cycleB | Delete a cycle by ID. |
| list_archived_cyclesB | List archived cycles in a project. |
| add_work_items_to_cycleC | Add work items to a cycle. |
| remove_work_item_from_cycleB | Remove a work item from a cycle. |
| list_cycle_work_itemsB | List work items in a cycle. |
| transfer_cycle_work_itemsC | Transfer work items from one cycle to another. |
| archive_cycleC | Archive a cycle. |
| unarchive_cycleB | Unarchive a cycle. |
| get_meA | Get current user information. Returns: UserLite object containing current user information |
| list_modulesC | List all modules in a project. |
| create_moduleC | Create a new module. |
| retrieve_moduleC | Retrieve a module by ID. |
| update_moduleC | Update a module by ID. |
| delete_moduleB | Delete a module by ID. |
| list_archived_modulesA | List archived modules in a project. |
| add_work_items_to_moduleC | Add work items to a module. |
| remove_work_item_from_moduleB | Remove a work item from a module. |
| list_module_work_itemsB | List work items in a module. |
| archive_moduleC | Archive a module. |
| unarchive_moduleB | Unarchive a module. |
| list_initiativesB | List all initiatives in a workspace. |
| create_initiativeC | Create a new initiative in the workspace. |
| retrieve_initiativeB | Retrieve an initiative by ID. |
| update_initiativeB | Update an initiative by ID. |
| delete_initiativeB | Delete an initiative by ID. |
| list_intake_work_itemsB | List all intake work items in a project. |
| create_intake_work_itemB | Create a new intake work item in a project. |
| retrieve_intake_work_itemC | Retrieve an intake work item by work item ID. |
| update_intake_work_itemC | Update an intake work item by work item ID. |
| delete_intake_work_itemA | Delete an intake work item by work item ID. |
| list_labelsC | List all labels in a project. |
| create_labelC | Create a new label. |
| retrieve_labelA | Retrieve a label by ID. |
| update_labelC | Update a label by ID. |
| delete_labelC | Delete a label by ID. |
| retrieve_workspace_pageC | Retrieve a workspace page by ID. |
| retrieve_project_pageC | Retrieve a project page by ID. |
| create_workspace_pageC | Create a workspace page. |
| create_project_pageC | Create a project page. |
| list_work_item_propertiesB | List work item properties for a work item type. |
| create_work_item_propertyB | Create a new work item property. |
| retrieve_work_item_propertyC | Retrieve a work item property by ID. |
| update_work_item_propertyB | Update a work item property by ID. |
| delete_work_item_propertyC | Delete a work item property by ID. |
| list_work_item_typesB | List all work item types in a project. |
| create_work_item_typeC | Create a new work item type. |
| retrieve_work_item_typeB | Retrieve a work item type by ID. |
| update_work_item_typeB | Update a work item type by ID. |
| delete_work_item_typeC | Delete a work item type by ID. |
| list_statesB | List all states in a project. |
| create_stateC | Create a new state. |
| retrieve_stateA | Retrieve a state by ID. |
| update_stateC | Update a state by ID. |
| delete_stateC | Delete a state by ID. |
| get_workspace_membersA | Get all members of the current workspace. Returns: List of UserLite objects representing workspace members |
| get_workspace_featuresC | Get features of the current workspace. Returns: WorkspaceFeature object containing feature flags |
| update_workspace_featuresB | Update features of the current workspace. |
| list_epicsC | List all epics in a project. |
| create_epicC | Create a new epic. |
| update_epicB | Update an epic by ID. |
| retrieve_epicC | Retrieve an epic by ID. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 109 tools
Several tools have overlapping boundaries: list_work_items already accepts module_ids/cycle_ids and can search across the workspace, duplicating list_module_work_items, list_cycle_work_items, and search_work_items. The additional split between get_* and retrieve_* methods, plus work_item_links vs work_item_relations, creates further ambiguity at this scale.
Most resources follow a consistent list_/create_/retrieve_/update_/delete_ CRUD pattern. Minor deviations exist: get_me, get_project_*, and get_workspace_* use get_ instead of retrieve_, and a few container actions are inconsistent in singular/plural phrasing.
At 109 tools, this is an extreme-sized MCP surface, far beyond the 3-15 tool sweet spot and well past the 25+ 'too many' threshold. Even if each endpoint maps to a real API operation, the tool count creates excessive selection overhead for agents.
Core resources like projects, work items, cycles, modules, epics, milestones, states, labels, and types have solid CRUD/lifecycle coverage. However, pages only have create/retrieve with no list/update/delete, and work item relations lack retrieve/update operations, leaving noticeable gaps.