SupaThings MCP: a Things 3 MCP server with SQLite reads, URL scheme writes, and optional AppleScript diagnostics.
SupaThings MCP has 14 tools with consistent naming (verb_noun pattern: get_*, add_*) and complete input schemas with type definitions. Descriptions are present but brief (avg ~60 chars), lacking LLM-optimized guidance on WHEN to use each tool or dependencies between them. All parameters have types and descriptions, meeting baseline requirements. However, output schemas are not documented in the source, LLMs cannot predict response structure. Error handling is minimal; no recovery guidance or actionable error messages visible. The single write tool (add-todo) lacks confirmation/dry-run pattern. Tool composition is sound (single responsibility), but descriptions could better explain tool relationships (e.g., get-projects vs get-project-structure).
Add a new to-do task to Things 3 via URL scheme
Check the operational status of Things 3 and AppleScript availability
Retrieve all areas from Things 3
Retrieve headings from a Things 3 project with optional task items
Retrieve the complete structure of a project including headings and tasks
Retrieve all projects from Things 3 with optional task items
Retrieve all tasks with a specific tag
Output schemas not documented. LLMs cannot predict response structure (fields, types, nesting). Responses appear to be text-only with optional structuredContent, but field names and types are not declared.
Descriptions are too brief (avg 60 chars, baseline 194 chars). Missing WHEN to use each tool, dependencies, and prerequisites. E.g., get-tags lacks context; get-project-structure vs get-projects distinction unclear.
No error handling or recovery guidance visible. Errors likely return raw exceptions. LLMs cannot self-correct or know whether to retry, ask user, or abort.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2025-06-18+ | v2 |
Retrieve all tags from Things 3
Retrieve today's tasks from Things 3
Suggest heading names for a new project based on project title, goal, and work type
Suggest which heading a task should be placed under based on semantic matching
Generate a comprehensive summary of a project's structure, progress, and planning signals
Validate that suggested headings exist in a project
Return the version of the SupaThings MCP server
add-todo (write tool) lacks confirmation/dry-run pattern. Agents cannot preview before executing irreversible action. No idempotent hint or destructive hint annotation.
Tool composition could be clearer. get-projects, get-headings, get-project-structure, and suggest-task-placement all operate on projects but relationships and sequencing are not documented.