Super Productivity MCP Server
Super Productivity — MCP Server
Model Context Protocolを使用して、ClaudeとSuper Productivityを統合します。
このサーバーは、デスクトップアプリのローカルREST API(http://127.0.0.1:3876)を対象としています。
macOSでのみテスト済みです。貢献やバグ報告を歓迎します!
構造
src/
├── index.ts ← entry point, starts the MCP server
├── sp-client.ts ← wrapper for Super Productivity REST API
├── resources.ts ← resources readable by Claude (tasks, projects, tags)
├── prompts.ts ← reusable prompt templates
└── tools/
├── tasks.ts ← CRUD tools for tasks
└── projects.ts ← tools for projects and tagsRelated MCP server: lifeup-mcp
セットアップ
1. 依存関係のインストール
npm install2. ビルド
npm run build
# or use watch mode during development:
npm run dev3. Super ProductivityでAPIを有効にする
Super Productivity → 設定 → その他 → ローカルREST APIを有効にする。
デスクトップアプリは 127.0.0.1:3876 でリッスンします。
4. Claude Desktopに登録する
~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
または %APPDATA%\Claude\claude_desktop_config.json (Windows) を開き、
claude_desktop_config.snippet.json のブロックを追加します。
その際、/ABSOLUTE/PATH/ を実際のプロジェクトパスに置き換えてください:
{
"mcpServers": {
"super-productivity": {
"command": "/usr/local/bin/node",
"args": ["/absolute/path/super-productivity-mcp/dist/index.js"],
"env": {
"SP_API_URL": "http://127.0.0.1:3876"
}
}
}
}Claude Desktopを再起動します。チャットに 🔧 アイコンが表示されれば、ツールが有効になっています。
4a. 簡単な動作確認
Claudeを開く前に、ローカルAPIを確認します:
curl http://127.0.0.1:3876/health
curl http://127.0.0.1:3876/tasks5. (オプション) MCP Inspectorでデバッグする
npm run inspectこれにより、各ツールを手動でテストするためのWebインターフェースが開きます。
利用可能なツール
ツール | 説明 |
| ローカルREST APIが起動し、準備ができているか確認します |
| オプションのフィルター( |
| 同じオプションフィルターを使用して、タイトルテキストでタスクを検索します |
| 単一のタスクの詳細を取得します |
| 現在のステータス(アクティブなタスクとタスク数)を返します |
| 現在実行中のタスクを返します |
| 新しいタスクを作成します。IDに加えて |
| 既存のタスクのフィールドを更新します。 |
| タスクを完了としてマークします |
| タスクを現在のタスクとして開始します |
| 現在のタスクを設定または解除します |
| 現在のタスクを停止します |
| タスクをアーカイブします |
| アーカイブされたタスクを復元します |
| タスクを削除します |
| プロジェクトを一覧表示します |
| タグを一覧表示します |
利用可能なリソース
URI | 説明 |
| テキスト形式の現在のステータス |
| テキスト形式のアクティブなタスク |
| テキスト形式のアーカイブ済みタスク |
| JSON形式の現在のタスク |
| JSON形式のすべてのプロジェクト |
| JSON形式のすべてのタグ |
利用可能なプロンプト
名前 | 説明 |
| 日次計画セッション |
| 週次レビュー |
| 複雑なタスクをサブタスクに分解します |
環境変数
変数 | デフォルト | 説明 |
|
| Super Productivity APIのベースURL |
開発
npm testこれにより、TypeScriptのビルドとNodeのテストスイートが実行されます。
Available Tools
17 toolsarchive_taskC
Archives a task.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Task ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations and a one-line description, critical behavioral traits (e.g., reversibility, permissions, side effects) are entirely absent. The description does not disclose what 'archiving' implies beyond the verb itself.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, making it concise. However, it is under-specified for an archive operation, lacking any structural elements like front-loading key behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (one parameter, no output schema), the description should still clarify what archiving means and how it differs from sibling operations. It fails to provide sufficient context for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the only parameter 'id', which has a basic description 'Task ID'. The tool description adds no extra semantics, so it meets the baseline but does not compensate beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Archives a task' is essentially a tautology of the tool name 'archive_task', providing minimal clarification. It states the action and resource but adds no value beyond the name itself, making it barely informative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like delete_task or complete_task. The description lacks any contextual cues for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
complete_taskC
Marks a task as done.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Task ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full burden. It only says 'Marks as done' without disclosing side effects, reversibility, or required task state. A mutation tool should specify whether it triggers notifications or changes other properties.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence. It is concise and focuses on the core action, though a bit more structure (e.g., listing effects) would improve it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with 1 parameter and no output schema, the description is minimal. It omits return value, error conditions, and behavioral context, leaving gaps in agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage: it describes the 'id' parameter as 'Task ID'. The description adds no extra meaning, meeting the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Marks a task as done' is clear and specific, indicating a verb-resource pair. It distinguishes the tool from siblings like create_task, update_task, or archive_task, though it could be more explicit about the exact state change.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., update_task to change status, or archive_task). An agent lacks context on prerequisites or post-conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_taskB
Creates a new task in Super Productivity. Extra fields are passed through to the local API if supported by your app version.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Task title | |
| notes | No | Additional notes / description | |
| projectId | No | Project ID to assign the task to | |
| projectName | No | Project name to assign the task to | |
| tagIds | No | List of tag IDs | |
| tagNames | No | List of tag names | |
| timeEstimateMins | No | Estimated duration in minutes | |
| dueDateISO | No | Due date in ISO 8601 format (e.g. 2026-04-23) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions that extra fields are passed through to the local API, which is useful behavioral context. However, it lacks details on error handling, idempotency, permissions, or what happens upon success.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences, front-loading the core purpose. No unnecessary text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 parameters and no output schema or annotations, the description is too brief. It omits return value, error states, and how to determine if extra fields are supported.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the input schema already documents all parameters. The description adds the note about extra fields being passed through, but does not clarify individual parameter semantics beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Creates a new task in Super Productivity', specifying the verb and resource. However, it does not differentiate from sibling tools like update_task, which also modify tasks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance provided on when to use this tool versus alternatives such as update_task or set_current_task. There is no mention of when not to use it or context-specific scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_taskA
Permanently deletes a task.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Task ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must provide behavioral context. It notes permanence but lacks detail on side effects (e.g., impact on subtasks, tags) or prerequisites.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded, no unnecessary words. Efficiently communicates the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive operation, more context is expected (e.g., 'Cannot be undone', 'Task must exist'). The description is adequate but not comprehensive given the tool's severity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the parameter 'id' is described. The description adds no extra semantic value beyond the schema, earning the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Permanently deletes a task' uses a specific verb ('deletes') and resource ('task'), clearly distinguishing from sibling tools like archive_task and restore_task.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives (e.g., archive_task). Does not mention that deletion is irreversible or suggest safer alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_current_taskA
Returns the currently active task, if any.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The phrase 'if any' indicates the possibility of no active task, providing transparency. No annotations exist, so the description carries the full burden; it is adequate for a read-only query.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words, well front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 params, no output schema), the description is adequate for an agent to understand its function.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so the description adds no parameter info. Per instructions, 0 parameters defaults to baseline 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns the currently active task, distinguishing it from sibling tools like set_current_task and list_tasks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit usage context is provided, but the tool is a simple query for the current task, so it is self-explanatory.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_projectsB
Returns all projects in Super Productivity.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Filter by project title |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It states 'returns all projects' but gives no details about potential limitations (pagination, ordering, performance) or side effects. For a read operation, the behavioral context is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, efficiently front-loading the purpose. However, it could be slightly more structured (e.g., listing what is returned).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional param, no output schema), the description is adequate but incomplete—it doesn't hint at the response structure or clarify if 'all projects' includes metadata like IDs or timestamps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% coverage with a single parameter described as 'Filter by project title'. The description adds no further meaning beyond this, meeting the baseline expectation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Returns' and clearly identifies the resource 'projects', effectively distinguishing it from sibling tools which operate on tasks, tags, or status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage as a simple project listing tool, but provides no guidance on when to use it vs alternatives like search_tasks (which is task-focused). No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_statusB
Returns the current task and task-count status.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It states the tool returns status, implying a read operation, but does not explicitly confirm it is read-only or disclose any other behavioral traits (e.g., side effects, permissions).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of six words, which is concise and front-loaded. However, it could slightly expand without becoming verbose to add contextual value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks detail on the return value structure. There is no output schema, so the description should specify what fields are included (e.g., task id, count, status) but only mentions 'status' vaguely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so no parameter documentation is needed. According to guidelines, this yields a baseline of 4; the description adds no param-specific information, but none is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns 'current task and task-count status', specifying both the action and resource. However, it does not distinguish itself from sibling tools like get_current_task or health_check, which also return status-like information.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of context or exclusions, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tagsB
Returns all tags in Super Productivity.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Filter by tag title |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It does not disclose that this is a read-only operation or any side effects. The description only states a basic function without adding behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the main purpose. No unnecessary words. It is concise and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema is provided, and the description does not describe the return format (e.g., list structure, fields). Lacks completeness for understanding the full behavior of the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter. The description does not add meaning beyond the schema's description of 'query' (e.g., match type, case sensitivity). Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Returns') and the resource ('all tags'). It is specific and distinguishes from sibling tools, which are mainly task-related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives, but since it's the only tag-related tool among siblings, usage context is implied. No exclusions or when-not-to-use information provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_taskB
Returns details of a specific task by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Task ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It only states 'returns details' without specifying what details are included, whether the operation is read-only, or any prerequisites. For a read operation, basic behavioral context is missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence is concise and front-loaded. It efficiently conveys the purpose, though it could be slightly expanded without losing conciseness. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and 14 sibling tools, the description lacks completeness. It fails to hint at the structure of returned details or how this tool differs from search_tasks or get_current_task. More context is needed for effective selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 1 parameter with 100% coverage. The description adds 'by ID' but this is largely redundant with the schema's description 'Task ID'. No additional semantic value beyond the schema is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (returns), the resource (details of a specific task), and the mechanism (by ID). It effectively distinguishes from sibling tools like list_tasks (returns multiple tasks) or modify tools like archive_task.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when needing details of a known task, but lacks explicit guidance on when to use this vs alternatives like get_current_task or search_tasks. No exclusions or when-not-to-use are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
health_checkA
Checks whether the Super Productivity local REST API is reachable and the renderer is ready.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but description discloses it is a safe read-only check with clear purpose. Does not detail error behavior, but adequate for a simple health check.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words, front-loaded with key action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless health check with no output schema, the description is complete and sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters in schema, so description need not add param info. Baseline 4 for zero-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks API reachability and renderer readiness, using a specific verb and resource. It distinguishes from sibling task-oriented tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for verifying system health before other operations, but does not explicitly state when not to use or alternatives. Clear enough given sibling context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tasksC
Returns tasks from Super Productivity with optional filters.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Filter by title text (case-insensitive contains) | |
| projectId | No | Filter by project ID | |
| projectName | No | Filter by project name | |
| tagId | No | Filter by tag ID | |
| tagName | No | Filter by tag name | |
| includeDone | No | Include completed tasks | |
| source | No | Which task source to query |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries the full burden. It only states 'returns tasks' without disclosing default behavior, pagination, sorting, or read-only nature. Minimal behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded, no unnecessary words. Could be slightly more informative without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 optional parameters and no output schema or annotations, the description is too minimal. Lacks details on default behaviour (e.g., does it return all tasks if no filters?), result limits, or that it is a read operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 7 parameters are described in the input schema. The tool description adds no additional meaning beyond what the schema provides. Baseline score applied due to high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns tasks with optional filters, specifying the verb and resource. It distinguishes from 'get_task' (single task) and 'search_tasks' (likely more extensive), but does not explicitly contrast with siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'search_tasks', or on when not to use it. Lacks context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
restore_taskB
Restores an archived task.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Task ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description lacks behavioral details such as whether task must be archived, effects on state, or permissions required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise single phrase with no redundancy, but could benefit from structured breakdown.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations or output schema, the description should provide more context on return values, side effects, and usage constraints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and parameter description 'Task ID' is clear; description adds no further meaning beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'restores' and resource 'archived task', distinguishing it from sibling tools like archive_task, delete_task, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use vs alternatives (e.g., not to use on active tasks, no mention of prerequisites).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_tasksB
Searches tasks by title text and optional filters.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Text to search for in the task title | |
| projectId | No | Filter by project ID | |
| projectName | No | Filter by project name | |
| tagId | No | Filter by tag ID | |
| tagName | No | Filter by tag name | |
| includeDone | No | Include completed tasks | |
| source | No | Which task source to query |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full burden for behavioral disclosure. It only says 'searches', which suggests a read operation, but does not mention that it is read-only, any authentication requirements, rate limits, pagination behavior, or potential side effects. The behavioral trait is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no extraneous words. It efficiently conveys the tool's core function without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, so the description should explain what the search returns (e.g., list of task objects, count, etc.). It does not mention return format, result limits, or ordering. The description is incomplete for a search tool that produces results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, meaning all parameters are already documented. The description adds 'optional filters' which is generic and does not provide additional meaning beyond what the schema already conveys. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (searches), the resource (tasks), and the specific search criterion (by title text). This differentiates it from sibling tools like list_tasks (likely lists all tasks without filter) and get_task (retrieves by ID). The verb 'searches' is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for searching tasks by title and applying optional filters, but does not explicitly state when to use it versus alternatives like list_tasks or get_task. No guidance is given on when not to use it or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_current_taskA
Sets the current task explicitly, or clears it when id is null.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Task ID, or null to clear the current task |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the basic behavior (set or clear) but does not mention side effects, permissions, or what 'current task' means operationally. Adequate for a simple tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that is front-loaded with the action. No wasted words; every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema, no annotations), the description covers the behavior adequately. Lacks mention of return value but is still fairly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the parameter description in the schema matches the tool description. The description adds no new meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'sets' and the resource 'current task', with explicit handling of clearing when id is null. This distinguishes it from sibling tools like get_current_task.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like start_task or update_task. The description does not provide any context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_taskC
Starts the specified task and makes it the current task.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Task ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must disclose behaviors. It only states the core action without mentioning side effects (e.g., state changes, conflicts with current task, persistence, or error conditions). The agent lacks behavioral expectations beyond the action itself.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, 10 words, front-loading the verb and resource. No redundancy, but could be slightly more informative without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the action-oriented nature (no output schema, no annotations), the description omits important context: what happens if task is already running, if it fails, or what the response indicates. Sibling tools further highlight the need for distinctions, which are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3. The description does not add parameter-level semantics beyond 'Task ID' from the schema. No additional nuance or constraints are provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'starts' and resource 'specified task', and adds 'makes it the current task' which distinguishes from basic start. However, it does not explicitly differentiate from sibling tools like set_current_task, though the combination of verb and resource is specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use start_task versus siblings like set_current_task or archive_task. No prerequisites, conditions, or exclusions are mentioned, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stop_current_taskB
Stops tracking the current task.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must convey behavioral traits entirely. It does not explain what 'stops tracking' implies—whether the task's status changes, if it is reversible, or if it affects timers. This is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no superfluous words. It is concise and front-loaded, though its brevity sacrifices detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema), the description is minimal but lacks context about the effect on the current task state. Sibling tools like complete_task suggest different terminations, so more detail would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so the description does not need to add parameter information. The absence of parameters is handled implicitly, earning a baseline score of 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Stops tracking the current task,' using a specific verb and resource. Among sibling tools like start_task, set_current_task, and get_current_task, it is distinct and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as archive_task, complete_task, or pause alternatives. The description lacks context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_taskC
Updates one or more fields of an existing task.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Task ID | |
| title | No | ||
| notes | No | ||
| projectId | No | ||
| projectName | No | ||
| isDone | No | ||
| timeEstimateMins | No | New estimate in minutes | |
| dueDateISO | No | New due date in ISO 8601 format | |
| tagIds | No | ||
| tagNames | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states 'updates' but does not disclose any side effects, permissions required, idempotency, or error cases (e.g., invalid fields, missing task).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 8 words with no redundancy. It is front-loaded and efficient, though it could be slightly expanded to add context without harming conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 10 parameters, no output schema, and no annotations, the description is inadequate. It does not explain that only provided fields are updated (partial update), the return value, or how to handle optional fields. Sibling tools like complete_task suggest alternate methods.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is low (30%). The description adds no parameter-specific information beyond repeating 'fields'. It does not explain which fields are commonly updated or provide usage hints, leaving agents to rely on the sparse schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Updates one or more fields of an existing task', which specifies the verb 'updates' and the resource 'existing task'. This distinguishes it from sibling tools like create_task, delete_task, and archive_task.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool vs alternatives (e.g., complete_task to mark done, or archive_task to move). No when-not or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
17 tool updates
v1.0.0- First observed
archive_task - First observed
complete_task - First observed
create_task - First observed
delete_task - First observed
get_current_task - First observed
get_projects - First observed
get_status - First observed
get_tags - First observed
get_task - First observed
health_check - First observed
list_tasks - First observed
restore_task - First observed
search_tasks - First observed
set_current_task - First observed
start_task - First observed
stop_current_task - First observed
update_task
TDQS
Scored across 17 tools
Each tool has a clearly distinct purpose. For example, start_task begins tracking, set_current_task just assigns the current task, and get_current_task retrieves it. No two tools have ambiguous boundaries.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., archive_task, complete_task, get_projects). The only slight deviation is health_check, but it is still clearly readable and fits the pattern.
With 17 tools, the server is well-scoped for a task management system. Each tool covers a necessary operation without being excessive or too few.
The tool set covers the full CRUD lifecycle for tasks (create, read, update, delete), plus lifecycle operations (start, stop, complete, archive, restore) and status queries. Project and tag retrieval are included, leaving no obvious gaps for the intended domain.
Maintenance
Related MCP Connectors
Manage Superlist tasks and lists in plain language from any MCP-compatible AI agent.
Create projects, nodes, and tasks in UluP Spaces by conversation with Claude.
Notes and actions in one app. Let Claude or ChatGPT read and update them.
Persistent context for Claude. Your AI always knows your projects and next actions across sessions.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceBridge between Super Productivity app and MCP servers, allowing Claude Desktop to directly interact with Super Productivity for task management, project organization, and information retrieval.125MIT
- FlicenseAqualityDmaintenanceEnables Claude to interact with LifeUp Cloud API on your local network for task management, achievements, and user information. Supports 20 tools including creating, editing, and querying tasks, achievements, and shop items.2610-
- FlicenseCqualityDmaintenanceConnects Claude to a local project management API, enabling task, project, and user management through natural language.46-
- AlicenseBqualityDmaintenanceEnables interaction with Super Productivity's local REST API to manage tasks, projects, and time tracking through natural language.15190 npmMIT