Summary
plane-mcp-server 0.2.10 breaks list_projects against Plane v1.3.1 Community (current stable self-hosted release). The tool returns HTTP 404 on every call. Version 0.2.9 works correctly.
Root cause
0.2.10 changed list_projects in plane_mcp/tools/projects.py to call client.projects.list_lite() which maps to GET /api/v1/workspaces/{slug}/projects/lite/. This endpoint does not exist in Plane 1.3.1 Community and returns 404.
0.2.9 used client.projects.list() → GET /api/v1/workspaces/{slug}/projects/ → 200 OK.
# 0.2.9 (working):
return client.projects.list(workspace_slug=workspace_slug, params=params)
# 0.2.10 (broken on Plane 1.3.1 Community):
return client.projects.list_lite(workspace_slug=workspace_slug, params=params)
The same endpoint gap exists for workspace-wide list_work_items (omitting project_id) which calls client.work_items.list_workspace() → /work-items/ → 404 on 1.3.1.
Verified
- Plane version:
v1.3.1 Community (latest stable, confirmed via GET /api/instances/)
GET /api/v1/workspaces/{slug}/projects/ with API key → HTTP 200, returns all projects ✓
GET /api/v1/workspaces/{slug}/projects/lite/ → HTTP 404
- Reverting to
client.projects.list() resolves the issue
Suggested fix
plane_mcp/tools/projects.py:
from plane.models.projects import PaginatedProjectResponse, Project
from plane.models.query_params import PaginatedQueryParams
def list_projects(...) -> list[Project]:
params = PaginatedQueryParams(cursor=cursor, per_page=per_page, order_by=order_by)
response: PaginatedProjectResponse = client.projects.list(workspace_slug=workspace_slug, params=params)
return response.results
Workaround
Pin to plane-mcp-server==0.2.9 until a fix lands in 0.2.11+.
Summary
plane-mcp-server0.2.10 breakslist_projectsagainst Plane v1.3.1 Community (current stable self-hosted release). The tool returns HTTP 404 on every call. Version 0.2.9 works correctly.Root cause
0.2.10 changed
list_projectsinplane_mcp/tools/projects.pyto callclient.projects.list_lite()which maps toGET /api/v1/workspaces/{slug}/projects/lite/. This endpoint does not exist in Plane 1.3.1 Community and returns 404.0.2.9 used
client.projects.list()→GET /api/v1/workspaces/{slug}/projects/→ 200 OK.The same endpoint gap exists for workspace-wide
list_work_items(omittingproject_id) which callsclient.work_items.list_workspace()→/work-items/→ 404 on 1.3.1.Verified
v1.3.1 Community(latest stable, confirmed viaGET /api/instances/)GET /api/v1/workspaces/{slug}/projects/with API key → HTTP 200, returns all projects ✓GET /api/v1/workspaces/{slug}/projects/lite/→ HTTP 404client.projects.list()resolves the issueSuggested fix
plane_mcp/tools/projects.py:Workaround
Pin to
plane-mcp-server==0.2.9until a fix lands in 0.2.11+.