
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
- 1Open Windsurf → Cascade → the hammer/MCP icon → Configure (or edit ~/.codeium/windsurf/mcp_config.json).
- 2Paste the Plane MCP Server config below.
- 3Fill in placeholder secrets, then save.
- 4Click Refresh in the MCP panel.
- 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_projectsList all projects in a workspace with optional pagination and filtering
create_projectCreate a new project with name, identifier, and optional configuration
retrieve_projectRetrieve a project by ID
update_projectUpdate a project with partial data
delete_projectDelete a project by ID
get_project_membersGet all members of a project
list_work_itemsList all work items in a project with optional filtering and pagination
create_work_itemCreate 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.