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 |
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
} |
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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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