Skip to content

MCP Server for Claude Code ​

Claude Code is Anthropic's CLI tool for agentic coding. By connecting the Plane MCP Server to Claude Code, you can manage your Plane workspace directly from the terminal — create work items, plan cycles, search across projects, and more, all through natural language.

Prerequisites ​

  • Claude Code: Install Claude Code if you haven't already.
  • Node.js 22+: Required for HTTP transports. Verify with node --version.
  • Python 3.10+ and uvx: Required only for the local Stdio transport. Verify with python --version and uvx --version.
  • Plane API Key: For PAT or Stdio transports, generate one from Workspace Settings > API Tokens in Plane.

Setup methods ​

Choose the transport method that fits your setup.

MethodBest forAuth
HTTP with OAuthPlane Cloud, interactive useBrowser-based OAuth
HTTP with PATCI/CD, automated workflowsAPI key in headers
Local StdioSelf-hosted Plane instancesEnvironment variables

HTTP with OAuth ​

The simplest way to connect to Plane Cloud. Run this in your terminal:

bash
claude mcp add --transport http plane https://mcp.plane.so/http/mcp

After adding the server, start Claude Code and run /mcp to authenticate via your browser.

HTTP with PAT token ​

For automated workflows or when you prefer token-based auth:

bash
claude mcp add-json plane '{
  "type": "http",
  "url": "https://mcp.plane.so/http/api-key/mcp",
  "headers": {
    "Authorization": "Bearer <YOUR_API_KEY>",
    "X-Workspace-slug": "<YOUR_WORKSPACE_SLUG>"
  }
}'

Replace <YOUR_API_KEY> and <YOUR_WORKSPACE_SLUG> with your actual values.

Local Stdio ​

For self-hosted Plane instances, use the Stdio transport which runs locally:

bash
claude mcp add-json plane '{
  "type": "stdio",
  "command": "uvx",
  "args": ["plane-mcp-server", "stdio"],
  "env": {
    "PLANE_API_KEY": "<YOUR_API_KEY>",
    "PLANE_WORKSPACE_SLUG": "<YOUR_WORKSPACE_SLUG>",
    "PLANE_BASE_URL": "https://your-plane-instance.com"
  }
}'

Environment variables ​

VariableRequiredDescription
PLANE_API_KEYYesAPI key from your workspace settings
PLANE_WORKSPACE_SLUGYesYour workspace slug (found in your Plane URL)
PLANE_BASE_URLNoAPI URL for self-hosted instances. Defaults to https://api.plane.so

Scope options ​

Control where the MCP server configuration is stored by adding a --scope flag:

bash
# Available only to you in the current project (default)
claude mcp add --scope local --transport http plane https://mcp.plane.so/http/mcp

# Shared via .mcp.json, committed to version control
claude mcp add --scope project --transport http plane https://mcp.plane.so/http/mcp

# Available across all your projects
claude mcp add --scope user --transport http plane https://mcp.plane.so/http/mcp

Verify the connection ​

After setup, verify the Plane MCP Server is connected:

bash
# List all configured MCP servers
claude mcp list

# Get details for the Plane server
claude mcp get plane

Inside Claude Code, run /mcp to check the server status and see the available tools.

Available tools ​

The Plane MCP Server exposes 55+ tools across these categories:

CategoryToolsExamples
Projects9List, create, update, delete projects; get members and features
Work Items7Create, list, search, update, delete work items
Cycles12Manage cycles, add/remove work items, transfer, archive
Modules11Manage modules, add/remove work items, archive
Initiatives5Create and manage workspace-level initiatives
Intake5Manage intake work items for triage
Work Item Properties5Manage custom properties on work items
Users1Get current authenticated user info

Examples ​

Here are common tasks you can perform by chatting with Claude Code after connecting the Plane MCP Server.

List projects in your workspace ​

Prompt:

List all projects in my workspace.

Claude Code calls list_projects and returns a summary of all projects including their identifiers, lead, and status.

Create a work item ​

Prompt:

Create a bug in project WEB titled "Fix login redirect loop" and assign it to me.

Claude Code calls get_me to find your user ID, then create_work_item with the project ID, name, and assignee.

Search across work items ​

Prompt:

Search for work items related to "authentication" across the workspace.

Claude Code calls search_work_items with the query string and returns matching results from all projects.

Plan a cycle ​

Prompt:

Create a new cycle called "Sprint 24" in project WEB starting today and
ending in 2 weeks. Add work items WEB-102, WEB-115, and WEB-118 to it.

Claude Code calls create_cycle with the name and dates, then add_work_items_to_cycle to attach the specified items.

Triage intake items ​

Prompt:

Show me all intake items in project MOBILE and accept the ones related to
crash reports.

Claude Code calls list_intake_work_items to retrieve pending items, then update_intake_work_item to accept the relevant ones.

Get a project overview ​

Prompt:

Give me a summary of project BACKEND — what cycles are active, how many
open work items are there, and who are the members?

Claude Code calls retrieve_project, list_cycles, list_work_items, and get_project_members to assemble a full overview.

Manage modules ​

Prompt:

Create a module called "Auth Revamp" in project WEB and add all work items
tagged with the "auth" label to it.

Claude Code calls create_module, then list_work_items with label filtering, and finally add_work_items_to_module to associate the items.

Move work items between cycles ​

Prompt:

Transfer all incomplete work items from "Sprint 23" to "Sprint 24" in
project WEB.

Claude Code calls list_cycles to find both cycle IDs, then transfer_cycle_work_items to move unfinished items.

Managing the server ​

bash
# Remove the Plane MCP server
claude mcp remove plane

# Re-add with a different transport
claude mcp add --transport http plane https://mcp.plane.so/http/mcp

Troubleshooting ​

MCP server not connecting ​

If the server fails to start, launch Claude Code with the debug flag:

bash
claude --mcp-debug

This shows detailed logs during MCP server initialization.

Authentication errors (OAuth) ​

Clear saved OAuth tokens and re-authenticate:

bash
rm -rf ~/.mcp-auth

Then restart Claude Code and run /mcp to authenticate again.

Server timeout on startup ​

If the MCP server times out during initialization, increase the timeout:

bash
MCP_TIMEOUT=10000 claude

This sets a 10-second startup timeout (default is lower).

Python or Node.js not found ​

Ensure the required runtime is installed and available on your PATH:

bash
# For HTTP transports
node --version   # Should be 22+

# For Stdio transport
python --version # Should be 3.10+
uvx --version

Getting help ​

If issues persist:

  1. Check your credentials and workspace slug
  2. Run claude mcp list to verify the configuration
  3. Contact support at support@plane.so for Plane-specific issues
  4. Visit the Plane MCP Server repository for known issues