31 tools with consistent verb-noun naming and explicit Zod schemas. All tools have descriptions (avg ~60 chars, baseline 194). Parameters are typed and mostly described. However, descriptions are significantly shorter than production baseline (194 chars), lack WHEN-to-use guidance, and output schemas are not documented. Error handling is minimal, no recovery guidance, no actionable error messages. No tool annotations (readOnlyHint/destructiveHint). Composition is sound (single responsibility per tool), but parameter descriptions lack format/constraint details (e.g., 'slug' format, hex color pattern stated but not in description text).
Add a comment to a task
Attach a label to a task
Create a new label in a workspace
Create a new project in a workspace
Create a subtask linked to a parent. Status inherits from parent unless specified.
Create a new task in a project
Create a relation between two tasks (subtask, blocks, or related)
Descriptions are 40 - 60 chars (baseline 194 chars). Missing WHEN-to-use guidance, prerequisites, and state-modification warnings. LLMs cannot determine when to select delete_task vs update_task without richer context.
Output schemas not documented. Handlers return JSON.stringify(result) but LLMs don't know what fields to expect. Breaks downstream tool chaining, agent cannot extract taskId from create_task response without guessing.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Agents cannot distinguish safe reads from destructive writes without parsing descriptions. Violates current MCP spec (2026-07-28).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Create a new workspace
Delete a comment
Delete a label
Delete a project
Delete a task
Delete a task relation
Delete a workspace
Detach a label from a task
Edit an existing comment
Get details of a specific task
List all columns in a project
List all comments on a task
List all labels in a workspace
List all projects in a workspace
List subtasks of a parent task
List all labels attached to a task
List all relations for a task
List tasks in a project with columns and pagination
List all accessible workspaces
Search tasks, projects, or comments
Update label details
Update project details
Update one or more task fields (partial update). Provide at least one update field.
Update workspace details
Parameter descriptions lack format/constraint details. 'slug' parameter has no description of valid format (alphanumeric, hyphens). 'color' pattern is in schema but not in description text, LLMs cannot read JSON Schema patterns.
No error recovery guidance. Handlers return raw JSON or errors without actionable next steps. E.g., 'Task not found' should suggest 'Try search() with task title' or 'list_tasks() to see available tasks'.