Skip to main content
Glama

Task Manager MCP Server

AI‑powered task management system for AI agents. Maps tasks, picks daily work, tracks velocity, and integrates with agent‑modes session context.

Features

  • Task board with backlog/ready/in‑progress/done columns

  • Daily planning – pick tasks for today, log completions

  • Velocity tracking – empirical tasks/day based on recent logs

  • Forecasting – predict when backlog will be cleared

  • Session integration – scan recent agent‑modes context notes for work signals

  • Rule‑based AI recommendations – suggests daily tasks based on priority, dependencies, category balance, and recent completion

  • DeepSeek AI integration – smarter recommendations, task parsing, session analysis, and summarization

Related MCP server: Project Manager MCP

Tools

Task Management

  • create_task – add a new task (title, category, priority, etc.)

  • get_task – retrieve a single task by ID

  • list_tasks – list tasks with optional filtering (category, status, tags)

  • update_task – modify any task field

  • delete_task – remove a task

Daily Planning

  • get_daily_log – get today’s (or any date’s) planned/completed tasks

  • plan_day – add task IDs to today’s plan

  • complete_tasks – mark tasks as done (updates daily log and task status)

  • list_daily_logs – list logs within a date range

  • get_daily_summary – generate completion rate and category breakdown

Projections

  • get_projections – retrieve current velocity and forecast

  • update_velocity – recalculate velocity from recent completions

  • forecast_completion – estimate when backlog will be finished

Session Integration

  • scan_recent_sessions – scan agent‑modes session context notes from the last N days

AI‑Assisted Planning

  • recommend_daily_tasks – rule‑based recommendation for today’s tasks (priority, dependencies, category balance, recent history)

  • recommend_daily_tasks_ai – DeepSeek-powered recommendations with sophisticated reasoning

  • analyze_session_for_tasks – parse agent‑modes session notes to detect task completion and progress

  • parse_natural_language_task – convert informal descriptions into structured tasks

  • summarize_task_description – create concise, clear summaries of lengthy task descriptions

  • generate_weekly_summary – AI‑written narrative summary of weekly productivity

Data Storage

All data is stored in .opencode/tasks/ as JSON files:

  • tasks.json – all tasks

  • daily‑logs.json – daily plans and completions

  • projections.json – velocity and forecast

Integration with Agent‑Modes

The server reads .opencode/sessions/<id>/context.md files to detect work‑completion signals (future enhancement: auto‑update task status based on session notes).

Usage in OpenCode

Once registered in opencode.json, the tools are available to all agents (subject to agent‑level permissions). Example:

# Create a coding task
task_manager create_task title="Implement user auth" category=coding priority=1

# Plan today’s work
task_manager plan_day task_ids=["task-id-1","task-id-2"]

# Get recommendations (rule-based)
task_manager recommend_daily_tasks max_tasks=3 category=coding

# Get AI-powered recommendations
task_manager recommend_daily_tasks_ai max_tasks=3 use_ai_reasoning=true

# Parse natural language into structured task
task_manager parse_natural_language_task description="need to fix the login bug that happens on mobile safari"

# Analyze session notes for task completion
task_manager analyze_session_for_tasks session_id="20250304T123456Z_abc123"

# Generate weekly summary
task_manager generate_weekly_summary start_date="2025-03-01" end_date="2025-03-07"

# Mark tasks as done
task_manager complete_tasks task_ids=["task-id-1"]

# Check velocity
task_manager update_velocity days=7
task_manager forecast_completion

Configuration

The server is registered in opencode.json under the key task_manager. It runs as a local stdio MCP server.

DeepSeek API Key

For AI features, set the DEEPSEEK_API_KEY environment variable. The server includes a default key for testing, but for production use you should:

  1. Get your own API key from DeepSeek Platform

  2. Set it as environment variable or replace the default in llm‑bridge.mjs

export DEEPSEEK_API_KEY=your_key_here
# or on Windows:
set DEEPSEEK_API_KEY=your_key_here

Development

Files:

  • server.mjs – MCP transport boilerplate

  • core.mjs – tool definitions and execution router

  • task‑store.mjs – persistence layer (JSON files)

  • daily‑planner.mjs – rule‑based recommendation logic

  • llm‑bridge.mjs – DeepSeek API integration for AI features

  • README.md – this file

Next Steps (Planned)

✅ Implemented

  1. LLM bridge – DeepSeek API integration for smarter recommendations, task parsing, and summarization

  2. Session integration – scan agent‑modes context notes (manual analysis via analyze_session_for_tasks)

🔄 Remaining 3. Auto‑completion – automatically update task status based on session notes (future enhancement) 4. Custom OpenCode commands – e.g., /task‑board, /plan‑today 5. Initial seed – pre‑populate with example tasks from existing projects 6. Web UI – optional browser‑based task board visualization

Available Tools

22 tools
analyze_session_for_tasksB

Use AI to analyze agent-modes session context notes for task completion and progress.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idNoSession ID to analyze (from agent-modes)
session_notesNoAlternatively, provide raw session notes text

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the full behavioral burden. It hints at LLM processing ('Use AI'), which implies non-determinism and possible latency/cost, but it says nothing about whether tasks are created or mutated, what permissions are needed, or what the result contains. For an unannotated tool this leaves the agent guessing about side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no filler. It is efficiently sized, though its brevity is partly under-specification rather than tight editing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, no output schema, and an optional-only 2-parameter schema, the description should explain what the analysis returns and whether it produces or merely reports on tasks — the name 'for_tasks' suggests possible task generation that is never clarified. The mutual exclusivity of session_id and session_notes is also left unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are already documented in the schema, making 3 the baseline. The description mentions 'session context notes,' loosely echoing session_notes, but adds no guidance on the session_id vs. session_notes choice or on the fact that zero parameters are required (i.e., whether one of the two must be supplied).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (analyze), a specific resource (agent-modes session context notes), and the dimension being analyzed (task completion and progress). It is distinguishable from siblings like summarize_task_description or scan_recent_sessions by naming the agent-modes session source, though it never explicitly contrasts itself with those neighbors.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied by the purpose statement — an agent can infer this is for evaluating session notes against task progress, but there is no explicit when-to-use, when-not-to-use, or named alternative (e.g., vs. scan_recent_sessions or recommend_daily_tasks_ai). No prerequisites or input-selection guidance is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

complete_tasksB

Mark tasks as completed for a specific date. Updates daily log and task status.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoDate in YYYY-MM-DD formattoday
task_idsYesTask IDs to mark as completed

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations, so the description carries the full burden. It discloses two side effects: 'Updates daily log and task status.' This is useful context beyond the name, but it lacks information on idempotency, error handling, or whether marking completed is reversible (likely via update_task).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the core action followed by secondary effects. No filler, though could be slightly more explicit about the update scope.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and simple parameters, the description covers the primary behavior and mentions daily log updates. However, it omits bulk-handling semantics, error behavior, and potential impact on other tools, leaving some gaps for a write operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents 'date' and 'task_ids' fully. The description adds no parameter-level detail beyond what the schema provides; baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb+resource: 'Mark tasks as completed' – an agent knows immediately this is a write operation on task status. It does not explicitly differentiate from the sibling update_task, but the specificity of the action (completing) is a strong signal.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no alternatives mentioned. The agent has no indication of when to prefer complete_tasks over update_task or delete_task, especially for bulk versus single-item operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_taskC

Create a new task in the task board.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNoTags for filtering
titleYesTask title
statusNoCurrent statusbacklog
categoryYesTask category
priorityNoPriority (1 highest, 5 lowest)
depends_onNoIDs of tasks this depends on
descriptionNoDetailed description
estimate_daysNoRough estimate in days

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full behavioral burden, and it says almost nothing: it does not state that required fields must be supplied, that status defaults to backlog, whether duplicate titles are permitted, or what identifier is returned for use in depends_on. For a mutation tool with zero annotation coverage this is a substantial gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with the core action front-loaded and no filler. It is efficiently sized, though the brevity reflects under-specification rather than deliberate compression.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool takes 8 parameters with enums and defaults, has no output schema and no annotations, yet the description covers none of this. An agent cannot tell from the definition what a successful call returns or how the new task relates to list_tasks and get_task, leaving the definition insufficient for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% across all 8 parameters, including enum values and defaults, so the schema already does the heavy lifting. The description adds no parameter semantics of its own, which is the expected baseline 3 when structured data is complete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description pairs a specific verb ("Create") with a specific resource ("task in the task board"), so an agent immediately knows the operation. It does not, however, distinguish itself from other creation-capable siblings such as seed_tasks_from_projects, parse_natural_language_task, or analyze_session_for_tasks, which also produce tasks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to call this versus the sibling creation tools or update_task. No prerequisites, no exclusions, and no scenario framing are provided; the agent must infer everything from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_taskC

Delete a task by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesTask ID

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It implies a destructive mutation but does not state whether deletion is permanent, what permissions are required, or what side effects occur.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence with zero wasted words and the action is front-loaded. It is appropriately sized for a simple one-parameter deletion tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive operation with no annotations and no output schema, the description is too thin. It should at least note irreversibility, required permissions, or behavioral consequences of deleting a task.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema already documents the single required parameter as 'Task ID'. The description adds no syntax, format, or validation detail beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: delete a task. It is clearly distinguishable from siblings like create_task, get_task, and update_task by the operation itself, though it does not explicitly name alternatives or scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives, no prerequisites, and no warning about when deletion is appropriate. The description merely identifies the operation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

display_task_boardB

Generate a visual task board in markdown format with columns for each status.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoFilter by category
show_allNoShow all tasks including done (default: hide done)

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses the output format and shape (markdown, columns per status), which is genuinely useful, but it does not state whether the tool is read-only, whether it renders or writes anywhere, or any side effects — a gap for a display tool with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single tight sentence that is front-loaded with the core action and wastes no words. It is appropriately sized for the tool, though extremely terse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a no-annotation display tool with no output schema, the description leaves the rendered content (which fields each task shows, ordering, empty-state behavior) unspecified. Parameter documentation is complete via the schema, but the visible result of the call is under-described.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both the category enum and show_all default are fully documented in the schema. The description adds nothing about these parameters, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Generate) plus resource (visual task board), and adds the output format (markdown) and structure (columns for each status). However, it does nothing to distinguish itself from the many sibling task tools such as list_tasks or get_daily_summary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no when-to-use guidance and names no alternatives, leaving the agent to infer the boundary between this board view and list_tasks or get_daily_summary purely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

forecast_completionC

Generate forecast for when tasks will be completed based on current velocity.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoForecast for a specific category

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full behavioral burden. It only implies a read/forecast operation and doesn't disclose permissions needed, whether it depends on velocity data being pre-populated, or the time horizon of the forecast. 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single efficient sentence with the purpose front-loaded. No waste, though it is short enough that it could have included a routing hint without sacrificing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no annotations and no output schema, the description is sparse. It doesn't explain the forecast output granularity, the data source ('current velocity' implies dependency on velocity), or how it relates to siblings like get_projections — leaving meaningful gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the single 'category' enum parameter is already fully documented in the schema (coding/job_search/business). The description adds essentially no parameter meaning beyond the schema baseline, which warrants a 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Generate forecast') and resource ('when tasks will be completed') — an agent can tell this is a forecasting tool distinct from task CRUD siblings. It doesn't explicitly name or distinguish from the closest sibling 'get_projections', leaving some ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no guidance on when to use this versus alternatives. Notably, 'get_projections' is a sibling that may serve a similar forecasting purpose, yet the description never routes the agent. No prerequisites or preconditions mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_weekly_summaryC

Generate AI-written weekly productivity summary from daily logs.

ParametersJSON Schema
NameRequiredDescriptionDefault
end_dateNoEnd date (YYYY-MM-DD)today
start_dateNoStart date (YYYY-MM-DD)7 days ago

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It discloses only that the output is AI-written and derived from daily logs, saying nothing about whether the summary is persisted or ephemeral, generation cost/latency, rate limits, or what happens when no logs exist for the window.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero filler: the action and output type come first, the data source last. It is efficient, though its very terseness for an AI-generating tool borders on under-specification rather than optimal sizing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description should describe the shape/format of the generated summary and whether it is stored, and it does not. Parameters are fully covered by the schema, so the definition is minimally viable but leaves real gaps for a generation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both start_date and end_date documented including format and defaults, so the schema already does the heavy lifting. The description adds no additional meaning about date semantics (inclusive bounds, timezone, defaults), making the baseline 3 correct.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (generate) and resource (weekly productivity summary), plus the data source (daily logs). This implicitly distinguishes it from the sibling get_daily_summary by scope (weekly vs daily), but the description never explicitly names or contrasts an alternative, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no when-to-use guidance, no prerequisites (e.g. whether daily logs must already exist for the period), and no routing to related siblings like get_daily_summary or recommend_daily_tasks_ai. Usage must be entirely inferred from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_daily_logB

Get daily log for a specific date (YYYY-MM-DD). Defaults to today.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoDate in YYYY-MM-DD formattoday

TDQS

B3.4/5.0
Behavior3/5

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 default-to-today behavior, but says nothing about the read-only nature, what the log contains, or its format. For a simple getter this is minimal but not misleading.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that states the resource, the argument, and the default with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read tool with no output schema and no nested structure, the description is largely sufficient: it covers the resource, the argument format, and the default. It stops short of describing what a daily log returns, which is minor given the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema already documents the date format and the 'today' default. The description restates the YYYY-MM-DD format and the default rather than adding meaning, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Get) and resource (daily log) scoped to a single date, which an agent can distinguish from the plural 'list_daily_logs' sibling. However, it never explicitly names or contrasts with those siblings (list_daily_logs, get_daily_summary), so differentiation relies on the agent's inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'Defaults to today' phrasing hints that calling without a date is valid, but there is no explicit when-to-use guidance, no mention of when to prefer get_daily_log over list_daily_logs or get_daily_summary, and no prerequisites stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_daily_summaryB

Generate summary of a daily log including completion rate and category breakdown.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoDate in YYYY-MM-DD formattoday

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations and no output schema, the description carries the full burden, and it does disclose the report's contents (completion rate, category breakdown), which is genuinely useful since nothing else describes the return value. It says nothing about permissions, the source of the log, or how the default date resolves, so behavioral coverage is partial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single compact sentence with the resource front-loaded and no wasted words. It is efficient, though extremely brief.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read tool with no output schema, the main missing piece would be return-value detail, and the description does sketch the report contents, which helps. However it omits any routing guidance relative to its many siblings and says nothing about date-default behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single date parameter, so the schema already documents format and default. The description adds no parameter detail beyond that, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (Generate) and resource (summary of a daily log) and enumerates the contents (completion rate, category breakdown). By phrasing it as a summary of a 'daily log' it implicitly distinguishes itself from get_daily_log and generate_weekly_summary, though it never names those siblings explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus get_daily_log, list_daily_logs, or generate_weekly_summary, nor any mention of prerequisites. The agent must 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_projectionsB

Get current projections including velocity and forecast.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It implies a read operation but says nothing about time horizon, data freshness, whether projections are computed live or cached, or what the caller receives back.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with the verb and resource front-loaded and no filler. It is appropriately sized, though it is arguably too terse for a tool whose output shape is unexplained.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema and no annotations, so the description is the only source of information about this tool's behavior and return value. It never explains what a 'projection' covers (timeframe, units, velocity vs. forecast distinction), leaving an agent unable to predict the response or choose it confidently over forecast_completion.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is no parameter semantics for the description to clarify; baseline 4 applies. The schema explicitly forbids additional properties, which the description does not need to restate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Get') and resource ('current projections') and names what the output contains (velocity and forecast). However, it does not distinguish itself from the sibling tools update_velocity and forecast_completion, whose domains directly overlap with the 'velocity and forecast' it claims to return.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no mention of the closely related siblings forecast_completion or update_velocity. The agent is left to infer when this read-only projection tool is preferable to those alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_taskC

Get a task by its ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesTask ID

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It says nothing about what happens if the ID is not found (error vs null), permission requirements, or what the fetched task contains, leaving key behavioral traits undisclosed for a bare retrieval tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with no waste and the key constraint front-loaded. It is efficient, though the extreme brevity reflects under-specification rather than tight writing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read tool with full schema coverage and no output schema, the description is minimally adequate. It omits not-found behavior and return-shape expectations, which are the remaining gaps an agent would need.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single required id parameter, so the schema already documents it fully. The description's "by its ID" adds nothing beyond the schema's "Task ID" field, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a verb and resource ("Get a task") plus the lookup key ("by its ID"), which is slightly more than the bare name. However it reads as a near-restatement of the tool name and does not distinguish it from siblings like list_tasks, update_task, or delete_task.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives. With siblings such as list_tasks and get_daily_log in scope, the agent must infer that this is the single-record fetch path on its own.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_daily_logsB

List daily logs within a date range.

ParametersJSON Schema
NameRequiredDescriptionDefault
end_dateNoEnd date (YYYY-MM-DD)
start_dateNoStart date (YYYY-MM-DD)

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden and does not disclose return volume, ordering, pagination, or that both date parameters are optional (so an unbounded call is possible). Only the read-only nature is weakly implied by 'List'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with no padding and the scope qualifier front-loaded after the verb-resource pair. It is efficient, though arguably terse enough to leave real questions unanswered.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter read tool with a fully described schema, the essentials are present. The gaps are behavioral (unbounded/default behavior, result size, ordering) rather than structural, so it is adequate but not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both parameters already document their YYYY-MM-DD format, so the baseline of 3 applies. The description adds nothing about date semantics, inclusivity of bounds, or defaults.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('List') and resource ('daily logs') plus the scoping dimension (date range), which distinguishes it from the singular get_daily_log sibling. It does not, however, explicitly contrast itself with that sibling or with any nearby list tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Within a date range' implies the context of use, but the description never states when to prefer this over get_daily_log or other list siblings, nor what happens when the range is omitted.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_tasksB

List tasks with optional filtering by category, status, or tags.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNoFilter by tags (all must match)
statusNoFilter by status
categoryNoFilter by category

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It says nothing about pagination, sorting, default limits, authentication needs, or the shape of returned data, leaving key behavioral traits unspecified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no wasted words. It efficiently communicates the tool's action and the optional filter dimensions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the tool and rich parameter schema, the description is minimally adequate. However, with no annotations and no output schema, it should do more to explain usage context and what the tool returns, leaving noticeable gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already fully documents all three parameters. The description merely restates the filter fields without adding any meaning beyond what the schema provides, matching the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List tasks') and names the optional filtering dimensions. It does not explicitly distinguish itself from siblings like display_task_board or get_task, but the core purpose is clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description only mentions optional filtering; it provides no guidance on when to use this tool versus alternatives such as display_task_board, get_task, or the various summary/recommendation tools. Usage is implied but not stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

parse_natural_language_taskC

Convert natural language task description into structured task data using AI.

ParametersJSON Schema
NameRequiredDescriptionDefault
descriptionYesNatural language task description

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It mentions 'using AI' but never says whether the call persists a task or only returns parsed data, whether results are deterministic, or what permissions/latency are involved — a critical ambiguity given create_task exists next to it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence, front-loaded with the core action and output, with no filler. It is appropriately sized, though it leaves room that richer content would justify.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, no annotations, and no examples, the description never describes the shape of 'structured task data' (fields extracted, confidence, failure behavior). For an AI-backed transformation tool that is the key missing information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is a single parameter with 100% schema description coverage ('Natural language task description'), so the schema already documents it fully. The description adds no format, length, or example guidance beyond the schema field, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Convert) and resource (natural language task description) with the output (structured task data), which lets an agent distinguish it from create_task or summarize_task_description. It stops short of naming which sibling to prefer, so it is clear but not sibling-differentiating.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use, when-not-to-use, or alternative routing guidance despite a large sibling set including create_task and analyze_session_for_tasks. The agent must infer that this is a pre-processing step rather than a persistence step.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

plan_dayC

Plan tasks for a specific date. Adds task IDs to planned_task_ids.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoDate in YYYY-MM-DD formattoday
notesNoOptional notes for the day
task_idsYesTask IDs to plan for the day

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations, so the description carries the full disclosure burden; it does name the side-effect target ('Adds task IDs to planned_task_ids'), which is useful. However it never says whether existing planned IDs are replaced or appended to, whether this requires an existing plan/day record, or what the response contains.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with no filler, and the core action is front-loaded before the side effect. Slightly terse for the amount of context an agent actually needs, but nothing wasteful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple three-parameter mutation with full schema coverage and no output schema, the essentials are present. It still leaves unanswered the relationship to the daily-recommendation siblings and whether the plan is merged or overwritten.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters (date, notes, task_ids) are already documented with formats and defaults. The description adds no syntax or validation detail beyond what the schema provides, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Plan tasks') scoped to a date, which is clear enough for an agent to know what it does. It does not distinguish itself from siblings like recommend_daily_tasks or seed_tasks_from_projects, which also populate a day's plan.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this vs. the two recommend_daily_tasks* siblings or seed_tasks_from_projects, and no prerequisites or exclusions stated. Usage must be inferred entirely from the name and description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

recommend_daily_tasksB

AI-recommended task selection for today based on priority, dependencies, and recent progress.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoLimit to specific category
max_tasksNoMaximum number of tasks to recommend

TDQS

B3.3/5.0
Behavior3/5

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 usefully discloses the ranking criteria (priority, dependencies, recent progress), but says nothing about whether it only reads or also writes state, whether it is idempotent, or any permission/limit considerations for a tool that produces recommendations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single tight sentence that front-loads the action and scope with zero filler. Every clause earns its place by naming the selection criteria.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a low-complexity, zero-required-param read tool with full schema coverage and no output schema, the description is mostly adequate. It is missing the two things an agent most needs: how it differs from recommend_daily_tasks_ai, and whether invoking it triggers any state change.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for both parameters, including the enum values for 'category' and the min/max/default for 'max_tasks', so baseline 3 applies. The description adds no parameter meaning beyond the schema, but none is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific action (recommend/select tasks) with a clear scope (today) and even names the ranking inputs (priority, dependencies, recent progress). However, it does nothing to distinguish itself from the sibling tool 'recommend_daily_tasks_ai', which sounds functionally identical, leaving the agent unable to choose between them from the description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use or when-not-to-use guidance, and no alternative tool is named. 'For today' weakly implies a daily-planning context, but with a near-duplicate sibling (recommend_daily_tasks_ai) present, the absence of routing guidance is a real gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

recommend_daily_tasks_aiB

AI-powered task recommendation using DeepSeek (more sophisticated than rule-based).

ParametersJSON Schema
NameRequiredDescriptionDefault
max_tasksNoMaximum tasks to recommend
use_ai_reasoningNoUse AI for recommendations (true) or fall back to rule-based (false)

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden and largely fails it. It discloses the underlying model but says nothing about cost, latency, external API/key requirements, or the fact that this is a non-mutating recommendation read. The fallback behavior is only described in the schema, not the description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler; the engine and the sophistication claim are established immediately. It is efficient, though its brevity contributes to gaps elsewhere rather than being a structural flaw.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 2-parameter tool with no output schema, the description covers the core intent but omits what is returned (shape/ordering of recommendations) and any guidance on choosing it over the rule-based sibling. Annotations are absent, so these gaps are not compensated elsewhere.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so both parameters (max_tasks, use_ai_reasoning) are already fully documented in the schema with defaults and bounds. The description adds no syntax, format, or constraint detail beyond what the schema provides, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('recommend daily tasks') and names the engine ('DeepSeek'), with an implicit contrast to the rule-based sibling. It does not name the sibling tool explicitly, so an agent must infer that recommend_daily_tasks is the rule-based counterpart.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The parenthetical 'more sophisticated than rule-based' implies this is the preferred/heavier option, but there is no explicit when-to-use or when-not-to-use guidance relative to recommend_daily_tasks. Usage is inferable from the sibling name and the use_ai_reasoning parameter, but not stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scan_recent_sessionsC

Scan recent agent-modes sessions for context notes that may indicate task completion.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days back to scan

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full behavioral burden. It does not state whether the scan is read-only, whether it has side effects, what authentication or rate limits apply, or what the returned data looks like.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that is front-loaded with the verb and resource. It is concise and has no wasted phrases, though the wording 'may indicate' is slightly vague.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter scan with no output schema, the description is minimally adequate. It omits what a 'context note' is and does not clarify the relationship to task completion, leaving an agent with only a broad purpose.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the 'days' parameter is already documented with its default, minimum, and maximum. The description adds no extra semantic detail about the parameter, making the baseline score appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (scan), resource (recent agent-modes sessions), and target (context notes that may indicate task completion). It is clear what the tool does but does not distinguish it from the sibling analyze_session_for_tasks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 such as analyze_session_for_tasks. The phrase 'may indicate task completion' hints at a use case but does not specify conditions or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

seed_tasks_from_projectsB

Scan the projects directory and create initial tasks for each project folder.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoriesNoOptional mapping of project folder names to categories (coding, job_search, business). If not provided, will guess based on name.

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It reveals that this is a directory scan plus write operation, but says nothing about idempotency (does re-running duplicate tasks?), required permissions, or how existing tasks are treated. For a bulk-create tool this is a meaningful disclosure gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single, front-loaded sentence with no filler, and the action verb leads. It is efficient, though arguably too terse given the tool performs a bulk mutation that could use one clarifying clause.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a bulk-mutation tool with no annotations, no output schema, and a nested object parameter, the description is thin. It omits what the created tasks look like, what happens on repeat runs, and any safety or permission context, leaving an agent without enough to call it confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single nested 'categories' parameter is fully documented in the schema, so the baseline of 3 applies. The description does not mention categories at all, adding no meaning beyond the schema, but the schema already handles it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific compound action (scan a directory and create tasks per folder), so an agent can tell it is a bulk initialization operation rather than a single-task tool. It is distinguishable from siblings like create_task and analyze_session_for_tasks, though it does not explicitly name or contrast those alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'create initial tasks' implies a one-time bootstrapping/setup context, which gives implied usage guidance. However, there is no explicit when-to-use statement, no prerequisite conditions, and no routing to alternatives such as create_task for ad-hoc additions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

summarize_task_descriptionC

Use AI to create a concise, clear summary of a task description.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idNoTask ID to summarize
descriptionNoAlternatively, provide description text directly

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden, and it falls short. It signals an AI call but says nothing about required permissions, latency/cost, what happens if both task_id and description are given or neither, or what the result looks like.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single efficient sentence with the purpose front-loaded. No waste, though it is arguably too terse to be fully informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema and no annotations exist to fill gaps, yet the description omits the return format and the mutual-exclusivity/at-least-one rule for two optional parameters. For a tool where the caller must decide how to invoke it, this is insufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are already documented, including the 'alternatively' relationship. The description adds nothing beyond the schema, which is the expected baseline when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (summarize) and resource (task description), and the AI-driven nature is clear. It is distinguishable from CRUD siblings like get_task or update_task, though it does not explicitly name an alternative among the summary-generating tools (e.g., generate_weekly_summary).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to prefer this over siblings or when a summary is warranted. Crucially, it never explains the choice between supplying task_id versus raw description text, leaving the caller to infer the intended usage pattern.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_taskC

Update an existing task.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesTask ID
tagsNoNew tags list
titleNoNew title
statusNoNew status
categoryNoNew category
priorityNoNew priority
depends_onNoNew dependencies
descriptionNoNew description
estimate_daysNoNew estimate

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden but discloses nothing. It does not say whether omitted fields are preserved or cleared, whether this is a partial merge or replace, whether status transitions are validated, or what confirmation is returned for a mutation tool with 9 parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with no waste, but its brevity reflects under-specification rather than discipline — there is no front-loaded scope, no field hints, and nothing to structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter mutation tool with no annotations and no output schema, one sentence is inadequate. An agent cannot tell whether partial updates are safe, what happens to unmentioned fields, or how the result is reported.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and every property (id, tags, title, status, category, priority, depends_on, description, estimate_days) has its own description and enum where relevant, so the schema does the heavy lifting. The description adds no meaning beyond that, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Update an existing task'), clearly distinct from create_task/delete_task by the verb alone. However, it offers no differentiation from sibling mutation tools like complete_tasks or parse_natural_language_task, and no scope on what 'update' covers.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no prerequisites, and no mention of alternatives despite ~20 sibling tools including create_task, get_task, and delete_task. The agent must infer that this is for modifying an already-persisted task.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_velocityC

Update velocity (tasks/day) based on recent completion data.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of recent days to consider

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It implies a mutation but does not state whether velocity is overwritten or averaged, whether the change is reversible, what permissions are needed, or what the tool returns. It does disclose the derivation basis (recent completion data), which is the only behavioral hint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler; the unit clarification '(tasks/day)' and derivation basis are the only content and both earn their place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations, no output schema, and no required parameters, the description omits prerequisites, side effects, and result shape. What an agent needs to invoke it safely and correctly is largely absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the sole 'days' parameter fully documented including default, min and max. The description's phrase 'recent completion data' loosely maps to it but adds no syntax or format detail beyond the schema, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (update) and resource (velocity, defined as tasks/day) and clarifies that the value derives from recent completion data. Clear purpose, though it does not reference any sibling tool to differentiate itself.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no indication of when to call this (e.g., after completing tasks, at end of day) or what alternatives exist. The agent must infer the trigger context entirely.

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.

  1. 22 tool updatesv1.0.0
    • First observedanalyze_session_for_tasks
    • First observedcomplete_tasks
    • First observedcreate_task
    • First observeddelete_task
    • First observeddisplay_task_board
    • First observedforecast_completion
    • First observedgenerate_weekly_summary
    • First observedget_daily_log
    • First observedget_daily_summary
    • First observedget_projections
    • First observedget_task
    • First observedlist_daily_logs
    • First observedlist_tasks
    • First observedparse_natural_language_task
    • First observedplan_day
    • First observedrecommend_daily_tasks
    • First observedrecommend_daily_tasks_ai
    • First observedscan_recent_sessions
    • First observedseed_tasks_from_projects
    • First observedsummarize_task_description
    • First observedupdate_task
    • First observedupdate_velocity

TDQS

B3.1/5.0

Scored across 22 tools

Disambiguation2/5

Several tools have overlapping purposes, most notably recommend_daily_tasks vs recommend_daily_tasks_ai and scan_recent_sessions vs analyze_session_for_tasks, where the descriptions do not clearly indicate when to choose one over the other. get_projections and forecast_completion also overlap, creating potential misselection.

Naming Consistency5/5

All tool names use snake_case and generally follow a verb_noun pattern (e.g., create_task, get_task, update_task, delete_task, list_tasks). Minor variations like the _ai suffix or multi-word nouns are consistent with the overall convention.

Tool Count3/5

With 22 tools, the server is on the heavy side for a task manager, and several overlapping AI/session analysis tools could likely be consolidated. The count is borderline but not extreme given the breadth of features.

Completeness4/5

Core task CRUD is fully covered, along with daily logs, planning, and forecasting. However, there are no explicit tools for managing task dependencies, categories/tags, or project entities, which are minor gaps agents can work around.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A comprehensive project management system that provides a full-featured Kanban board and dashboard accessible to AI agents. It enables agents to programmatically manage projects, tasks, and workflows through a suite of 13 specialized tools and 4 resource types.
    4
    -
  • A
    license
    A
    quality
    D
    maintenance
    Provides task and project management tools for AI agents, including todo list management, prioritization frameworks like Eisenhower Matrix and RICE scoring, time estimation using PERT, daily standup generation, and sprint burndown calculation.
    5
    23 npm
    MIT