Official MCP (Model Context Protocol) server for Kaneo, the open source project management platform: manage tasks, projects, and labels from Claude, Cursor, and other MCP clients
Kaneo MCP server defines 6 tools with complete input schemas and basic descriptions. All tools have verb-noun naming (whoami, list_workspaces, list_projects, get_project, create_project, update_project) following conventions. However, descriptions are minimal (10-60 chars), lacking context on WHEN to use each tool, prerequisites, or return value structure. Parameter descriptions exist but are terse. No output schemas documented. Error handling and recovery guidance absent. Tool composition is reasonable (single responsibility), but descriptions fall short of LLM-optimized baselines (target 50-200 chars per pattern:tool-description). Risk annotations present (READ_ONLY, WRITE) but not formalized as toolAnnotations in protocol.
Create a project in a workspace.
Get a single project by ID.
List projects in a workspace.
List workspaces the signed-in user can access.
Update project metadata (PATCH-style: only provided fields are changed).
Return the current Kaneo session and user.
Descriptions are too brief (10-60 chars vs. baseline 50-200 chars). Missing WHEN to use, prerequisites, and return value structure. LLMs cannot determine tool selection intent from 'List workspaces the signed-in user can access.'
No output schemas documented. LLMs cannot plan downstream calls or extract required fields (e.g., does list_projects return project_id, name, icon?). Breaks tool chaining.
No error handling or recovery guidance. If create_project fails (e.g., duplicate name, invalid workspace), LLM receives no actionable next step. Missing pattern:recovery-guide.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 68 | 2026-07-28+ | v2 |
list_projects and list_workspaces lack pagination parameters (limit, offset, cursor). Large result sets will blow context window. No documented result limits.
Risk annotations (READ_ONLY, WRITE) are metadata but not formalized as MCP toolAnnotations (readOnlyHint, destructiveHint). Protocol does not expose these hints to clients.