MCP server for Plane self-hosted local instance. Provides tools to manage projects, spaces, issues, and time tracking via the Plane API.
Server has 12 tools with consistent naming (verb_noun pattern) and reasonable descriptions in Portuguese. However, critical gaps exist: parameter descriptions are minimal or absent for many inputs, output schemas are not documented, and error handling lacks recovery guidance. Tools like list_issues and create_issue have basic schemas but missing field-level documentation. The server accepts flexible identifiers (project ID or name) which is good UX, but this flexibility is not clearly documented in parameter descriptions. No tool annotations (readOnlyHint, destructiveHint) despite clear risk classifications. Average description length ~80 chars (below 194 baseline), and parameter descriptions often missing entirely.
Cria uma issue. A autoria fica como Claude (IA). description aceita HTML.
Cria um space: agrupador de projetos dentro do workspace, equivalente ao Space do ClickUp. identifier tem no maximo 12 chars. Ex: um space por cliente.
Apaga um space. Os projetos nao sao apagados: voltam para 'Sem space'.
Remove um lancamento de tempo.
Lista as issues de um projeto. project pode ser o id ou o identificador (ex: PALW).
Lista os projetos do workspace (id, nome, identificador).
Output schemas not documented. Tools return structured data (dicts/lists) but LLMs cannot see what fields to expect. list_projects returns {id, name, identifier, space} but this is inferred from code, not declared in tool definition.
Parameter descriptions missing or minimal. 'space' param in set_project_space says 'Space identifier or ID, or None to remove from space' but does not explain the flexible identifier resolution or format constraints. Similar gaps in project, issue_id, log_id params across tools.
No tool annotations despite clear risk classifications. delete_space and delete_time_log are DESTRUCTIVE but lack destructiveHint. list_* tools are READ_ONLY but lack readOnlyHint. Annotations help LLMs reason about safety and retry logic.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Lista os spaces (agrupadores de projetos) do workspace.
Lista os estados (Backlog, Todo, In Progress, Done, Cancelled) de um projeto.
Lancamentos de tempo de uma issue, com o total.
Lanca tempo numa issue. duration aceita '3h 20m', '45m', '1:30' ou '90' (minutos).
Move um projeto para um space (ou tira do space atual com space=None).
Atualiza uma issue: nome, descricao, prioridade ou estado (state_id).
Error handling lacks recovery guidance. _request() raises RuntimeError with messages like '403: the bot account is not a member...' but tools do not catch or transform these into actionable LLM guidance. No pattern like 'Try adding the bot to project_members' in tool docstrings.
Flexible identifier resolution (project ID or name) is powerful UX but undocumented. Parameter descriptions say 'Project identifier or ID' but do not explain what 'identifier' means (e.g., 'PALW' example in list_issues description). LLMs may not know when to use which.