PL

Plane MCP Server for Project and Issue Management

Manage projects and issues with an MCP server using Plane's API to streamline workflows, track progress, and automate issue handling.

Quick Install
npx -y @kelvin6365/plane-mcp-server

Overview

This Plane MCP Server implements the Model Context Protocol (MCP) to expose Plane project and issue data to tools and LLM-driven agents. It acts as a thin adapter between the Plane REST API and any MCP-compatible client, providing structured tool calls for listing projects, querying issues, creating and updating issues, and other common project-management operations.

Running a local or hosted MCP server for Plane makes it straightforward to embed project/issue context into AI workflows, automate triage and updates, and let LLMs interact with your issue tracker in a controlled, auditable way. The server is self-hostable, configurable via environment variables, and designed to be plugged into an LLM orchestration or agent framework that understands MCP-style tool invocation.

Features

  • MCP-compliant server that wraps Plane’s API for use by tools and agents
  • Read and write access to Plane projects, issues, comments, and labels
  • Authentication via API key (configurable)
  • Self-hostable with simple environment-driven configuration
  • REST endpoints suitable for integration with LLM toolchains and automation scripts
  • Basic request/response shapes compatible with MCP-style tool invocation

Installation / Configuration

Prerequisites: Node.js (14+) or Docker. Clone the repository and configure environment variables before starting.

Clone and install

git clone https://github.com/kelvin6365/plane-mcp-server.git
cd plane-mcp-server
npm install

Development run

# set environment variables in your shell or a .env file
export PLANE_API_KEY="your_plane_api_key"
export PORT=3000

npm start
# or for TypeScript projects:
# npm run dev

Sample .env

PLANE_API_KEY=sk_abcdef123456
PLANE_BASE_URL=https://api.plane.inc      # optional, if using a custom host
PORT=3000
LOG_LEVEL=info

Docker

# build
docker build -t plane-mcp-server .

# run
docker run -e PLANE_API_KEY=sk_abcdef123456 -p 3000:3000 plane-mcp-server

Configuration options (typical)

  • PLANE_API_KEY — API key used to authenticate to Plane
  • PLANE_BASE_URL — Base URL for the Plane API (useful for self-hosted Plane instances)
  • PORT — Port the MCP server listens on
  • LOG_LEVEL — Logging verbosity

Available Tools / Resources

The server exposes MCP-style tools/resources that map to Plane concepts. Typical resources include:

MCP Tool / ResourcePlane Action
projects.listList all projects visible to the API key
projects.getGet project details by ID
issues.listList issues in a project or across projects
issues.getRetrieve a single issue with metadata and comments
issues.createCreate a new issue (title, description, labels, assignee)
issues.updateUpdate fields on an issue (status, assignee, labels)
comments.createAdd a comment to an issue
labels.listList labels available for a project

Each tool accepts a JSON payload and returns structured JSON results suitable for downstream processing by LLMs or automation scripts.

Example: create an issue (curl)

curl -X POST http://localhost:3000/tools/issues.create \
  -H "Content-Type: application/json" \
  -d '{
    "projectId": "proj_123",
    "title": "Bug: API returns 500 for X",
    "description": "Steps to reproduce: ...",
    "labels": ["bug","high-priority"],
    "assignee": "user_456"
  }'

Use Cases

  • Automating triage: have an LLM classify incoming issues, add labels and assign priority via issues.update and labels.create calls.
  • Synthesizing status reports: periodically call projects.list and issues.list, then generate summaries or release notes with aggregated data.
  • Conversational issue management: embed this MCP server in an agent that accepts natural-language prompts like “Create an issue for failing CI” and translates them to issues.create calls.
  • Cross-tool integrations: connect an LLM orchestration platform (e.g., an agent that follows MCP) to Plane without modifying the core Plane API usage in your automation scripts.
  • Audit and approvals: use the server to gate updates through an approval workflow, recording calls and responses centrally before forwarding to Plane.

Quick Tips

  • Restrict the API key and limit scopes: use a dedicated API key with only the permissions required by the MCP server.
  • Log and monitor requests: enable logging (LOG_LEVEL) and inspect incoming MCP tool calls to validate LLM behavior.
  • Validate payloads: when integrating with LLMs, validate and sanitize generated text before using it to create or update issues.

For full source, examples, and contribution guidelines, see the repository on GitHub: https://github.com/kelvin6365/plane-mcp-server.