MCP Directory

How to add Plane MCP Server to Windsurf

Official Plane MCP server: manage projects, work items, cycles, modules, and initiatives from AI agents. Paste the config into ~/.codeium/windsurf/mcp_config.json and restart Windsurf.

Last updated June 14, 2026 · 253 · stdio · apikey

Windsurf config for Plane MCP Server

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

Requires `uv` (the Python package runner). Install it from https://docs.astral.sh/uv/ if `uvx` is not found.

Setup steps

  1. 1Open Windsurf → Cascade → the hammer/MCP icon → Configure (or edit ~/.codeium/windsurf/mcp_config.json).
  2. 2Paste the Plane MCP Server config below.
  3. 3Fill in placeholder secrets, then save.
  4. 4Click Refresh in the MCP panel.
  5. 5Plane MCP Server's tools become available to Cascade.

Before you start

  • A Plane account and workspace (cloud at plane.so or self-hosted)
  • A Plane API key and workspace slug (for stdio transport)
  • Python 3.10+ for stdio transport via uvx
  • Node.js 22+ for remote transports via npx (mcp-remote)

What Plane MCP Server can do in Windsurf

list_projects

List all projects in a workspace with optional pagination and filtering

create_project

Create a new project with name, identifier, and optional configuration

retrieve_project

Retrieve a project by ID

update_project

Update a project with partial data

delete_project

Delete a project by ID

get_project_members

Get all members of a project

list_work_items

List all work items in a project with optional filtering and pagination

create_work_item

Create a new work item with name, assignees, labels, and other attributes

Security

Requires a Plane API key (PLANE_API_KEY) and workspace slug for stdio transport; remote HTTP transport supports OAuth or a Personal Access Token (PAT) passed via Authorization and X-Workspace-slug headers. The server emits structured JSON logs; user PII (display name) is only logged when LOG_USER_INFO=true (default false).

Plane MCP Server + Windsurf FAQ

Where is the Windsurf config file?

Windsurf reads MCP servers from ~/.codeium/windsurf/mcp_config.json. Paste the Plane MCP Server config there under the "mcpServers" key and restart the client.

Is Plane MCP Server safe to use with Windsurf?

Requires a Plane API key (PLANE_API_KEY) and workspace slug for stdio transport; remote HTTP transport supports OAuth or a Personal Access Token (PAT) passed via Authorization and X-Workspace-slug headers. The server emits structured JSON logs; user PII (display name) is only logged when LOG_USER_INFO=true (default false).

Is this the official Plane MCP server?

Yes. It is published by makeplane, the team behind Plane, and described as Plane's Official Model Context Protocol Server.

What happened to the Node.js version?

The Node.js-based @makeplane/plane-mcp-server is deprecated and no longer maintained. This Python + FastMCP implementation replaces it with better type safety, improved performance, and broader tool coverage.

How do I authenticate?

For local stdio transport, set PLANE_API_KEY and PLANE_WORKSPACE_SLUG (and optionally PLANE_BASE_URL). For the hosted HTTP transport you can use OAuth (handled automatically) or a Personal Access Token passed via Authorization and X-Workspace-slug headers.

View repo Full Plane MCP Server page