makeplane/plane-mcp-server

Plane's Official Model Context Protocol Server 🔌 ⌨️ 🔥

Plane MCP Server – What it is

Plane MCP Server is a small Python service that lets an AI‑agent talk to the Plane product‑management platform via the Model Context Protocol (MCP). It translates the generic MCP calls that an LLM‑based assistant understands into concrete calls to Plane’s REST API (using the official plane‑sdk).

Why it matters for AI agents

  • Tool‑driven agents – Modern LLM agents (Claude, ChatGPT, etc.) use tools to perform actions outside the model. This server exposes 30‑plus “tools”, each representing a Plane resource (projects, work items, cycles, releases, customers …) and a set of actions (create, list, archive, etc.).
  • Self‑documenting – Each tool advertises its actions and required parameters at runtime, so an agent can discover what it can do without hard‑coding a schema.
  • Multiple transports – The server can run as a local subprocess (stdio) or as an HTTP endpoint (with OAuth or API‑key auth). This matches the ways MCP‑aware clients are built today.

Core features (as described in the README)

Feature Details
30 tools One per Plane resource, covering 207 distinct operations.
Transport options • stdio – run as a child process of the MCP client.
• HTTP with OAuth – hosted endpoint https://mcp.plane.so/http/mcp.
• HTTP with personal access token – https://mcp.plane.so/http/api-key/mcp.
• SSE – deprecated, kept for backward compatibility.
Authentication • API key (PLANE_API_KEY) for stdio.
• OAuth flow handled automatically for the hosted HTTP transport.
• Bearer token (Authorization: Bearer <PAT>) for the API‑key HTTP transport.
Query language Supports Plane’s PQL for powerful filtering when listing or counting work items.
Compatibility layer Older per‑operation tool names (169 of 177) still resolve, so existing prompts or scripts keep working.
Configurable proxy Respects HTTP_PROXY, HTTPS_PROXY, NO_PROXY for attachment‑upload URLs.
Logging Structured JSON logs; optional inclusion of user info and payloads.
Development friendliness Offline test suite, linting with ruff, and clear contribution guidelines.

Typical usage flow

  1. Obtain a Plane API token (or rely on OAuth).
  2. Configure the MCP client with a command that launches plane-mcp-server (e.g., uvx plane-mcp-server stdio).
  3. The client sends an MCP request like workitem(action="list", project_id=…, pql='state__group = "started"').
  4. The server translates that into a call to plane-sdk, returns the result, and logs the call.

Who would use this?

  • LLM‑powered assistants that need to read or modify a Plane workspace (e.g., a “project‑manager bot”).
  • IDE extensions (VS Code, Cursor, Claude.ai connectors) that expose Plane actions to chat‑based workflows.
  • Custom automation where a developer wants a stable MCP endpoint rather than writing raw Plane SDK code.

License & community

The project is MIT‑licensed, welcomes pull requests, and provides a full test suite that can run offline. It supersedes an older Node.js implementation, consolidating the functionality in a Python package.


All information above is taken directly from the repository’s README; no external assumptions have been added.

Related

  • Project
  • Project
  • Project
  • Project
  • Project