Skip to content

list_projects 404s on self-hosted Plane CE — list_lite calls /projects-lite which CE doesn't expose #172

Description

@OguzKaganAslan

Environment

  • Plane: self-hosted Community Edition (CE)
  • plane-mcp-server: 0.2.10
  • Transport: stdio, authenticated via Personal Access Token (PAT)

Problem

The list_projects MCP tool always returns a 404, even though the workspace and PAT are valid and other project tools (create/update/delete) work fine against the same workspace.

Root cause

In plane/api/projects.py, Projects.list_lite() (called by the list_projects MCP tool) requests:

GET /api/v1/workspaces/{slug}/projects-lite/

This route does not exist on self-hosted CE and returns 404.

By contrast, Projects.create() (called by the create_project MCP tool, which works correctly) requests:

POST /api/v1/workspaces/{slug}/projects

which returns 200.

Confirmation independent of MCP

Reproduced directly with a raw HTTP call (no MCP involved), using the same PAT:

GET /api/v1/workspaces/{slug}/projects-lite/  → 404 {"error": "Page not found."}
GET /api/v1/workspaces/{slug}/projects/       → 200 (returns paginated project list)

This confirms the 404 is not an auth, membership, or slug issue — the /projects-lite route itself is unavailable on CE, while the plain /projects route works correctly and returns the expected paginated response.

Additional detail

The same SDK class (Projects) already has an unused list() method that targets the working /projects endpoint (as opposed to list_lite()'s /projects-lite). It appears the CE-compatible route is already implemented in the SDK, but the list_projects MCP tool is wired to the incompatible list_lite() method instead.

Suggested fix

  • Fall back to /projects when /projects-lite returns 404 (e.g. detect 404 and retry against the list() method), or
  • Make the list route configurable/selectable for self-hosted CE instances (since /projects-lite may be a Cloud-only or newer-API-version route not present on CE deployments).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions