Model Context Protocol server for Ithura, the quiet project management workspace. Gives Claude, Cursor, and other MCP clients read and write access to tasks, sprints, projects, modules, wiki pages, and intake.
23 tools with consistent verb-noun naming (list_, get_, create_, update_, delete_, add_, remove_, search_). All tools have descriptions (avg ~80 chars, within baseline 34-392). Zod schemas present for all tools with proper type definitions and descriptions. However, output schemas are undocumented, responses are JSON.stringify'd without declared structure. No error handling guidance, no recovery hints, no pagination support despite list tools. Missing tool annotations (readOnlyHint, destructiveHint). Parameter descriptions are adequate but lack format constraints (e.g., date format YYYY-MM-DD stated in description but not enforced via schema). No enum constraints for priority/status fields despite known valid values.
Add a comment to an issue
Add issues to a cycle
Add issues to a module
Create a new cycle in a project
Create a new issue in a project
Create a new label in a project
Create a new module in a project
Output schemas undocumented. All tools return JSON.stringify'd responses without declared structure. LLMs cannot plan downstream tool calls or extract specific fields reliably.
No enum constraints for priority, status, network fields. Descriptions state valid values (e.g., 'urgent, high, medium, low, none') but Zod schemas accept free-form strings, inviting hallucinated values.
No pagination support on list tools (list_projects, list_issues, list_states, list_labels, list_cycles, list_modules, list_issue_comments, search_workspace). Large result sets will blow context window.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | 2026-07-28+ | v2 |
Create a new project in the workspace
Delete an issue from a project
Delete a module from a project
Get a single issue by ID
Get a project by ID
List all cycles in a project
List comments on an issue
List issues in a project. Supports filtering by state, label, priority, assignee, cycle, module.
List labels for a project
List all modules in a project
List all projects in the workspace
List workflow states for a project
Remove an issue from a cycle
Search the workspace for projects, issues, and other items
Update fields on an existing issue
Update a project
No error handling guidance. Tool implementations call api.* functions but no try-catch or error recovery hints visible. LLMs receive raw errors with no actionable next steps.
Destructive tools (delete_issue, delete_module) lack confirmation or dry-run support. No tool annotations (destructiveHint) to signal irreversibility to LLM.