CLI and MCP server for managing Super Productivity via its WebDAV sync file
Server exposes 28 tools with complete input schemas and tool annotations (readOnlyHint, destructiveHint). Naming follows verb_noun convention (sp_list, sp_add, sp_delete). However, descriptions are uniformly terse (8-25 chars), well below the 50-200 char LLM-optimized baseline. Parameter descriptions are present but minimal. No output schemas documented. Error handling is implicit (relies on CLI behavior). Composition is sound, each tool maps to one CLI command. Security: credentials (url, user, password) are exposed as parameters, violating secret-injection pattern.
Add a new task
Show agenda
Archive a task
List archived tasks
List attachments
Show backlog tasks
List boards
Bulk operations on tasks
List counters
All tool descriptions are under 20 characters (e.g., 'List tasks', 'Show task details'). LLM-optimized descriptions should be 50-200 chars, explaining WHAT, WHEN, and any prerequisites.
Credentials (url, user, password, password_file) exposed as tool parameters in sp_init. Per pattern:secret-injection, credentials must never appear as parameters, use server-side secret injection via environment variables or vault. Agent traces log all parameters, leaking secrets.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | 2026-07-28+ | v2 |
Show current task
Delete a task
Check sync file integrity
Initialize configuration
List tasks
Show metrics
Show note details
List notes
Show planner
Archive a project
List projects
List issue providers
Pull latest sync file
Show repeating tasks
Show task details
List tags
Show today's tasks
Untrack a task
Show worklog
No output schemas documented for any tool. LLMs need to know what fields to expect in responses to plan downstream calls and extract data. Responses are captured from CLI stdout but structure is not declared.
sp_pull and sp_bulk have minimal input schemas (empty or single boolean). sp_pull accepts no parameters but its purpose ('Pull latest sync file') is unclear, when should an agent call it vs sp_doctor? sp_bulk's 'yes' parameter alone does not convey what bulk operation is performed.
No error handling guidance. Destructive tools (sp_delete, sp_archive, sp_bulk, sp_untrack) require 'yes=true' to skip confirmation, but error messages when confirmation is needed are not documented. LLMs need to know: is this retryable? Should I ask the user? Or is it fatal?