plane-mcp-server

by makeplaneโœ“ Verified

Plane's Official Model Context Protocol Server ๐Ÿ”Œ โŒจ๏ธ ๐Ÿ”ฅ

294
Stars
156
Forks
Python
Language
8/23/2026
Added
View on GitHubDownload ZIP

โš ๏ธ Third-Party Software Notice

This skill is third-party open-source software developed and hosted independently on GitHub. SkillTip is an informational directory and does not control or maintain the underlying repository. Any security checks displayed are automated and limited in scope. Review the source code before installing.

Read the Terms of Service

Installation

Add to your Claude Code skills directory:

# Add to your Claude Code skills
git clone https://github.com/makeplane/plane-mcp-server

Getting Started

Guides for using skills like plane-mcp-server.

Security Report

Verified

Last scanned: โ€”

{
  "status": "PASSED",
  "issues": []
}

README.md

Plane MCP Server

A Model Context Protocol server for Plane. Gives an AI agent tools to read and manage projects, work items, cycles, modules, releases, customers and more.

Built on FastMCP and the official plane-sdk.

  • 30 tools, one per Plane resource, covering 204 operations
  • Local or remote โ€” stdio, streamable HTTP, SSE
  • OAuth or API key authentication

Quick start

Get an API key from Plane: Workspace Settings โ†’ API tokens.

Add this to your MCP client's configuration:

{
  "mcpServers": {
    "plane": {
      "command": "uvx",
      "args": ["plane-mcp-server", "stdio"],
      "env": {
        "PLANE_API_KEY": "<your-api-key>",
        "PLANE_WORKSPACE_SLUG": "<your-workspace-slug>"
      }
    }
  }
}

uvx needs no install step. Requires Python 3.10+.

For a self-hosted Plane, add "PLANE_BASE_URL": "https://plane.example.com".

Transports

stdio โ€” local

Runs as a subprocess of your MCP client. Configuration as shown above; needs PLANE_API_KEY and PLANE_WORKSPACE_SLUG.

PLANE_API_KEY=... PLANE_WORKSPACE_SLUG=... uvx plane-mcp-server stdio

HTTP with OAuth โ€” hosted

https://mcp.plane.so/http/mcp

The OAuth flow is handled on connect; no credentials in your config. For clients without native remote MCP support, bridge with mcp-remote:

{
  "mcpServers": {
    "plane": {
      "command": "npx",
      "args": ["mcp-remote@latest", "https://mcp.plane.so/http/mcp"]
    }
  }
}

Requires Node.js 22+.

HTTP with a personal access token โ€” hosted

https://mcp.plane.so/http/api-key/mcp

HeaderValue
AuthorizationBearer <PAT>
X-Workspace-slug<workspace-slug>
{
  "mcpServers": {
    "plane": {
      "command": "npx",
      "args": ["mcp-remote@latest", "https://mcp.plane.so/http/api-key/mcp"],
      "headers": {
        "Authorization": "Bearer <PAT>",
        "X-Workspace-slug": "<workspace-slug>"
      }
    }
  }
}

SSE โ€” deprecated

https://mcp.plane.so/sse is maintained for backward compatibility only. Use an HTTP transport instead.

Tools

The server advertises 30 tools, one per resource. Each takes an action parameter that selects the operation:

workitem(action="create", project_id=..., name="Fix login")
workitem(action="list", project_id=..., pql='state__group = "started"')
cycle(action="archive", project_id=..., cycle_id=...)

Every tool's description lists its actions with their required and optional parameters, so the catalogue is self-documenting at call time.

โ†’ Full tool and action reference

Querying work items

List, count and search accept PQL, Plane's query language:

workitem(action="list", project_id=..., pql='state__group = "started" AND priority = "urgent"')
workitem(action="count", pql='assignees__id = "<member id>"', group_by="state_id")

Call get_pql_reference for the full syntax, operators and worked examples.

Upgrading from the per-operation tools

Earlier releases exposed one tool per API operation. Existing integrations keep working: 169 of those 177 names still resolve to the consolidated tool, so a saved prompt or script calling create_work_item or list_cycles needs no change. They are no longer advertised, and they keep the parameter names they shipped with (work_item_id, not workitem_id).

Seven names chose between two operations with a parameter (manage_project_archive(archive=False)), which one tool-and-action pair cannot reproduce; calling one tells you its replacement. get_pql_reference is unchanged.

Configuration

Authentication

VariableRequired forPurpose
PLANE_API_KEYstdioAPI key
PLANE_WORKSPACE_SLUGstdioTarget workspace
PLANE_BASE_URLoptionalPlane API URL (default https://api.plane.so)

The remote transports carry credentials in the connection โ€” the OAuth flow or the PAT headers โ€” and need none of these.

Self-hosting the server itself:

VariablePurpose
PLANE_INTERNAL_BASE_URLInternal URL for server-to-server calls, preferred over PLANE_BASE_URL
REDIS_HOST / REDIS_PORTOAuth token storage; falls back to in-memory
PLANE_OAUTH_PROVIDER_*OAuth client credentials and base URL
MCP_PATH_PREFIXPath prefix for the HTTP routes, when mounted behind a proxy โ€” /plane serves /plane/http/mcp

OAuth redirect URIs

The OAuth transports validate each client's redirect URI against an allowlist. Common clients (Cursor, VS Code, Claude.ai, ChatGPT connectors, localhost) are allowed by default.

To onboard a new client without a release, append patterns:

export PLANE_OAUTH_ALLOWED_REDIRECT_URIS="https://newclient.com/cb,https://other.app/oauth/*"

* matches any port, path segment or subdomain. Keep the host pinned and wildcard only the port or path.

Logging

Structured JSON. Each tool call logs its name, duration, status and โ€” when available โ€” an opaque user id and the workspace slug.

export LOG_USER_INFO=false    # also log the display name (PII);
export LOG_PAYLOADS=false    # keep request payloads out of logs; default true

Only the OAuth and PAT transports carry a display name; stdio is unaffected.

Development

git clone https://github.com/makeplane/plane-mcp-server
cd plane-mcp-server
uv pip install -e ".[dev]"

Run the server against a workspace:

PLANE_API_KEY=... PLANE_WORKSPACE_SLUG=... python -m plane_mcp stdio
python -m plane_mcp http            # port 8211

Tests, format, lint:

pytest                              # no network or credentials needed
ruff format plane_mcp/ tests/       # line length 120
ruff check plane_mcp/ tests/        # rules E, F, I, UP, B

The suite runs fully offline โ€” every action of every resource is executed against a stand-in that binds each call against the genuine plane-sdk signature. See plane_mcp/tools/README.md.

Live integration tests are skipped unless you point them at a running server:

export PLANE_TEST_API_KEY=... PLANE_TEST_WORKSPACE_SLUG=...
export PLANE_TEST_MCP_URL=http://localhost:8211    # optional; this is the default
pytest tests/test_integration.py -v

They write real data to that workspace.

Repository layout

PathContents
plane_mcp/__main__.pyentry point; picks the transport from argv[1]
plane_mcp/server.pyone factory per transport
plane_mcp/client.pyresolves credentials into a plane-sdk client
plane_mcp/auth/OAuth provider and header auth
plane_mcp/tools/the tool surface: one module per Plane resource
plane_mcp/toolkit/shared building blocks for the tool surface
plane_mcp/pql_reference.pyPQL syntax reference served to models

Contributing

Pull requests welcome. Please run pytest and ruff check before submitting; new tools should come with the invariants described in plane_mcp/tools/README.md.

See CONTRIBUTING.md and CODE_OF_CONDUCT.md.

Migrating from the Node.js server

@makeplane/plane-mcp-server (Node.js) is deprecated and unmaintained. This Python implementation replaces it.

Node.jsPython
PLANE_API_KEYPLANE_API_KEY
PLANE_API_HOST_URLPLANE_BASE_URL
PLANE_WORKSPACE_SLUGPLANE_WORKSPACE_SLUG

Replace the command and args with the stdio configuration in Quick start.

License

MIT โ€” see LICENSE.

Frequently Asked Questions

What is plane-mcp-server?โŒ„

plane-mcp-server is an open-source mcp servers skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by makeplane. Plane's Official Model Context Protocol Server ๐Ÿ”Œ โŒจ๏ธ ๐Ÿ”ฅ. It has 294 GitHub stars.

Is plane-mcp-server safe to use?โŒ„

Yes. plane-mcp-server passed SkillsLLM's automated security scan โ€” a dependency vulnerability audit plus prompt-injection heuristics โ€” with no high-severity issues. You can read the full report in the Security Report section on this page.

How do I install plane-mcp-server?โŒ„

Clone the repository with "git clone https://github.com/makeplane/plane-mcp-server" and add it to your Claude Code skills directory (see the Installation section above).

What programming language is plane-mcp-server written in?โŒ„

plane-mcp-server is primarily written in Python. It is open-source under makeplane on GitHub, so you can review or fork the full source.

Are there alternatives to plane-mcp-server?โŒ„

Yes. SkillsLLM lists many other MCP Servers skills you can browse and compare side by side. Open the MCP Servers category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh plane-mcp-server against similar tools.

Comments (0)

No comments yet. Be the first to share your thoughts!

n8n

by n8n-io

12

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

โญ 201,881โ‘‚ 60,308TypeScript
MCP Serversapisai-tools
View details โ†’

Scrapling

by D4Vinci

๐Ÿ•ท๏ธ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!

โญ 75,913โ‘‚ 7,581Python
MCP Servers
View details โ†’

TrendRadar

by sansan0

โญAI-driven public opinion & trend monitor with multi-platform aggregation, RSS, and smart alerts.๐ŸŽฏ ๅ‘Šๅˆซไฟกๆฏ่ฟ‡่ฝฝ๏ผŒไฝ ็š„ AI ่ˆ†ๆƒ…็›‘ๆŽงๅŠฉๆ‰‹ไธŽ็ƒญ็‚น็ญ›้€‰ๅทฅๅ…ท๏ผ่šๅˆๅคšๅนณๅฐ็ƒญ็‚น + RSS ่ฎข้˜…๏ผŒๆ”ฏๆŒๅ…ณ้”ฎ่ฏ็ฒพๅ‡†็ญ›้€‰ใ€‚AI ๆ™บ่ƒฝ็ญ›้€‰ๆ–ฐ้—ป + AI ็ฟป่ฏ‘ + AI ๅˆ†ๆž็ฎ€ๆŠฅ็›ดๆŽจๆ‰‹ๆœบ๏ผŒไนŸๆ”ฏๆŒๆŽฅๅ…ฅ MCP ๆžถๆž„๏ผŒ่ต‹่ƒฝ AI ่‡ช็„ถ่ฏญ่จ€ๅฏน่ฏๅˆ†ๆžใ€ๆƒ…ๆ„ŸๆดžๅฏŸไธŽ่ถ‹ๅŠฟ้ข„ๆต‹็ญ‰ใ€‚ๆ”ฏๆŒ Docker ๏ผŒๆ•ฐๆฎๆœฌๅœฐ/ไบ‘็ซฏ่‡ชๆŒใ€‚้›†ๆˆๅพฎไฟก/้ฃžไนฆ/้’‰้’‰/Telegram/้‚ฎไปถ/ntfy/bark/slack ็ญ‰ๆธ ้“ๆ™บ่ƒฝๆŽจ้€ใ€‚

โญ 61,652โ‘‚ 24,883Python
MCP Servers
View details โ†’

context7

by upstash

Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors

โญ 61,060โ‘‚ 2,938TypeScript
MCP Servers
View details โ†’

High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph โ€” average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.

โญ 39,939โ‘‚ 3,219C
MCP Servers
View details โ†’

Developers Also Liked

Based on votes and bookmarks from developers who liked this skill

ECC

by affaan-m

10

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

โญ 242,219โ‘‚ 36,702JavaScript
AI Agentsai-agentsanthropicclaude-code
View details โ†’
15

An agentic skills framework & software development methodology that works.

โญ 234,966โ‘‚ 20,863Shell
AI Agentsai-agentsbrainstorming
View details โ†’

n8n

by n8n-io

12

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

โญ 201,881โ‘‚ 60,308TypeScript
MCP Serversapisai-tools
View details โ†’

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

โญ 185,940โ‘‚ 28,768JavaScript
AI Agentsai-agentsanthropicclaude-code
View details โ†’

cc-switch

by farion1231

3

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

โญ 128,868โ‘‚ 8,826Rust
AI Agentsclaude-codeai-tools
View details โ†’