You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[feature]: Public API parity with plane-sdk / plane-mcp-server for Community Edition #10135
The official MCP server (plane-mcp-server 0.3.5, built on plane-sdk 0.3.1) calls several /api/v1/ routes that Community Edition does not expose, even though CE already has the underlying models and logic in the internal app API. Those MCP tools return 404/405 against a self-hosted CE instance.
We propose adding these routes to the public API (apps/api/plane/api/), following the plane-sdk contract so the official MCP works on CE without changes, and reusing the existing internal logic. No new models.
IssueType/ProjectIssueType models, no public route
Public CRUD
GET .../workspaces/{slug}/roles/
Fixed roles (5/15/20)
Read-only list of the built-in roles
GET .../workspaces/{slug}/work-items/count/
None
Count over the same filters as the list
GET/POST/PUT/DELETE .../pages/ (project), archive
Internal PageViewSet only
Public pages API
Why should this be worked on?
Self-hosted CE users who connect an AI assistant through the official MCP get broken tools for common actions (e.g. marking a work item as blocked by another, archiving).
The logic and models already exist in CE; this only exposes them with API-key auth and the same permission classes as the rest of /api/v1/.
We are happy to implement it (tests included) and split it into small PRs if you prefer. Please let us know if any of these routes should not be part of CE.
Implementation split into four PRs: #10139 (work item dependencies, archive, count), #10140 (project features, work item types, roles, intake status), #10141 (project pages and work item page links), #10142 (PQL filtering, stacked on #10139). Each was tested end to end with the unmodified plane-mcp-server 0.3.5 against a local CE stack.
Data point from v1.4.3 Community: the public work item list refuses pql/filters, ?parent= is ignored, and work-items/search matches only title/sequence/identifier. Together with the missing pages/views/drafts routes, a client has to download everything and filter locally; an incremental updated_at__gte on the list would remove most of that traffic under the 60 requests/minute key limit.
Activity
OsiNubis99 commentedon Oct 28, 2026
Implementation split into four PRs: #10139 (work item dependencies, archive, count), #10140 (project features, work item types, roles, intake status), #10141 (project pages and work item page links), #10142 (PQL filtering, stacked on #10139). Each was tested end to end with the unmodified plane-mcp-server 0.3.5 against a local CE stack.
pitupi commentedon Nov 7, 2026
Data point from v1.4.3 Community: the public work item list refuses
pql/filters,?parent=is ignored, andwork-items/searchmatches only title/sequence/identifier. Together with the missing pages/views/drafts routes, a client has to download everything and filter locally; an incrementalupdated_at__gteon the list would remove most of that traffic under the 60 requests/minute key limit.