Self-hosted operator toolkit for agent-first task management. Provides MCP tools for task creation, querying, updates, and permission-based access control.
WritBase MCP server demonstrates solid tool naming conventions and mostly complete parameter schemas. All 6 tools start with action verbs (create_, list_, get_, update_) following the pattern:tool baseline. Tool descriptions are present and informative (ranging 80-180 chars), exceeding the 10-char minimum but falling short of the 50-200 char LLM-optimized range for some tools. Input schemas are well-defined with proper JSON Schema types, formats, and enums for constrained values. However, output schemas are not documented in the visible source code, descriptions note what tools return but do not specify the field structure. Error handling and recovery guidance are absent from tool definitions. No tool annotations (readOnlyHint/destructiveHint/idempotentHint) are present, missing a current MCP pattern for agent safety. Some parameter descriptions could be richer with constraints and examples.
Create a new task in a project with description, notes, priority, due date, and optional department assignment
Retrieve a single task by ID with full details
List all departments in the agent's workspace
List all projects in the agent's workspace with permission awareness
List tasks in a project with optional filtering by department, status, priority, and pagination support
Update a task's status, priority, description, notes, due date, or department assignment
Output schemas not documented. Tool descriptions state what is returned but do not specify field structure, types, or required fields. LLMs cannot infer response shape and may fail to extract required fields for downstream tool chaining.
Missing tool annotations. No readOnlyHint, destructiveHint, or idempotentHint metadata on tools. write_safe tools (create_task, update_task) should carry destructiveHint=true; read_only tools should carry readOnlyHint=true. This is a current MCP pattern for guiding agent safety.
No error recovery guidance. Tool definitions lack descriptions of failure modes or recovery actions. Example: create_task does not document what happens if project_id is invalid or if the user lacks permission to create tasks. Agents receive raw errors with no guidance.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | <=2025-11-25 | v2 |
Parameter descriptions lack constraint detail. 'description' parameter in create_task states '(minimum 3 characters)' but other string parameters lack similar guidance. Descriptions in update_task for optional fields do not clarify what happens if omitted (partial update vs full replacement). Per pattern:tool-description, constraints should be explicit.
list_projects and list_departments lack pagination controls. list_tasks correctly exposes limit/offset, but list_projects and list_departments do not. Per pattern:paginated-result, all list_ tools should support pagination to prevent context window exhaustion.