Plane MCP Server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PLANE_API_KEY | Yes | Your Plane API token. You can generate one from the Workspace Settings > API Tokens page (/settings/api-tokens/) in the Plane app. | |
| PLANE_API_HOST_URL | No | The host URL of the Plane API Server. Defaults to https://api.plane.so/ | https://api.plane.so/ |
| PLANE_WORKSPACE_SLUG | Yes | The workspace slug for your Plane instance. The workspace-slug represents the unique workspace identifier for a workspace in Plane. It can be found in the URL. |
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
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_issue_typesC | Get all issue types for a specific project |
| get_issue_typeC | Get details of a specific issue type |
| create_issue_typeC | Create a new issue type in a project |
| update_issue_typeC | Update an existing issue type |
| delete_issue_typeC | Delete an issue type |
| list_statesC | Get all states for a specific project |
| get_stateC | Get details of a specific state |
| create_stateC | Create a new state in a project |
| update_stateC | Update an existing state |
| delete_stateC | Delete a state |
| list_labelsC | Get all labels for a specific project |
| get_labelC | Get details of a specific label |
| create_labelC | Create a new label in a project |
| update_labelC | Update an existing label |
| delete_labelC | Delete a label |
| get_userB | Get the current user's information |
| get_workspace_membersB | Get all members in the current workspace |
| get_projectsB | Get all projects for the current user |
| create_projectC | Create a new project |
| list_modulesC | Get all modules for a specific project |
| get_moduleB | Get details of a specific module |
| create_moduleC | Create a new module in a project |
| update_moduleC | Update an existing module |
| delete_moduleC | Delete a module |
| list_module_issuesB | Get all issues for a specific module |
| add_module_issuesC | Add issues to a module. Assign module to issues. |
| delete_module_issueC | Remove an issue from a module. Unassign module from issue. |
| get_issue_using_readable_identifierC | Get all issues for a specific project. When issue identifier is provided something like FIRST-123, ABC-123, etc. For FIRST-123, project_identifier is FIRST and issue_identifier is 123 |
| get_issue_commentsA | Get all comments for a specific issue. This requests project_id and issue_id as uuid parameters. If you have a readable identifier, you can use the get_issue_using_readable_identifier tool to get the issue_id and project_id |
| add_issue_commentA | Add a comment to a specific issue. This requests project_id and issue_id as uuid parameters. If you have a readable identifier, you can use the get_issue_using_readable_identifier tool to get the issue_id and project_id |
| create_issueB | Create an issue. This requests project_id as uuid parameter. If you have a readable identifier for project, you can use the get_projects tool to get the project_id from it |
| update_issueB | Update an issue. This requests project_id and issue_id as uuid parameters. If you have a readable identifier, you can use the get_issue_using_readable_identifier tool to get the issue_id and project_id |
| list_cyclesC | Get all cycles for a specific project |
| get_cycleC | Get details of a specific cycle |
| create_cycleC | Create a new cycle in a project |
| update_cycleC | Update an existing cycle |
| delete_cycleC | Delete a cycle |
| transfer_cycle_issuesC | Transfer issues from one cycle to another |
| list_cycle_issuesC | Get all issues for a specific cycle |
| add_cycle_issuesC | Add issues to a cycle |
| delete_cycle_issueC | Remove an issue from a cycle |
| get_issue_worklogsC | Get all worklogs for a specific issue |
| get_total_worklogsC | Get total logged time for a project |
| create_worklogC | Create a new worklog for an issue |
| update_worklogC | Update an existing worklog |
| delete_worklogC | Delete a worklog |
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 46 tools
Most tools have distinct purposes targeting specific resources and actions, with clear boundaries between operations like create, get, list, update, and delete. However, some potential confusion exists between 'add_cycle_issues' and 'transfer_cycle_issues' or between various 'get' tools that might overlap in retrieving issue-related data, though descriptions help clarify their specific contexts.
Tool names follow a highly consistent verb_noun pattern throughout, such as create_cycle, get_issue, update_label, and delete_module. All tools use snake_case uniformly, with verbs like add, create, delete, get, list, transfer, and update applied predictably across different resources, making the naming scheme very coherent and readable.
With 46 tools, the count is excessive for a project management server, likely overwhelming for agents and leading to complexity in tool selection. While the domain is broad, a more focused set of 15-25 tools would be more manageable, as many operations could be consolidated or generalized rather than having separate tools for each minor variation.
The tool set provides comprehensive CRUD and lifecycle coverage for the project management domain, including projects, issues, cycles, modules, labels, states, worklogs, and comments. It supports all essential operations from creation to deletion, with additional utilities like transfer and listing, leaving no obvious gaps for core workflows.