plane-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PLANE_EMAIL | Yes | Login email | |
| PLANE_API_KEY | Yes | API key from Settings → API Tokens | |
| PLANE_BASE_URL | Yes | Your Plane CE instance URL | |
| PLANE_PASSWORD | Yes | Login password | |
| PLANE_WORKSPACE_SLUG | Yes | Workspace slug from URL |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| plane-project-listA | List all projects in the workspace. |
| plane-project-detailC | Get details of a specific project. |
| plane-project-createB | Create a new project in the workspace. |
| plane-project-updateB | Update project settings (name, description, network). |
| plane-work-item-listA | List work items (issues) in a project with optional filters. |
| plane-work-item-detailA | Get full details of a work item including description, comments count, and relationships. |
| plane-work-item-createB | Create a new work item (issue). Description accepts markdown (default) or HTML. |
| plane-work-item-updateA | Update a work item. Only include fields you want to change. |
| plane-work-item-deleteB | Delete a work item. |
| plane-work-item-comment-listA | List all comments on a work item. |
| plane-work-item-comment-addA | Add a comment to a work item. Accepts markdown (default) or HTML. |
| plane-work-item-link-addB | Add a URL link to a work item. |
| plane-work-item-activityA | Get the activity history of a work item (state changes, assignments, comments, etc.). |
| plane-state-listA | List all workflow states in a project (Backlog, Todo, In Progress, Done, Cancelled). |
| plane-state-createC | Create a new workflow state in a project. |
| plane-label-listB | List all labels in a project. |
| plane-label-createB | Create a new label in a project. |
| plane-label-deleteC | Delete a label from a project. |
| plane-page-listB | List all pages in a project. |
| plane-page-detailA | Get page metadata AND readable HTML content. Returns the page object with description_html (the actual content), not the Yjs binary. |
| plane-page-get-contentA | Get the readable HTML content of a page. Returns the description_html field from the page model (NOT the Yjs binary endpoint). Optionally strips Plane editor classes for cleaner reading. |
| plane-page-createA | Create a new page with optional content in one call. Accepts markdown (default) or HTML. Markdown is auto-converted to Plane-formatted HTML with proper editor classes. |
| plane-page-updateB | Update page metadata (title, access level). |
| plane-page-set-contentA | Replace the entire page body. Accepts markdown (default) or HTML. Markdown is auto-converted to Plane-formatted HTML with proper editor classes (headings, paragraphs, blockquotes). |
| plane-page-append-contentA | Append content to the end of an existing page without replacing existing content. Accepts markdown (default) or HTML. |
| plane-page-insert-imageA | Insert an already-uploaded image asset into a page. Generates the proper element and appends it to the page content. Upload the image first with plane-asset-upload. |
| plane-page-deleteC | Delete a page from a project. |
| plane-asset-uploadA | Upload a file to Plane and get an asset UUID back. Supports local file paths or base64 data. The returned asset_id can be used with plane-page-insert-image to embed images in pages. 3-step presigned upload: create record → upload to storage → mark complete. Max file size: 5 MB. |
| plane-asset-deleteB | Delete an uploaded asset from the workspace. |
| plane-member-listB | List all members of a project. |
| plane-workspace-member-listB | List all members of the workspace. |
| plane-workspace-inviteA | Invite a user to the workspace by email. They must accept the invite before they can be added to projects. Role: 5=Guest, 10=Viewer, 15=Member, 20=Admin. |
| plane-workspace-invitation-listA | List pending workspace invitations. |
| plane-workspace-invitation-deleteB | Delete/revoke a pending workspace invitation. |
| plane-project-member-addA | Add an existing workspace member to a project. The user must already be a workspace member (accepted invite). Role: 5=Guest, 10=Viewer, 15=Member, 20=Admin. |
| plane-project-member-removeB | Remove a member from a project. |
| plane-module-listA | List all modules in a project. Modules group related issues together. |
| plane-module-detailC | Get details of a specific module. |
| plane-module-createB | Create a new module in a project. |
| plane-module-add-issuesC | Add issues to a module. |
| plane-module-remove-issueB | Remove an issue from a module. |
| plane-cycle-listB | List all cycles (sprints) in a project. |
| plane-cycle-detailC | Get details of a specific cycle. |
| plane-cycle-createB | Create a new cycle (sprint) in a project. |
| plane-cycle-add-issuesC | Add issues to a cycle. |
| plane-cycle-remove-issueB | Remove an issue from a cycle. |
| plane-instance-getA | Get instance settings (name, version, edition, domain, auth config). Requires admin access. |
| plane-instance-updateA | Update instance settings (name, domain, telemetry). Requires admin access. |
| plane-instance-config-getA | Get all instance configuration keys (auth providers, SMTP, AI, etc). Requires admin access. Categories: AUTHENTICATION, GOOGLE, GITHUB, GITLAB, GITEA, SMTP, AI, UNSPLASH, WORKSPACE_MANAGEMENT, INTERCOM |
| plane-instance-config-updateA | Update instance configuration keys. Pass key-value pairs. Example keys: ENABLE_SIGNUP, ENABLE_MAGIC_LINK_LOGIN, ENABLE_EMAIL_PASSWORD, IS_GOOGLE_ENABLED, GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, EMAIL_HOST, EMAIL_HOST_USER, EMAIL_HOST_PASSWORD, EMAIL_PORT, EMAIL_FROM, LLM_PROVIDER, LLM_MODEL, LLM_API_KEY, UNSPLASH_ACCESS_KEY, DISABLE_WORKSPACE_CREATION |
| plane-workspace-getA | Get workspace settings (name, slug, logo, organization_size, timezone). |
| plane-workspace-updateB | Update workspace settings (name, organization_size, timezone). |
| plane-workspace-logo-uploadB | Upload a new workspace logo. Accepts a local file path. Uses the presigned upload flow with entity_type WORKSPACE_LOGO. |
| plane-user-profile-getA | Get the current user profile (display name, avatar, theme, onboarding state). |
| plane-user-profile-updateA | Update the current user profile (display name, theme preferences). |
| plane-auth-statusA | Check authentication status for both v1 API key and session-based auth. Useful for debugging connection issues. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/philipvanlewis/plane-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server