Used for creating custom badges to display project status, quality metrics, and compatibility information in documentation
Plane MCP Server
A Model Context Protocol (MCP) server that enables LLMs to interact with Plane.so, allowing them to manage projects and issues through Plane's API. Using this server, LLMs like Claude can directly interact with your project management workflows while maintaining user control and security.
⚠️ Important: This MCP server is designed specifically for Plane Cloud instances. It only works with workspaces hosted on
https://app.plane.so/workspace-slug
. If you're using a self-hosted Plane installation, this server will not be compatible.
Note: This is an enhanced fork of the original kelvin6365/plane-mcp-server, extended with comprehensive Plane API functionality including states, modules (sprints), cycles, labels, team management, comments, links, attachments, time tracking, and issue types.
Features
Pagination Support
- Cursor-based pagination for all list operations (projects, issues, modules, cycles, labels)
- Configurable page sizes up to 100 items per page
- Navigation through large datasets with next/previous cursors
- Consistent pagination across all list tools
Project Management
- List all projects in your Plane workspace with pagination
- Get detailed information about specific projects
Issue Management
- Create new issues with customizable properties
- List and filter issues from projects
- Get detailed information about specific issues
- Update existing issues with new information
State Management
- List all states in a project
- Get detailed information about specific states
- Create new states with customizable properties
- Update existing states
- Delete states from projects
Module (Sprint) Management
- List all modules (sprints) in a project
- Get detailed information about specific modules
- Create new modules with customizable properties
- Update existing modules
- Delete modules from projects
- List issues assigned to specific modules
- Add/remove issues to/from modules
Cycle Management
- List all cycles in a project
- Get detailed information about specific cycles
- Create new cycles with customizable properties
- Update existing cycles
- Delete cycles from projects
- List issues assigned to specific cycles
- Add/remove issues to/from cycles
Label Management
- List all labels in a project
- Get detailed information about specific labels
- Create new labels with customizable properties
- Update existing labels
- Delete labels from projects
Team & Workspace Management
- List all members in the workspace
- List members assigned to specific projects
Issue Comments & Communication
- List, create, update, and delete comments on issues
- Track discussion history and collaboration
Issue Links & External References
- Attach external links to issues (documentation, PRs, etc.)
- Manage and update issue-related URLs
File Attachments
- List file attachments for issues
- Generate upload URLs for new attachments
Issue Activity & History
- View complete activity history for issues
- Track all changes and updates
Time Tracking (Worklogs)
- Log time spent on specific issues
- View project-wide time tracking summaries
- Update and manage worklog entries
Custom Issue Types
- Create and manage custom issue types
- Define project-specific issue categories
Intake Issues (Triage)
- Handle intake/inbox issues for triage
- Manage issue submissions before project assignment
Custom Issue Properties
- Create and manage custom properties for issue types
- Support for various property types (text, number, date, options, boolean)
- Configure dropdown options for select properties
- Set required fields and validation rules
Sub-issues & Relations
- Create hierarchical issue structures with parent-child relationships
- Convert existing issues to sub-issues
- List and manage sub-issue trees
- Convert sub-issues back to regular issues
Issue Transfer Operations
- Transfer issues between cycles for better sprint management
- Bulk move issues to different project phases
Prerequisites
- Node.js 22.x or higher
- A Plane.so API key
- A Plane.so workspace
Installation
Option 1: Using NPM (Recommended)
The quickest way to get started is to use the published npm package:
Add this configuration to your Claude for Desktop config file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
Option 2: Manual Setup
If you prefer to set up the server manually, follow these steps:
- Clone this repository:
- Install dependencies:
- Build the server:
Getting Your Plane API Credentials
To use this MCP server, you'll need:
- Plane API Key: Generate one from your personal settings (not workspace settings) in Plane
- Workspace Slug: Found in your Plane workspace URL (e.g.,
https://app.plane.so/workspace-slug/
)
After obtaining these credentials, use them in your Claude configuration as shown in the installation options above.
Available Tools
Note: Tool names use hyphens (e.g.,
list-projects
), not underscores. The server will automatically convert underscores to hyphens for compatibility.
list-projects
Lists all projects in your Plane workspace with pagination support.
Parameters:
per_page
(optional): Number of items per page (default: 100, max: 100)cursor
(optional): Pagination cursor in format 'value'
Example:
Example with pagination:
get-project
Gets detailed information about a specific project.
Parameters:
project_id
: ID of the project to retrieve
Example:
create-issue
Creates a new issue in a specified project.
Parameters:
project_id
: ID of the project where the issue should be createdname
: Title of the issuedescription_html
: HTML description of the issue (required by Plane API)priority
(optional): Priority of the issue ("urgent", "high", "medium", "low", "none")state_id
(optional): ID of the state for this issueassignees
(optional): Array of user IDs to assign to this issuelabels
(optional): Array of label IDs to assign to this issue
Note: The
assignees
andlabels
parameters must be arrays of ID strings. Common errors include providing a dictionary/object instead of an array, or accidentally nesting the entire issue data inside these fields. The server will attempt to handle these cases, but it's best to use the correct format.
Example:
list-issues
Lists issues from a specified project with optional filtering and pagination.
Parameters:
project_id
: ID of the project to get issues fromstate_id
(optional): Filter by state IDpriority
(optional): Filter by priorityassignee_id
(optional): Filter by assignee IDper_page
(optional): Number of items per page (default: 100, max: 100)cursor
(optional): Pagination cursor in format 'value'
Examples:
Basic filtering:
With pagination (first page):
With pagination (next page using cursor from previous response):
get-issue
Gets detailed information about a specific issue.
Parameters:
project_id
: ID of the project containing the issueissue_id
: ID of the issue to retrieve
Example:
update-issue
Updates an existing issue in a project.
Parameters:
project_id
: ID of the project containing the issueissue_id
: ID of the issue to updatename
(optional): Updated title of the issuedescription_html
(optional): HTML description of the issue (required by Plane API)priority
(optional): Updated priority of the issuestate_id
(optional): Updated state ID of the issueassignees
(optional): Updated array of user IDs to assign to this issuelabels
(optional): Updated array of label IDs to assign to this issue
Note: The
assignees
andlabels
parameters must be arrays of ID strings, following the same format guidelines as the create-issue tool.
Example:
State Management Tools
list-states
Lists all states in a project.
Parameters:
project_id
: ID of the project to get states from
Example:
get-state
Gets detailed information about a specific state.
Parameters:
project_id
: ID of the project containing the statestate_id
: ID of the state to retrieve
Example:
create-state
Creates a new state in a project.
Parameters:
project_id
: ID of the project where the state should be createdname
: Name of the stategroup
: State group ("unstarted", "started", "completed", "cancelled")description
(optional): Description of the statecolor
(optional): Color code for the state (e.g., "#ff0000")
Example:
update-state
Updates an existing state in a project.
Parameters:
project_id
: ID of the project containing the statestate_id
: ID of the state to updatename
(optional): Updated name of the statedescription
(optional): Updated description of the statecolor
(optional): Updated color code for the stategroup
(optional): Updated state group
Example:
delete-state
Deletes a state from a project.
Parameters:
project_id
: ID of the project containing the statestate_id
: ID of the state to delete
Example:
Module (Sprint) Management Tools
list-modules
Lists all modules (sprints) in a project with pagination support.
Parameters:
project_id
: ID of the project to get modules fromper_page
(optional): Number of items per page (default: 100, max: 100)cursor
(optional): Pagination cursor in format 'value'
Example:
Example with pagination:
get-module
Gets detailed information about a specific module.
Parameters:
project_id
: ID of the project containing the modulemodule_id
: ID of the module to retrieve
Example:
create-module
Creates a new module (sprint) in a project.
Parameters:
project_id
: ID of the project where the module should be createdname
: Name of the moduledescription
(optional): Description of the modulestart_date
(optional): Start date of the module (YYYY-MM-DD format)target_date
(optional): Target end date of the module (YYYY-MM-DD format)status
(optional): Status of the module ("planned", "in-progress", "paused", "completed", "cancelled")lead
(optional): User ID of the module leadmembers
(optional): Array of user IDs to assign as module members
Example:
update-module
Updates an existing module in a project.
Parameters:
project_id
: ID of the project containing the modulemodule_id
: ID of the module to updatename
(optional): Updated name of the moduledescription
(optional): Updated description of the modulestart_date
(optional): Updated start date of the moduletarget_date
(optional): Updated target end date of the modulestatus
(optional): Updated status of the modulelead
(optional): Updated user ID of the module leadmembers
(optional): Updated array of user IDs for module members
Example:
delete-module
Deletes a module from a project.
Parameters:
project_id
: ID of the project containing the modulemodule_id
: ID of the module to delete
Example:
list-module-issues
Lists all issues in a specific module.
Parameters:
project_id
: ID of the project containing the modulemodule_id
: ID of the module to get issues from
Example:
add-issues-to-module
Adds issues to a module.
Parameters:
project_id
: ID of the project containing the modulemodule_id
: ID of the module to add issues toissues
: Array of issue IDs to add to the module
Example:
remove-issue-from-module
Removes an issue from a module.
Parameters:
project_id
: ID of the project containing the modulemodule_id
: ID of the module to remove issue fromissue_id
: ID of the issue to remove from the module
Example:
Cycle Management Tools
list-cycles
Lists all cycles in a project with pagination support.
Parameters:
project_id
: ID of the project to get cycles fromper_page
(optional): Number of items per page (default: 100, max: 100)cursor
(optional): Pagination cursor in format 'value'
Example:
Example with pagination:
get-cycle
Gets detailed information about a specific cycle.
Parameters:
project_id
: ID of the project containing the cyclecycle_id
: ID of the cycle to retrieve
Example:
create-cycle
Creates a new cycle in a project.
Parameters:
project_id
: ID of the project where the cycle should be createdname
: Name of the cycleowned_by
: ID of the user who will own this cycledescription
(optional): Description of the cyclestart_date
(optional): Start date of the cycle (YYYY-MM-DD format)end_date
(optional): End date of the cycle (YYYY-MM-DD format)
Example:
update-cycle
Updates an existing cycle in a project.
Parameters:
project_id
: ID of the project containing the cyclecycle_id
: ID of the cycle to updatename
(optional): Updated name of the cycledescription
(optional): Updated description of the cyclestart_date
(optional): Updated start date of the cycle (YYYY-MM-DD format)end_date
(optional): Updated end date of the cycle (YYYY-MM-DD format)
Example:
delete-cycle
Deletes a cycle from a project.
Parameters:
project_id
: ID of the project containing the cyclecycle_id
: ID of the cycle to delete
Example:
list-cycle-issues
Lists all issues in a specific cycle.
Parameters:
project_id
: ID of the project containing the cyclecycle_id
: ID of the cycle to get issues from
Example:
add-issues-to-cycle
Adds issues to a cycle.
Parameters:
project_id
: ID of the project containing the cyclecycle_id
: ID of the cycle to add issues toissues
: Array of issue IDs to add to the cycle
Example:
remove-issue-from-cycle
Removes an issue from a cycle.
Parameters:
project_id
: ID of the project containing the cyclecycle_id
: ID of the cycle to remove issue fromissue_id
: ID of the issue to remove from the cycle
Example:
Label Management Tools
list-labels
Lists all labels in a project with pagination support.
Parameters:
project_id
: ID of the project to get labels fromper_page
(optional): Number of items per page (default: 100, max: 100)cursor
(optional): Pagination cursor in format 'value'
Example:
Example with pagination:
get-label
Gets detailed information about a specific label.
Parameters:
project_id
: ID of the project containing the labellabel_id
: ID of the label to retrieve
Example:
create-label
Creates a new label in a project.
Parameters:
project_id
: ID of the project where the label should be createdname
: Name of the labeldescription
(optional): Description of the labelcolor
(optional): Color code for the label (e.g., "#ff0000")
Example:
update-label
Updates an existing label in a project.
Parameters:
project_id
: ID of the project containing the labellabel_id
: ID of the label to updatename
(optional): Updated name of the labeldescription
(optional): Updated description of the labelcolor
(optional): Updated color code for the label (e.g., "#ff0000")
Example:
delete-label
Deletes a label from a project.
Parameters:
project_id
: ID of the project containing the labellabel_id
: ID of the label to delete
Example:
Team & Workspace Management Tools
list-workspace-members
Lists all members in the workspace.
Parameters: None
Example:
list-project-members
Lists all members in a specific project.
Parameters:
project_id
: ID of the project to get members from
Example:
Issue Comments Tools
list-issue-comments
Lists all comments on a specific issue.
Parameters:
project_id
: ID of the project containing the issueissue_id
: ID of the issue to get comments from
Example:
get-issue-comment
Gets detailed information about a specific comment.
Parameters:
project_id
: ID of the project containing the issueissue_id
: ID of the issue containing the commentcomment_id
: ID of the comment to retrieve
Example:
create-issue-comment
Creates a new comment on an issue.
Parameters:
project_id
: ID of the project containing the issueissue_id
: ID of the issue to comment oncomment
: The comment text
Example:
update-issue-comment
Updates an existing comment on an issue.
Parameters:
project_id
: ID of the project containing the issueissue_id
: ID of the issue containing the commentcomment_id
: ID of the comment to updatecomment
: The updated comment text
Example:
delete-issue-comment
Deletes a comment from an issue.
Parameters:
project_id
: ID of the project containing the issueissue_id
: ID of the issue containing the commentcomment_id
: ID of the comment to delete
Example:
Issue Links Tools
list-issue-links
Lists all external links attached to an issue.
Parameters:
project_id
: ID of the project containing the issueissue_id
: ID of the issue to get links from
Example:
get-issue-link
Gets detailed information about a specific issue link.
Parameters:
project_id
: ID of the project containing the issueissue_id
: ID of the issue containing the linklink_id
: ID of the link to retrieve
Example:
create-issue-link
Creates a new external link for an issue.
Parameters:
project_id
: ID of the project containing the issueissue_id
: ID of the issue to add link totitle
: Title/name for the linkurl
: The URL to link to
Example:
update-issue-link
Updates an existing issue link.
Parameters:
project_id
: ID of the project containing the issueissue_id
: ID of the issue containing the linklink_id
: ID of the link to updatetitle
(optional): Updated title/name for the linkurl
(optional): Updated URL
Example:
delete-issue-link
Deletes an external link from an issue.
Parameters:
project_id
: ID of the project containing the issueissue_id
: ID of the issue containing the linklink_id
: ID of the link to delete
Example:
Issue Attachments Tools
list-issue-attachments
Lists all file attachments for an issue.
Parameters:
project_id
: ID of the project containing the issueissue_id
: ID of the issue to get attachments from
Example:
get-issue-attachment-upload-url
Gets a pre-signed URL for uploading file attachments to an issue.
Parameters:
project_id
: ID of the project containing the issueissue_id
: ID of the issue to attach file tofile_name
: Name of the file to uploadfile_size
: Size of the file in bytescontent_type
: MIME type of the file (e.g., 'image/png', 'application/pdf')
Example:
Issue Activities Tools
list-issue-activities
Lists all activities/history for an issue.
Parameters:
project_id
: ID of the project containing the issueissue_id
: ID of the issue to get activities from
Example:
get-issue-activity
Gets detailed information about a specific issue activity.
Parameters:
project_id
: ID of the project containing the issueissue_id
: ID of the issue containing the activityactivity_id
: ID of the activity to retrieve
Example:
Worklogs (Time Tracking) Tools
list-issue-worklogs
Lists all time logs for a specific issue.
Parameters:
project_id
: ID of the project containing the issueissue_id
: ID of the issue to get worklogs from
Example:
get-project-total-worklogs
Gets total time logged across all issues in a project.
Parameters:
project_id
: ID of the project to get total worklogs from
Example:
create-issue-worklog
Creates a new time log entry for an issue.
Parameters:
project_id
: ID of the project containing the issueissue_id
: ID of the issue to log time forduration
: Time logged in hours (e.g., 2.5 for 2 hours 30 minutes)description
(optional): Description of the work done
Example:
update-issue-worklog
Updates an existing worklog entry.
Parameters:
project_id
: ID of the project containing the issueissue_id
: ID of the issue containing the worklogworklog_id
: ID of the worklog to updateduration
(optional): Updated time logged in hoursdescription
(optional): Updated description of the work done
Example:
delete-issue-worklog
Deletes a worklog entry from an issue.
Parameters:
project_id
: ID of the project containing the issueissue_id
: ID of the issue containing the worklogworklog_id
: ID of the worklog to delete
Example:
Issue Types Tools
list-issue-types
Lists all custom issue types in a project.
Parameters:
project_id
: ID of the project to get issue types from
Example:
get-issue-type
Gets detailed information about a specific issue type.
Parameters:
project_id
: ID of the project containing the issue typetype_id
: ID of the issue type to retrieve
Example:
create-issue-type
Creates a new custom issue type in a project.
Parameters:
project_id
: ID of the project to create issue type inname
: Name of the issue typedescription
(optional): Description of the issue type
Example:
update-issue-type
Updates an existing issue type.
Parameters:
project_id
: ID of the project containing the issue typetype_id
: ID of the issue type to updatename
(optional): Updated name of the issue typedescription
(optional): Updated description
Example:
delete-issue-type
Deletes an issue type from a project.
Parameters:
project_id
: ID of the project containing the issue typetype_id
: ID of the issue type to delete
Example:
Intake Issues Tools
list-intake-issues
Lists all intake/inbox issues in a project.
Parameters:
project_id
: ID of the project to get intake issues from
Example:
get-intake-issue
Gets detailed information about a specific intake issue.
Parameters:
project_id
: ID of the project containing the intake issueissue_id
: ID of the intake issue to retrieve
Example:
create-intake-issue
Creates a new intake/inbox issue.
Parameters:
project_id
: ID of the project to create intake issue inname
: Title of the intake issuedescription_html
(optional): HTML description of the issuepriority
(optional): Priority of the issue ("urgent", "high", "medium", "low", "none")
Example:
update-intake-issue
Updates an existing intake issue.
Parameters:
project_id
: ID of the project containing the intake issueissue_id
: ID of the intake issue to updatename
(optional): Updated titledescription_html
(optional): Updated HTML descriptionpriority
(optional): Updated priority
Example:
delete-intake-issue
Deletes an intake issue.
Parameters:
project_id
: ID of the project containing the intake issueissue_id
: ID of the intake issue to delete
Example:
list-issue-properties
Lists all custom properties for a specific issue type.
Parameters:
project_id
: ID of the projecttype_id
: ID of the issue type to get properties for
Example:
get-issue-property
Gets details of a specific issue property.
Parameters:
project_id
: ID of the projecttype_id
: ID of the issue typeproperty_id
: ID of the property to retrieve
Example:
create-issue-property
Creates a new custom property for an issue type.
Parameters:
project_id
: ID of the projecttype_id
: ID of the issue typename
: Internal name for the propertydisplay_name
: Display name for the propertyproperty_type
: Type of property (TEXT, NUMBER, DATE, OPTION, MULTI_OPTION, BOOLEAN)description
: Description of the property (optional)is_required
: Whether this property is required (optional)is_multi
: Whether multiple values are allowed (optional)
Example:
update-issue-property
Updates an existing issue property.
Parameters:
project_id
: ID of the projecttype_id
: ID of the issue typeproperty_id
: ID of the property to updatename
: Internal name for the property (optional)display_name
: Display name for the property (optional)description
: Description of the property (optional)is_required
: Whether this property is required (optional)is_multi
: Whether multiple values are allowed (optional)
Example:
delete-issue-property
Deletes an issue property.
Parameters:
project_id
: ID of the projecttype_id
: ID of the issue typeproperty_id
: ID of the property to delete
Example:
list-issue-property-options
Lists all options for a dropdown/select issue property.
Parameters:
project_id
: ID of the projectproperty_id
: ID of the property to get options for
Example:
create-issue-property-option
Creates a new option for a dropdown/select issue property.
Parameters:
project_id
: ID of the projectproperty_id
: ID of the property to add option toname
: Name of the optiondescription
: Description of the option (optional)sort_order
: Sort order for the option (optional)is_default
: Whether this is the default option (optional)
Example:
update-issue-property-option
Updates an option for a dropdown/select issue property.
Parameters:
project_id
: ID of the projectproperty_id
: ID of the propertyoption_id
: ID of the option to updatename
: Name of the option (optional)description
: Description of the option (optional)sort_order
: Sort order for the option (optional)is_default
: Whether this is the default option (optional)
Example:
list-sub-issues
Lists all sub-issues of a parent issue.
Parameters:
project_id
: ID of the projectparent_issue_id
: ID of the parent issue to get sub-issues for
Example:
create-sub-issue
Creates a new sub-issue under a parent issue.
Parameters:
project_id
: ID of the projectparent_issue_id
: ID of the parent issuename
: Title of the sub-issuedescription_html
: HTML description of the sub-issue (optional)priority
: Priority of the sub-issue (urgent, high, medium, low, none) (optional)state_id
: ID of the state for this sub-issue (optional)assignees
: Array of user IDs to assign to this sub-issue (optional)
Example:
convert-to-sub-issue
Converts an existing issue to a sub-issue of another issue.
Parameters:
project_id
: ID of the projectissue_id
: ID of the issue to convert to sub-issueparent_issue_id
: ID of the parent issue
Example:
convert-to-issue
Converts a sub-issue back to a regular issue (removes parent relationship).
Parameters:
project_id
: ID of the projectissue_id
: ID of the sub-issue to convert to regular issue
Example:
transfer-issues
Transfers issues from one cycle to another.
Parameters:
project_id
: ID of the projectcycle_id
: ID of the source cycle to transfer issues fromnew_cycle_id
: ID of the target cycle to transfer issues to
Example:
Development
- Install development dependencies:
- Start the server in development mode:
Testing
You can test the server using the MCP Inspector:
Examples
Here are some example interactions you can try with Claude after setting up the Plane MCP server:
Basic Project & Issue Management
- "Can you list all the projects in my Plane workspace?"
- "Please create a new high-priority issue in the Marketing project titled 'Update social media strategy'"
- "What are all the high-priority issues in the Development project?"
- "Update issue #123 in the QA project to change its priority to urgent"
Sprint/Module Management
- "Create a new sprint called 'Q1 2024 Features' in the Development project with a 2-week duration"
- "Show me all the issues in the current sprint for the Backend project"
- "Add issues #456 and #789 to the 'API Development' module"
- "What sprints are currently active in the project?"
Workflow & State Management
- "List all the workflow states available in the Frontend project"
- "Create a new state called 'Code Review' for the Backend project"
- "Move issue #123 to the 'In Progress' state"
Cycle & Planning Management
- "Create a development cycle for Q1 2024 from January 1st to March 31st"
- "Show me all issues assigned to the current development cycle"
- "Add the high-priority issues to the 'Release Preparation' cycle"
Label & Organization
- "List all available labels in the project and create a new 'Security' label"
- "Apply the 'Bug' and 'High Priority' labels to issue #789"
Team & Member Management
- "Who are all the members in this workspace?"
- "Show me the team members assigned to the Backend project"
- "List all issues assigned to John in the current sprint"
Advanced Workflows
- "Create a new sprint, add 5 specific issues to it, and set it to start next Monday"
- "Show me all overdue issues across all projects and their current states"
- "Create a comprehensive project status report with issues, sprints, and team assignments"
Claude will use the appropriate tools to interact with Plane while asking for your approval before creating or modifying any data.
Security Considerations
- The API key requires proper Plane permissions to function
- All operations that modify data require explicit user approval
- Environment variables should be properly secured
- API keys should never be committed to version control
Contributing
- Fork the repository from disrex-group/plane-mcp-server
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
Badges
This project uses several badges to provide quick information about status, quality, and compatibility:
Available Badges
- NPM Version: Shows the latest published version on npm
- MCP Catalog Quality: Quality score from the Archestra.ai MCP catalog
- License: MIT License badge
- CI Status: GitHub Actions workflow status
- TypeScript: Technology badge
- Plane.so Compatibility: Custom compatibility badge
- MCP Protocol: Model Context Protocol badge
Creating Custom Badges
You can create custom badges using Shields.io:
- Basic Format:
https://img.shields.io/badge/{label}-{message}-{color}
- Dynamic Badges: Use endpoints for live data (npm downloads, GitHub stars, etc.)
- Style Options: Add
?style=flat-square
,?style=for-the-badge
, etc.
Example custom badge:
Badge Services
- Shields.io: The most comprehensive badge service
- Badge Fury: Specifically for package managers
- Archestra.ai MCP Catalog: Quality badges for MCP servers
- GitHub Actions: Automatic CI/CD status badges
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
If you encounter any issues or have questions:
- Check the GitHub Issues section
- Consult the MCP documentation at modelcontextprotocol.io
- Open a new issue with detailed reproduction steps
Repository History
This enhanced fork builds upon the excellent foundation of the original kelvin6365/plane-mcp-server, adding comprehensive project management capabilities.
Star History
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
A Model Context Protocol (MCP) server that enables LLMs to interact with Plane.so, allowing them to manage projects and issues through Plane's API. Using this server, LLMs like Claude can directly interact with your project management workflows while maintaining user control and security.
- Features
- Pagination Support
- Project Management
- Issue Management
- State Management
- Module (Sprint) Management
- Cycle Management
- Label Management
- Team & Workspace Management
- Issue Comments & Communication
- Issue Links & External References
- File Attachments
- Issue Activity & History
- Time Tracking (Worklogs)
- Custom Issue Types
- Intake Issues (Triage)
- Custom Issue Properties
- Sub-issues & Relations
- Issue Transfer Operations
- Prerequisites
- Installation
- Getting Your Plane API Credentials
- Available Tools
- list-projects
- get-project
- create-issue
- list-issues
- get-issue
- update-issue
- State Management Tools
- Module (Sprint) Management Tools
- Cycle Management Tools
- Label Management Tools
- Team & Workspace Management Tools
- Issue Comments Tools
- Issue Links Tools
- Issue Attachments Tools
- Issue Activities Tools
- Worklogs (Time Tracking) Tools
- Issue Types Tools
- Intake Issues Tools
- list-issue-properties
- get-issue-property
- create-issue-property
- update-issue-property
- delete-issue-property
- list-issue-property-options
- create-issue-property-option
- update-issue-property-option
- list-sub-issues
- create-sub-issue
- convert-to-sub-issue
- convert-to-issue
- transfer-issues
- Development
- Testing
- Examples
- Security Considerations
- Contributing
- Badges
- License
- Support
- Repository History
- Star History
Related MCP Servers
- -securityAlicense-qualityA Model Context Protocol (MCP) server that enables LLMs to interact directly with MongoDB databases. Query collections, inspect schemas, and manage data seamlessly through natural language.Last updated -136161TypeScriptMIT License
- -securityAlicense-qualityA Model Context Protocol (MCP) server that enables LLMs to interact directly the documents that they have on-disk through agentic RAG and hybrid search in LanceDB. Ask LLMs questions about the dataset as a whole or about specific documents.Last updated -267TypeScriptMIT License
- AsecurityAlicenseAqualityAn educational implementation of a Model Context Protocol server that demonstrates how to build a functional MCP server for integrating with various LLM clients like Claude Desktop.Last updated -1121PythonMIT License
- -securityAlicense-qualityA Model Context Protocol server that enables LLMs to interact with Plane.so, allowing them to manage projects and issues through Plane's API for streamlined project management workflows.Last updated -28JavaScriptMIT License