Super Productivity REST MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SP_REST_TOKEN | Yes | Bearer token from Super Productivity's Local REST API settings. Only sp_health works without it. | |
| SP_REST_BASE_URL | No | Base URL of the Local REST API. Use http://localhost:3876 when running next to Super Productivity on the same machine. | http://host.docker.internal:3876 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| sp_healthA | Checks whether the Super Productivity Local REST API is reachable (unauthenticated). |
| sp_statusB | Returns the current task and the total task count. |
| sp_tasks_listB | Lists tasks, optionally filtered by title, project, tag, done-state and source. |
| sp_task_getA | Returns one task by id. |
| sp_task_createA | Creates a new task. A subtask (parentId set) inherits the parent's project and cannot have its own tags. |
| sp_task_updateB | Updates individual fields of a task. parentId/subTaskIds cannot be changed (results in 400). deadlineDay/deadlineWithTime/deadlineRemindAt are mutually exclusive. |
| sp_task_deleteB | Deletes a task irreversibly. |
| sp_task_startC | Sets the given task as the current task. |
| sp_task_archiveC | Moves a task to the archive. |
| sp_task_restoreC | Restores an archived task. |
| sp_task_control_get_currentB | Returns the currently running task (task-control). |
| sp_task_control_set_currentA | Sets the current task; omitting taskId (or passing null) clears the current task. |
| sp_task_control_stopA | Stops the currently running task without starting another one. |
| sp_focus_getA | Returns the mode (Flowtime/Pomodoro/Countdown), cycle, and running timer, if active. |
| sp_projects_listA | Lists projects, optionally filtered by title (case-insensitive). |
| sp_tags_listA | Lists tags, optionally filtered by title (case-insensitive). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 16 tools
Several tools overlap around the 'current task' concept: sp_task_start, sp_task_control_set_current, sp_task_control_stop, sp_status, and sp_task_control_get_current all describe the same state from slightly different angles. This makes it unclear which tool an agent should select for starting, stopping, or querying the active task.
The sp_ prefix is consistent, but naming patterns vary: sp_task_get and sp_tasks_list mix singular/plural, while sp_task_start vs sp_task_control_set_current and sp_health/sp_status break the verb_noun rhythm. The names are readable but not predictable enough to be a 4 or 5.
16 tools is on the borderline of being heavy for the scope, and the redundant current-task control tools make the count feel inflated. It is not excessive, but several tools could be consolidated without losing capability.
Tasks have solid lifecycle coverage with create, get, list, update, delete, archive, restore, start, and stop. However, projects and tags only have list operations, and focus only has a getter, leaving no way to manage those resources through the MCP server.