TaskHub MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@TaskHub MCP Serverlist my open tasks"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
TaskHub MCP Server
MCP (Model Context Protocol) server for TaskHub — full platform control via Claude Code.
Tools for managing tasks, projects, organizations, comments, notifications, invitations, and activity — all from your terminal through Claude.
Quick Start
1. Add to Claude Code config
Add to your .mcp.json (project or global):
{
"mcpServers": {
"taskhub": {
"command": "node",
"args": ["/path/to/taskhub-mcp/dist/index.js"],
"env": {
"TASKHUB_API_URL": "http://localhost:3001/api",
"TASKHUB_API_TOKEN": "<project-bound-api-key>"
}
}
}
}Or install from GitHub:
{
"mcpServers": {
"taskhub": {
"command": "npx",
"args": ["github:jose890823/taskhub-mcp"],
"env": {
"TASKHUB_API_URL": "https://api.taskhub.com/api",
"TASKHUB_API_TOKEN": "<project-bound-api-key>"
}
}
}
}2. Configure the API key
Create a project-bound TaskHub API key, provide it as TASKHUB_API_TOKEN in the
MCP host environment, and restart the MCP process after changing it. The key is
loaded once and held in memory only; it is not persisted, refreshed, converted,
or recoverable by the server.
Use taskhub_whoami to validate the key and inspect server metadata. There is
no password login or JWT migration path.
3. Link a project
Use taskhub_connect with slug "my-project"This creates .taskhub.json in your working directory. Subsequent task operations auto-target this project.
Related MCP server: backlog
Environment Variables
Variable | Default | Description |
|
| TaskHub backend API URL |
| — | The only credential: an opaque project-bound API key held in memory |
Remote API URLs must use HTTPS. Plain HTTP is reserved for local development
with localhost or 127.0.0.1.
Tools
Auth & System
Tool | Description |
| Current user metadata, server scopes, and linked/effective project context |
Context
Tool | Description |
| Show project linked to current directory |
| Link directory to a project (by ID, slug, or systemCode) |
Search
Tool | Description |
| Find any entity by systemCode |
Organizations
Tool | Description |
| List your organizations |
| Create organization |
| List organization members |
| Invite user to organization |
Projects
Tool | Description |
| List projects (filter by org or personal) |
| Detailed project info with members, statuses, modules |
| Create project (org or personal) |
| Invite user to project |
Tasks
Tool | Description |
| List tasks with filters (auto-targets linked project) |
| My assigned/created tasks |
| Daily tasks by date |
| Create task (auto-uses linked project) |
| Update task fields |
| Mark task as completed (auto-finds completed status) |
| Create subtask under parent |
Comments
Tool | Description |
| List comments on a task |
| Add comment to a task |
Notifications
Tool | Description |
| List notifications + unread count |
| Mark notification(s) as read |
Activity
Tool | Description |
| Daily activity summary |
Smart Project Detection
When you run taskhub_connect, a .taskhub.json file is created in your directory:
{
"projectId": "uuid",
"projectName": "My Project",
"projectSlug": "my-project",
"systemCode": "PRJ-260219-A3K7",
"organizationId": "uuid",
"organizationName": "My Org"
}This enables:
taskhub_task_createauto-assigns to the linked projecttaskhub_tasks_listauto-filters by the linked projectProject-sensitive requests use one effective project ID; missing, ambiguous, or mismatched context fails closed rather than switching key bindings
Authorization and failure contract
The client performs advisory scope preflight through GET /auth/mcp-scopes and
may cache the result for five minutes. The cache never authorizes a request or
overrides server-side key validity, scopes, revocation, or project binding.
Only these confirmed backend combinations receive classified guidance:
HTTP | Code | Meaning and action |
401 |
| Missing, malformed, unknown, verifier-mismatched, revoked, expired, or inactive key. Configure a valid replacement. A locally absent token fails before any request. |
403 |
| The key lacks the required scope. Ask a TaskHub administrator to grant the required access. |
403 |
| Missing context, project mismatch, or unauthorized project access. Verify the linked project or contact an administrator. |
Unknown status/code combinations use generic safe guidance. Tokens, passwords, authorization headers, endpoint configuration, and raw backend details are not returned in tool errors or startup diagnostics.
taskhub_whoami is metadata-only: it reports user metadata, server scopes, and
local/effective context, never the API key.
Migration, rollout, and rollback
Create a new project-bound key; do not convert a password, JWT, or legacy key.
Configure
TASKHUB_API_TOKENoutside source control and validate withtaskhub_whoami.Link the working directory with
taskhub_connectand verify the effective project before project-sensitive operations.For a revoked, expired, or inactive key, revoke it at the server, create a replacement, update the host environment, and restart the MCP process.
To roll back a deployment, stop the MCP process and restore the previously published version from its versioned source or package. Reconfigure the environment as required; never restore or copy credential files. Any live or mutating validation for this migration must be explicitly opted in; its harness conversion is tracked separately and is not part of this documentation slice.
Package/release validation and the remaining migration test work are tracked separately; this README does not claim those checks have passed.
Development
pnpm install
pnpm build # Compile TypeScript
pnpm dev # Watch mode
pnpm start # Run compiled serverLicense
MIT
Available Tools
31 toolstaskhub_comment_addA
Add a comment to a task.
| Name | Required | Description | Default |
|---|---|---|---|
| taskId | Yes | Task UUID | |
| content | Yes | Comment text |
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 of behavioral disclosure. It only states the mutation ('add a comment') and does not mention side effects, required permissions, behavior for missing or invalid taskId, or any constraints on content. This is a significant gap for a write operation.
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 front-loaded sentence with no filler or redundant wording. Every word contributes, and it is appropriately sized for a simple two-parameter tool.
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 is simple and the required parameters are fully described, so an agent can make a plausible call from this alone. However, with no annotations and no output schema, the description omits return/error behavior and write-operation caveats, making it only minimally 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?
The schema already describes both parameters fully ('Task UUID' and 'Comment text'), with 100% coverage. The description adds no additional meaning about formats, length limits, or semantic details 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?
States the operation explicitly with a specific verb ('Add'), resource ('comment'), and target ('task'). The name taskhub_comment_add is reinforced rather than merely repeated, and it is clearly distinct from sibling taskhub_comments, which appears to be a listing/read operation.
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 over alternatives is given. The verb-resource combination implies the use case, and no other sibling tool appears to add comments, but there is no stated prerequisite, condition, or exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taskhub_commentsB
List comments on a task.
| Name | Required | Description | Default |
|---|---|---|---|
| taskId | Yes | Task UUID |
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 of behavioral disclosure. 'List' implies a read operation, but nothing is said about pagination, ordering, error behavior, or what a comment object contains.
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 wasted words. It conveys the essential purpose immediately and is appropriately sized for the tool's simplicity.
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 is simple and the required parameter is well-documented, but the description lacks any output or behavior context. With no output schema and no annotations, an agent cannot tell what the returned comments look like or how they are ordered.
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 fully describes taskId as a 'Task UUID' with 100% coverage. The description only reuses 'task' without adding meaning beyond the schema, so the baseline score of 3 applies.
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 ('List') and resource ('comments on a task'), clearly distinguishing this read operation from the sibling taskhub_comment_add. Its meaning is immediately 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 provides no guidance on when to prefer this tool over alternatives, nor any exclusions. It only restates the tool's action without explaining context such as whether comments are embedded in task details elsewhere.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taskhub_connectA
Link the current directory to a TaskHub project. Subsequent task operations will default to this project. Use project ID, slug, or systemCode to identify the project.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | No | Project slug | |
| projectId | No | Project UUID | |
| systemCode | No | Project systemCode (e.g. PRJ-260219-A3K7) |
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 persistent effect of linking the current directory and setting a default, but it does not mention whether an existing link is overwritten, how to undo the link, or any permission/auth requirements.
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?
Three short sentences with no filler. The primary effect is front-loaded, followed by the defaulting behavior and identifier options. Every sentence 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?
For a simple context-setting tool with no output schema, the description covers the main purpose, persistent effect, and how to identify the project. Minor gaps like overwrite/undo behavior are not critical enough to lower the score further.
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 is 3. The description adds meaning by clarifying that project ID, slug, and systemCode are alternative identification methods and implying at least one should be supplied, which the schema does not explicitly state since all parameters are optional.
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 ('Link') and resource ('current directory to a TaskHub project'), and states the behavioral consequence ('Subsequent task operations will default to this project'). This clearly distinguishes it from the many task/org/project sibling 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?
It implies when to use the tool: before task operations, to establish a default project. It does not explicitly name alternatives or exclusions, but the context is clear enough for an agent to select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taskhub_contextA
Show the project linked to the current working directory. If no project is linked, automatically lists available projects so the user can choose one to connect.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It does reveal the conditional fallback (listing projects when none is linked), but it does not explicitly state whether the operation is read-only or free of side effects, which is a notable omission given the absence of annotations.
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?
Two sentences with no filler, the primary purpose is front-loaded, and the conditional behavior is described efficiently. Every phrase 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?
The description explains the core behavior and fallback adequately for a no-parameter tool, but because there is no output schema, it does not describe the shape of the returned data (e.g., project ID, name). This is a minor but real gap that could leave an agent unsure about how to parse the result.
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 the description has no parameter semantics to add. The baseline for 0-param tools is 4, and the description does not need to compensate for schema gaps.
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 states a specific verb and resource ('show the project linked to the current working directory') and distinguishes itself from sibling tools like taskhub_connect or taskhub_projects_list by anchoring on the cwd. The fallback behavior further clarifies its unique role.
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 clearly communicates when to use the tool: when the agent needs the project associated with the current directory. It provides clear context but does not explicitly name alternatives or exclusion criteria, though the cwd anchor makes the intended usage unmistakable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taskhub_daily_summaryB
Get a summary of your activity for a specific day (defaults to today). Shows tasks created, completed, comments added, and activity log.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Date in YYYY-MM-DD format (default: today) |
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 of behavioral disclosure. It does not mention whether the operation is read-only, requires permissions, or has any side effects. It only states what the summary shows, which is minimal for a 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with two clauses, front-loading the main purpose ('Get a summary of your activity for a specific day') and then detailing the contents. It is concise with no unnecessary words and 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?
For a simple read-only summary tool with one optional parameter and no output schema, the description adequately covers what the user will see (tasks created, completed, comments added, activity log). It does not specify output format or limitations, but for this simplicity it is reasonably 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?
The schema already describes the date parameter with format and default (YYYY-MM-DD, default: today), and the description echoes this ('defaults to today'). Since schema description coverage is 100%, the description adds little additional 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get a summary of your activity for a specific day (defaults to today)' and lists the content shown (tasks created, completed, comments added, activity log). It is specific and not a tautology, but it does not differentiate from sibling tools like taskhub_tasks_daily, so it lacks explicit sibling distinction.
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 daily activity summaries but does not explicitly state when to use this tool versus alternatives such as taskhub_tasks_daily or taskhub_search. No exclusions or comparisons are provided, so guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taskhub_notification_readA
Mark a notification as read, or mark all notifications as read.
| Name | Required | Description | Default |
|---|---|---|---|
| notificationId | No | Notification UUID (omit to mark ALL as read) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It discloses the mutating action and the 'mark all' behavior, but it does not mention return values, idempotency, or any side effects. This is adequate for a simple read-state update but not richly transparent.
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 clear sentence that front-loads the core action and immediately conveys both usage modes. No filler or redundant wording.
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 tool with one optional parameter, no output schema, and no nested objects, the description together with the schema is largely sufficient. It could mention what the tool returns afterward, but the core call behavior is fully covered.
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 already documents the only parameter and explains that omitting notificationId marks all as read, so description adds little beyond what is structured. Baseline 3 is appropriate given 100% schema description 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 uses a specific verb and resource ('Mark a notification as read') and clearly states the two supported modes: single notification and all notifications. This distinguishes it from sibling tools like taskhub_notifications, which presumably lists notifications.
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 usage context is clear: call this when you want to mark notifications as read, either individually or all at once. It does not explicitly name alternative tools or state when not to use it, but the straightforward action leaves little ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taskhub_notificationsB
List your notifications with unread count.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| limit | No | Items per page |
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 of behavioral disclosure. It states the tool lists notifications and includes an unread count, but does not mention whether it is read-only, how pagination works, what default values apply, or any side effects. The description adds little beyond what the name and the unread-count hint already convey.
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 unnecessary words. The primary action (List) and resource (your notifications) are presented first, and the extra detail (unread count) is concise. It is appropriately sized for a simple tool with no wasted content.
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 the response structure more fully. It only mentions 'list' and 'unread count,' but does not specify what a notification object contains, whether the list is filtered, or any pagination defaults. Given the lack of output schema and the ambiguous nature of 'your notifications' (all vs. unread), the description is incomplete for an agent to know exactly what to expect.
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%, meaning the schema already documents both parameters (page and limit) with adequate descriptions. The tool description adds no additional meaning about parameter usage, formats, or defaults. Since the schema does the heavy lifting, a baseline of 3 is appropriate for minimal added value.
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 (List), the resource (your notifications), and an additional output element (unread count). It effectively distinguishes from the sibling taskhub_notification_read, which likely marks notifications as read, by focusing on retrieval. The verb is specific and the scope is 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 retrieving notifications, but it does not explicitly state when to use it versus alternatives like taskhub_notification_read or taskhub_tasks_my. There is no mention of scenarios where this tool is preferable or exclusions. The purpose is clear enough that an agent could infer usage, but direct guidance is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taskhub_org_createB
Create a new organization.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Organization name | |
| description | No | Organization description |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only restates the mutation without mentioning permissions, side effects, duplicate-name behavior, or what the response will contain. 'Create' implies a write operation, but no meaningful behavioral context is added.
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 zero filler. Every word earns its place, and it is appropriately sized for a simple creation tool whose parameters are already documented in the schema.
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 is low-complexity with fully documented parameters, and the description gives the core purpose. However, with no annotations and no output schema, it omits return behavior, side effects, and prerequisites, which are meaningful gaps for a mutating operation. It is minimally viable but not fully 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?
The schema already documents both parameters at 100% coverage ('Organization name' and 'Organization description'), so the description adds no parameter-level meaning. This meets the baseline for a fully schema-covered simple input set.
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 states a clear action ('Create') and a clear resource ('organization'), which is easily distinguishable from sibling tools that list, invite, or manage orgs. It lacks additional context about what creating an organization entails, but the purpose is 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 taskhub_orgs_list or taskhub_org_invite. The description does not mention prerequisites, sequencing, or exclusions, leaving the agent to infer usage entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taskhub_org_inviteC
Invite a user to an organization by email.
| Name | Required | Description | Default |
|---|---|---|---|
| role | No | Role for the invited user | member |
| Yes | Email to invite | ||
| organizationId | Yes | Organization UUID |
TDQS
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 identifies the action but omits side effects such as whether an invitation email is sent, permission requirements, duplicate-invite behavior, or reversibility. For a mutating tool, this is a notable gap.
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 with no filler. It front-loads the action and key scoping nouns, making it easy to scan, though it is minimal rather than richly informative.
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 three-parameter tool with a fully documented schema, the description is sufficient to identify the operation. However, with no annotations and no output schema, it omits behavioral and usage context that would help an agent understand consequences, prerequisites, and alternative routing.
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 already documents all three parameters with 100% coverage, including the role enum and default. The description adds only 'by email,' which loosely maps to the email parameter but does not meaningfully extend parameter understanding 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 states a specific verb ('Invite'), resource ('a user'), target ('an organization'), and method ('by email'). It clearly conveys the core operation and differentiates it from project-level invite tools through the 'organization' scope, though it 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 is given on when to use this tool versus alternatives. The sibling set includes taskhub_project_invite, taskhub_org_create, and taskhub_org_members, but the description does not mention exclusions, prerequisites, or conditions such as 'use this when adding an existing user to an organization.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taskhub_org_membersB
List members of an organization.
| Name | Required | Description | Default |
|---|---|---|---|
| organizationId | Yes | Organization UUID |
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 of behavioral disclosure. It only says 'List members,' which implies a read operation, but it does not mention authentication requirements, whether the caller must be an organization member, pagination behavior, or the shape of the returned member data.
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 filler or redundant information. Every word earns its place given the simplicity of the tool.
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 one-parameter, read-only listing tool, the description plus fully documented schema is minimally sufficient to attempt a call. However, with no annotations and no output schema, it leaves the agent without details about return values, access scope, or how this differs from similar member-list tools.
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%, with organizationId already documented as 'Organization UUID.' The description adds no additional meaning beyond the schema, so the 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 states a specific verb ('List') and a precise resource ('members of an organization'), making the tool's function immediately clear. It also differentiates itself from the sibling taskhub_project_members by scoping to organizations rather than projects.
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 gives no guidance on when to use this tool versus alternatives such as taskhub_orgs_list or taskhub_project_members. There are no exclusions, prerequisites, or context signals to help an agent decide between related list tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taskhub_orgs_listA
List your organizations.
| 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 carry the safety profile itself. 'List' implies a read-only operation and 'your' scopes it to the caller, which is adequate for a zero-parameter list, but it does not explicitly state that no data is modified or what the result includes.
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 one short, front-loaded sentence with no filler. Every word contributes to the tool's purpose.
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, parameterless list operation the description is largely complete: it names the operation and return scope. However, with no output schema or annotations, an explicit note about the response shape or authentication context would make it fully 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?
The tool has zero parameters, so there are no parameters to document beyond the schema. The baseline for a no-parameter tool is 4, and the description adds a useful scoping cue with 'your'.
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 clear verb ('List') and resource ('your organizations'), so an agent knows the tool returns the caller's organizations. It does not explicitly contrast with siblings like taskhub_org_create or taskhub_org_members, though the name and resource make the distinction inferable.
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?
There is no guidance about when to choose this tool over alternatives, no prerequisites, and no exclusions. 'List your organizations' states the operation but leaves the agent to infer the use case and any required auth context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taskhub_project_createA
Create a new project. Specify organizationId for org project, or omit for personal project.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Project name | |
| parentId | No | Parent project UUID (for creating sub-projects) | |
| description | No | Project description | |
| organizationId | No | Organization UUID (omit for personal project) |
TDQS
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 only restates the orgId condition already present in the schema and says 'Create'; it does not disclose side effects, required permissions, duplicate behavior, or return value. For a mutating create tool, this is a meaningful gap.
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?
Two short sentences with no filler. The core action is front-loaded, and the personal/org distinction is stated immediately and actionably.
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 low-complexity create tool with fully described schema parameters, the description covers the main call path. However, with no output schema and no annotations, it leaves the return value and post-create effects unspecified, and parentId-based sub-project creation is only present in the schema.
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%, so the baseline is 3. The description's orgId sentence paraphrases the schema's existing parameter description and adds no new meaning beyond it. The parentId sub-project capability is left entirely to 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 states a clear verb and resource ('Create a new project') and clarifies the personal-vs-organization scope. It does not explicitly differentiate from sibling tools like taskhub_org_create or taskhub_subproject_add, but the tool's core purpose is 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 gives explicit conditional guidance: include organizationId for an org project, omit it for a personal project. This is clear context, though it does not name alternatives or exclusion criteria relative to similar sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taskhub_project_infoC
Get detailed information about a project, including members, statuses, and modules.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | No | Project slug | |
| projectId | No | Project UUID |
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 of behavioral disclosure. It states the tool 'gets' information, implying a read-only operation, but it does not disclose whether authentication is required, whether there are any side effects, or what happens if both slug and projectId are provided (e.g., precedence). The description also doesn't note the response shape or size. For a read tool, this is minimal but not entirely absent since it lists return components.
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 that leads with the primary action and then lists the included components. There is no fluff or redundant phrasing. It is compact and to the point, though it could have included more usage guidance without becoming verbose.
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 that there is no output schema, the description does partially explain what is returned ('members, statuses, and modules'). However, it does not clarify parameter usage (e.g., whether either slug or projectId can be used, or if both are needed), nor does it mention any prerequisites or potential limitations. It is adequate for a simple read tool but leaves out details an agent might need for correct invocation.
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% — both 'slug' and 'projectId' are described in the schema ('Project slug' and 'Project UUID'). The description itself does not add any additional meaning about these parameters, such as which one to prefer or whether they are interchangeable. With full schema coverage, the baseline is 3, and the description adds no extra value here.
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 'Get' and the resource 'project', and enumerates the key aspects (members, statuses, modules). It is specific about what the tool retrieves, but it does not explicitly distinguish itself from sibling tools like taskhub_project_members or taskhub_statuses, which could also provide parts of this information. Still, the mention of multiple components suggests a composite read, making the purpose reasonably clear.
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?
There is no guidance on when to use this tool versus calling individual sibling tools (e.g., project_members, statuses). The description does not mention any scenarios, exclusions, or recommendations. An agent would have to infer that this tool is a one-stop-shop for project details, but that is not explicit. Lack of any usage context leaves the agent without clear decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taskhub_project_inviteA
Invite a user to a project by email.
| Name | Required | Description | Default |
|---|---|---|---|
| role | No | Role for the invited user | member |
| Yes | Email to invite | ||
| projectId | Yes | Project UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly indicates an action (invite) which typically mutates state, but it does not disclose side effects such as whether the invited user is notified, whether an invitation must be accepted, or whether the tool fails if the email already exists. It also doesn't describe access requirements or duplicate handling. This is a moderate gap for a mutation tool with no annotations.
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 that immediately states the action and target. It is front-loaded and has no superfluous words, making it efficient for an agent to parse.
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 (3 flat parameters, no output schema) and 100% schema coverage, the description is mostly sufficient. However, it lacks important contextual details: whether the invited user already needs an account, what happens if the invite is a duplicate, and whether the tool requires authentication or specific permissions. These are common gaps for an invitation tool and would benefit from elaboration.
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 of parameters, each with a description (role, email, projectId), so the baseline is 3. The description adds minimal extra meaning beyond what's already in the schema: it states the email is used for the invite, which is somewhat redundant. It does not clarify the default role behavior beyond 'member' as in the schema, so it does not compensate for any gaps.
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 'invite', the resource 'project', and the mechanism 'by email', which precisely defines the tool's function. It is immediately distinguishable from sibling tools like taskhub_org_invite (org-level) and taskhub_project_members (viewing existing members), as it focuses on inviting a user to a specific project via email.
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 that this tool is for inviting users to projects, which is a common pattern, but it does not explicitly state when to use it over other tools like taskhub_project_members (for viewing members) or taskhub_org_invite (for org-level invites). The context of the siblings is helpful but the description itself does not provide explicit exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taskhub_project_membersA
List members of a project with their roles and user IDs. Useful for finding user IDs when assigning tasks. Auto-detects project from .taskhub.json if not specified.
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | No | Project UUID (auto-detected from .taskhub.json if omitted) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses the auto-detection behavior and the fact that projectId is optional, which is useful. However, it doesn't mention whether this is a read-only operation, whether it requires authentication, or what happens if no project is found. For a simple list tool, this is adequate but not rich.
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?
Two sentences with no waste. The primary action and return value are front-loaded, and the auto-detection behavior is stated in a single follow-up sentence. Every word 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?
For a simple list tool with one optional parameter and no output schema, the description covers the essential information: what it lists, why it's useful, and how the parameter behaves. It doesn't describe the return format, but with no output schema and a simple resource, this is a minor gap. The tool is complete enough for an agent to call it correctly.
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%, so the schema already documents the single parameter. The description adds the auto-detection context, which clarifies when the parameter can be omitted. This is a baseline 3 situation: the schema does the heavy lifting, and the description adds a small but useful clarification.
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 states a specific verb ('List'), a specific resource ('members of a project'), and the key data returned ('roles and user IDs'). It also distinguishes itself from sibling tools like taskhub_org_members by focusing on project members, and it explicitly states a use case (finding user IDs when assigning 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?
The description gives clear context for when to use the tool: when you need project members' roles or user IDs, especially for assigning tasks. It also explains the auto-detection behavior from .taskhub.json, which helps the agent know when projectId can be omitted. It doesn't explicitly name alternatives or exclusions, but the use case is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taskhub_projects_listA
List projects. Optionally filter by organization or personal projects.
| Name | Required | Description | Default |
|---|---|---|---|
| personal | No | Show only personal projects (no organization) | |
| organizationId | No | Filter by organization UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. 'List projects' clearly indicates a read-only operation, which is good, but there is no disclosure about default scope (all projects vs. only accessible), pagination, or response format. The description is accurate but minimal, earning a mid score.
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 two short sentences with the main verb-resource pair front-loaded. It contains no filler or redundancy. Every word adds value, making it an excellent example of 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?
For a simple list tool with optional filters and no output schema, the description is minimally adequate. It states the purpose and filter options, but it leaves ambiguity about the default project scope (all vs. accessible) and what the response looks like. Given the absence of annotations and output schema, a bit more context would help.
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 parameters are already fully documented. The description adds a slight semantic hint by saying 'filter by organization or personal projects,' but this largely restates the schema descriptions. Baseline 3 is appropriate since the schema does the heavy lifting.
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 and resource: 'List projects.' It also mentions optional filters, making the tool's scope unambiguous. It is distinct from taskhub_orgs_list (lists organizations) and taskhub_project_info (single project), so an agent can easily differentiate it.
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 versus alternatives like taskhub_search or taskhub_tasks_list. It does not specify exclusions, prerequisites, or mention sibling tools. The implied usage is 'when you need a list of projects,' but there is no explicit routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taskhub_searchB
Search any entity by its systemCode (e.g. TSK-260218-A3K7, ORG-260218-B2C3, PRJ-260218-D4F1). Returns the entity type and details.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | SystemCode to search (e.g. TSK-260218-A3K7) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It says 'Returns' which implies read-only, but does not explicitly state that the operation has no side effects, nor does it mention any limitations, pagination, or error behavior. A search tool should explicitly confirm non-destructive behavior.
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 two concise sentences with the action and key detail (return type) front-loaded, followed by useful examples. No redundant phrasing or fluff.
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 single-parameter search tool without an output schema, the description is adequate but leaves return details vague. It states 'entity type and details' but not the structure of details, whether multiple matches are possible, or how errors are surfaced. An agent might need to infer these from usage.
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 already fully documents the 'code' parameter with an example, so the description adds little beyond that. It reinforces the format with additional examples but doesn't clarify ambiguity like whether partial matches are allowed or case sensitivity. Baseline 3 applies given 100% 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 the tool searches any entity by systemCode, provides concrete examples, and specifies it returns entity type and details. This distinguishes it from type-specific getters like taskhub_task_get, though it doesn't explicitly name alternatives.
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 given on when to use this search tool versus the specific entity getter tools (taskhub_task_get, taskhub_project_info, etc.). The use case of 'I have a code but don't know the type' is implied but never stated, and there are no exclusions or context clues.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taskhub_statusesA
List available task statuses for a project or global statuses for daily tasks. IMPORTANT: Call this tool BEFORE creating or updating tasks so you know valid statusId values. Returns each status with its id, name, and flags (DEFAULT = auto-assigned to new tasks, COMPLETED = marks task as done).
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | No | Project UUID (auto-detected from .taskhub.json if omitted). Omit for global/daily task statuses. | |
| contextDir | No | Directory containing the linked .taskhub.json |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses the return contents (id, name, flags) and explains the meaning of DEFAULT and COMPLETED flags. It could add error/empty-result behavior, but for a simple listing tool this is solid.
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?
Two tightly written sentences: purpose first, the critical usage warning second, and return semantics last. There is no filler or repeated schema content.
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 required parameters, no output schema, and no annotations; the description explains what it returns and why an agent needs it. An agent has enough to decide when to call it and what to do with the 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?
Schema coverage is 100%, so the baseline is 3. The description adds only a slight reminder that omitting projectId selects global/daily statuses, which the schema already states; it does not materially enrich the parameter meaning.
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 opens with a specific verb and resource ('List available task statuses') and immediately clarifies the two scopes (project statuses vs global/daily statuses). It is clearly distinct from all sibling tools, none of which addresses status lookup.
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?
It gives an explicit when-to-use instruction: call before creating or updating tasks to learn valid statusId values. It doesn't name exclusions or alternative tools, but there is no sibling status tool, so the guidance is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taskhub_subproject_addA
Map a subdirectory to an existing TaskHub project (sub-project). Adds the mapping to .taskhub.json. If the project does not exist, creates it as a child of the root project.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Relative path to the subdirectory (e.g. "./backend") | |
| projectId | No | Existing project UUID to map | |
| projectName | No | Name for a new sub-project (will be created as a child of the root project) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It discloses the file side effect (adds mapping to .taskhub.json) and conditional creation behavior. However, it does not mention overwriting behavior, idempotence, mutual exclusivity of projectId/projectName, or failure/conflict handling, which are relevant for a mutating config-mapping 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?
Two sentences with no filler. The primary purpose is front-loaded, followed by the key side effect and conditional creation behavior. Every sentence 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?
Adequate for a simple 3-parameter tool with no output schema, but it leaves ambiguity around whether projectId and projectName are mutually exclusive and what happens if the path is already mapped. These gaps matter because the tool mutates .taskhub.json.
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%, so the schema already documents all three parameters. The description reinforces the projectId/projectName roles but adds no new semantic detail 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 a specific action (map a subdirectory), the target resource (TaskHub project/sub-project), and the concrete mechanism (adds mapping to .taskhub.json). It also differentiates this from subproject removal and project creation by covering both existing-project mapping and child-project creation.
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 gives clear context: use this to attach a subdirectory to an existing TaskHub project, and it will create the project as a child if needed. It does not explicitly name alternatives or exclusions, but the behavior and sibling names make the intended use obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taskhub_subproject_removeA
Remove a subdirectory mapping from .taskhub.json. Does NOT delete the project from TaskHub.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Relative path to remove (e.g. "./backend") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must carry behavioral disclosure. It explicitly states the operation modifies .taskhub.json and does NOT delete the project from TaskHub. It doesn't mention effects on the local directory or return/error behavior, but for a simple mapping removal this is reasonably transparent.
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?
Two short sentences: the first states the action and target, the second clarifies a key boundary. No filler or redundant restatement.
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 single-parameter local config mutation, the description is mostly complete: it names the file affected and the non-effect on TaskHub. It doesn't describe return values or prerequisites, but those are less critical given the tool's simplicity and no output schema.
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 already covers the only parameter with 100% coverage, including an example. The description adds no additional parameter detail, matching the baseline for fully documented 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?
States a concrete verb ('Remove') and resource (subdirectory mapping in .taskhub.json), and explicitly distinguishes from deleting the TaskHub project. This clearly differentiates it from sibling tools like taskhub_subproject_add and taskhub_task_delete.
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 makes the tool's scope clear: it removes a mapping rather than deleting a project, so an agent can avoid using it for project deletion. It doesn't explicitly name alternative tools or enumerate when-to-use conditions, but the add/remove sibling relationship makes usage inferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taskhub_subtask_createA
Create a subtask under an existing task.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Subtask title | |
| priority | No | Subtask priority | medium |
| description | No | Subtask description | |
| parentTaskId | Yes | Parent task UUID or systemCode (TSK-XXXXXX-XXXX) | |
| assignedToIds | No | Assignee UUIDs |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of behavioral disclosure. It states that a mutation occurs ('Create'), but it does not mention required permissions, whether the created subtask is returned, validation or error behavior, or any effect on the parent task. This is a meaningful gap for a mutating 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, front-loaded sentence with no filler or repetition. Every word earns its place and clearly conveys the core operation.
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 schema covers all five parameters and the description clarifies the parent-child relationship, so the agent has enough to invoke the tool. However, with no annotations and no output schema, the description does not address what the tool returns or any operational prerequisites beyond the parent task existing.
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%, so the parameters are already well documented in the schema. The description adds no parameter-specific detail, but the baseline of 3 applies because the schema does the heavy lifting.
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 ('Create'), a specific resource ('a subtask'), and a clear relationship ('under an existing task'). This distinguishes it from sibling tools like taskhub_task_create, which creates a top-level task, and taskhub_subproject_add, which adds a subproject.
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 phrase 'under an existing task' provides clear context: this tool should be used only when a parent task already exists. It does not explicitly name alternatives or say when not to use them, so it stops short of a 5, but it gives enough contextual guidance for an agent to route correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taskhub_task_ai_usage_recordA
Record one provider-agnostic AI usage execution for a task. Usage must come from the reporting client; this tool never estimates tokens from task content.
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | AI model name | |
| reason | No | Human-readable usage reason | |
| source | No | Reporting client or source | |
| status | Yes | Usage reporting status | |
| taskId | Yes | Task UUID or systemCode (TSK-XXXXXX-XXXX) | |
| provider | No | AI provider name | |
| reasonCode | No | Reason code when usage is unavailable or partial | |
| executionId | No | Optional provider/client execution ID used for idempotency | |
| inputTokens | No | Confirmed input token count | |
| totalTokens | No | Confirmed total token count | |
| outputTokens | No | Confirmed output token count |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It does disclose the critical behavior of never estimating tokens and requiring client-reported usage. However, it does not mention idempotency via executionId, the write/mutation nature beyond 'record', potential side effects, or response/error behavior. These are significant gaps for a recording tool with no annotation safety hints.
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 two sentences, with the primary purpose front-loaded and the key constraint stated right after. There is zero fluff; every word contributes meaning. It is efficiently structured for quick agent parsing.
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 tool with 11 parameters and no output schema, the description is lean. It covers the essential behavioral rule (no estimation, client-sourced data) but does not explicitly state when in a workflow to invoke it (e.g., after an AI call), what the return value signifies, or how to handle statuses like 'partial'. The schema covers parameter details, but the description lacks enough usage context to be fully self-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?
The input schema has 100% description coverage, so the baseline is 3. The description adds no parameter-specific semantics beyond stating the tool is provider-agnostic; it does not explain relationships between fields like reasonCode vs. reason or clarify the meaning of statuses. This is acceptable given the schema's thoroughness, but the description adds little value here.
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 states a specific verb ('Record') and a clear resource ('one provider-agnostic AI usage execution for a task'). It is unambiguous and does not merely restate the tool name. The phrase 'never estimates tokens from task content' further clarifies its scope, distinguishing it from potential estimation-based 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 provides a key usage condition: 'Usage must come from the reporting client' and 'this tool never estimates tokens from task content.' This implicitly tells an agent when to use it (when actual usage data is available) and when not to (when only task content exists). It does not explicitly name alternative tools, but none of the siblings directly compete, so the guidance is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taskhub_task_completeB
Mark a task as completed. Automatically finds the "completed" status for the task's project (using the isCompleted flag) and applies it.
| Name | Required | Description | Default |
|---|---|---|---|
| taskId | Yes | Task UUID or systemCode (TSK-XXXXXX-XXXX) to complete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral transparency burden. It does disclose a meaningful behavioral trait: automatically finding the project's completed status using the isCompleted flag and applying it. However, it does not mention side effects, idempotency, error behavior when no completed status exists, or authorization requirements, leaving some behavioral gaps.
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 two concise sentences. The primary action is front-loaded, and the implementation detail about automatically finding the completed status is added in the second sentence without unnecessary verbosity.
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 one required parameter, full schema coverage, and no output schema, the description gives sufficient context: it states the purpose and the key internal behavior. Minor gaps include edge cases (e.g., what happens if the task is already completed or no completed status exists), but these do not seriously hinder correct invocation.
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 taskId parameter, so the schema fully documents the parameter. The description does not add extra parameter-level semantics beyond what the schema already provides, so the baseline 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: 'Mark a task as completed' with a specific resource (task) and a clear effect. It does not explicitly differentiate from sibling tools like taskhub_task_update, though 'complete' is a more specific operation, so it earns a 4 rather than a 5.
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 gives no explicit guidance on when to use this tool versus taskhub_task_update, taskhub_task_delete, or other related tools. The phrase 'Automatically finds...' implies a convenience factor, but there is no stated when-to-use/when-not-to-use or alternative selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taskhub_task_createA
Create a new task. IMPORTANT: Before calling this tool, ALWAYS ask the user to confirm: (1) whether this is a "project" task or a "daily" routine task, and (2) confirm the linked project context. When a project is linked via .taskhub.json, ALL tasks (project and daily) are associated to it by default. Only omit projectId if the user explicitly says the task is not related to any project. If projectId differs from the linked project, a warning is shown.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Task type | project |
| title | Yes | Task title | |
| dueDate | No | Due date (YYYY-MM-DD) | |
| priority | No | Task priority | medium |
| statusId | No | Status UUID | |
| projectId | No | Project UUID (auto-detected for project tasks) | |
| description | No | Task description | |
| assignedToIds | No | Array of user UUIDs to assign | |
| scheduledDate | No | Scheduled date (YYYY-MM-DD) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It reveals important side effects: all tasks default to the linked project and a warning appears when projectId differs. However, it does not mention permissions, reversibility, return value, or failure behavior.
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 compact, front-loaded with the core purpose, and uses a numbered list for the required confirmations. Every sentence contributes essential guidance without padding.
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 tool with 9 parameters and no annotations, the description covers the most important behavioral caveat (project linking) and the required user confirmations. It does not describe return values or error cases, but the schema fully documents parameters, making the definition adequate for correct invocation.
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%, so the baseline is 3. The description adds meaningful nuance beyond the schema, especially about when to omit projectId and how projectId interacts with the linked .taskhub.json context, which is not captured in the parameter descriptions.
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 states a specific verb and resource: 'Create a new task.' This clearly distinguishes it from taskhub_task_update, taskhub_task_delete, and taskhub_task_complete, and the word 'new' differentiates it from task lookup 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 gives explicit pre-call instructions: always ask the user to confirm task type and linked project context, and only omit projectId when explicitly told the task is unrelated to a project. It does not name alternatives or exclusion cases, but the context is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taskhub_task_deleteA
Delete a task. IMPORTANT: Always confirm with the user before calling this tool. Set confirm=true to execute the deletion. Without confirm=true, it only shows what WOULD be deleted.
| Name | Required | Description | Default |
|---|---|---|---|
| taskId | Yes | Task UUID or systemCode (TSK-XXXXXX-XXXX) to delete | |
| confirm | No | Set to true to actually delete. Without this, only previews the task. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses the destructive nature of the operation and the safe default (preview mode). The preview/confirm distinction directly warns the agent about irreversible action, which is exactly the behavioral transparency needed for a delete 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 two sentences with zero fluff. The critical safety instruction is front-loaded, and the preview/execute distinction is explained in the second sentence, making it easy to parse at a glance.
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 two-parameter delete tool with no output schema, the description covers all relevant aspects: the action, the mandatory user confirmation, and the behavior of the confirm flag. Nothing an agent needs to call it safely is 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% and both parameter descriptions in the schema are already clear (taskId format and confirm behavior). The description reinforces the confirm semantics but does not add new meaning beyond the schema, so the baseline 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 opens with the specific verb+resource pair 'Delete a task', which is unambiguous and distinct from sibling operations like update or complete. The explicit preview behavior and confirm flag make the tool's purpose clear even without seeing the sibling list.
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 gives an explicit prerequisite: 'Always confirm with the user before calling this tool.' It also explains exactly when to set confirm=true (to execute) and what happens without it (preview only), leaving no ambiguity about invocation conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taskhub_task_getA
Get full details of a single task. Accepts UUID, systemCode (TSK-XXXXXX-XXXX), or a search term to find by title. Examples: taskhub_task_get({identifier: "TSK-260218-B0F3"}) or taskhub_task_get({identifier: "login"}).
| Name | Required | Description | Default |
|---|---|---|---|
| identifier | Yes | Task UUID, systemCode (TSK-...), or search term to find by title |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. It clearly states the accepted input formats and that it returns 'full details' of a single task. It does not disclose behavior for ambiguous matches (e.g., multiple tasks with the same title) or error behavior for invalid identifiers, which would be valuable given the flexible identifier semantics.
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?
Three sentences: first states the verb and resource, second defines the identifier formats precisely, third gives two concrete invocation examples. Every sentence earns its place and no filler exists. The description is appropriately sized for a single-parameter tool.
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 one-parameter get-details tool with no output schema, the description covers the input semantics completely. It could note whether a search term yields partial matches or requires exact title matches, and whether the response includes subtasks/comments, but these are minor gaps for this tool's complexity. The examples resolve most ambiguity.
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 single parameter 'identifier' has 100% schema description coverage, and the tool description adds significant semantics beyond the schema: it enumerates the three accepted formats (UUID, systemCode, search term) and gives concrete examples showing how each is passed. This fully compensates for the schema's terse one-liner.
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 states a specific verb ('Get full details') with a clear resource ('a single task'), and it explicitly defines the accepted identifier formats: UUID, systemCode (TSK-XXXXXX-XXXX), or a title search term. It distinguishes from sibling tools (taskhub_search, taskhub_tasks_list) by specifying that it returns full details of ONE task rather than a list or general search.
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 by showing exact invocation examples with a UUID systemCode and a title search term, which clarifies when to use this tool (retrieve single task details) versus siblings like taskhub_tasks_list or taskhub_search. It does not explicitly state 'use this instead of X' or provide exclusions, so it falls just short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taskhub_tasks_dailyA
Get daily tasks for a specific date (defaults to today).
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Date in YYYY-MM-DD format (default: today) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. 'Get' implies a read-only operation and the date default is disclosed, but the description does not mention response format, pagination, or whether completed tasks are included. For a simple read tool this is adequate, though not rich.
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 with no filler; the core action, resource, and default behavior are front-loaded. Every word contributes.
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 is simple and the date parameter is fully documented, but the description does not clarify how this differs from closely related sibling tools or what the returned task objects look like. No output schema exists, so a bit more context would help.
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 single optional parameter is already fully described in the schema (date format and default). The description repeats this information without adding new semantic context, so it adds no value 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 states a specific action ('Get') and resource ('daily tasks for a specific date'), so an agent knows what the tool returns. However, it does not explicitly distinguish this from sibling tools like taskhub_tasks_list, taskhub_tasks_my, or taskhub_daily_summary, relying on the tool name to carry that differentiation.
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 phrase 'for a specific date (defaults to today)' clearly establishes the main use case: retrieve the daily tasks for a chosen date, or omit the parameter for today. It does not, however, state when not to use this tool or name alternatives such as taskhub_tasks_list or taskhub_daily_summary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taskhub_tasks_listA
List tasks with filters. Without explicit projectId, uses the project linked to the current directory. Supports filtering by status, type, assignee, and pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default: 1) | |
| type | No | Filter by task type | |
| limit | No | Items per page (default: 20) | |
| statusId | No | Filter by status UUID | |
| projectId | No | Filter by project UUID (auto-detected from .taskhub.json if omitted) | |
| assignedToId | No | Filter by assigned user UUID | |
| organizationId | No | Filter by organization UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It discloses the auto-detection of projectId, which is a valuable behavioral detail. However, it doesn't mention pagination defaults, result ordering, or whether only top-level tasks are returned, leaving some behavior opaque.
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?
Two sentences with the core action front-loaded. The auto-detection note is valuable and placed after the primary statement. No wasted 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?
For a read-only listing tool, the description is adequate but not complete. It doesn't describe the return structure (no output schema), clarify how pagination interacts with filters, or distinguish from the related taskhub_tasks_my/daily tools. Given no annotations and no output schema, more context would help an agent choose and invoke it correctly.
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 descriptions cover 100% of parameters, including defaults and auto-detection behavior. The description merely restates filter categories without adding new semantic detail, so it meets the baseline but adds no extra value.
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?
States a clear verb and resource ('List tasks with filters'). It doesn't explicitly differentiate from sibling list tools like taskhub_tasks_my or taskhub_tasks_daily, but the filter-centric description makes its role distinct enough.
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?
Provides a useful contextual note about projectId auto-detection from the current directory, but doesn't state when to prefer this tool over taskhub_tasks_my/taskhub_tasks_daily or mention any exclusions. Usage is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taskhub_tasks_myB
Get tasks assigned to or created by me.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Filter by task type |
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 conveys a read-like 'Get' operation and personal scope, but does not disclose authentication needs, pagination behavior, result shape, or side effects. For a list operation, only minimal behavioral information is present.
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 filler, and the key scope ('assigned to or created by me') is front-loaded. It is appropriately sized for the simple operation.
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 definition is minimally sufficient: an agent knows what the tool returns and that an optional type filter exists. However, with no annotations, no output schema, and no explicit routing among sibling task-list tools, it lacks some context needed to reliably choose between taskhub_tasks_my, taskhub_tasks_list, and taskhub_tasks_daily.
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%: the optional 'type' parameter is documented with enum values 'project' and 'daily' plus a 'Filter by task type' description. The tool description adds no additional parameter meaning, so the high-coverage baseline of 3 applies.
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 states a specific verb ('Get'), resource ('tasks'), and scope ('assigned to or created by me'), making the tool's purpose clear. It distinguishes from generic listers like taskhub_tasks_list by emphasizing personal ownership, but it doesn't explicitly name alternatives, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus taskhub_tasks_list, taskhub_tasks_daily, or taskhub_search. The phrase 'assigned to or created by me' implies a personal-task scenario, but there are no explicit conditions, exclusions, or alternatives mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taskhub_task_updateA
Update a task. Specify the task ID and any fields to change. TIP: To change status, first call taskhub_statuses to get valid statusId values for the project.
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | New title | |
| taskId | Yes | Task UUID or systemCode (TSK-XXXXXX-XXXX) | |
| dueDate | No | New due date (YYYY-MM-DD) | |
| priority | No | New priority | |
| statusId | No | New status UUID | |
| description | No | New description | |
| assignedToIds | No | New assignee UUIDs (replaces existing) | |
| scheduledDate | No | New scheduled date (YYYY-MM-DD) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full burden of behavioral disclosure. It implies mutation via 'Update' and hints at partial update via 'any fields to change', but omits details like permissions, reversibility, response format, or effects on unspecified fields. The tip about statusId adds some transparency but significant gaps remain.
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 two sentences with zero redundancy. The core purpose is front-loaded, and the tip is placed after the main instruction, keeping the structure clean 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?
For a mutation tool with 8 parameters, the schema fully documents them, and the description covers the key behavior of partial updates and the statusId dependency. However, it lacks information on response/return value and any error conditions, which might be expected given no output schema, but the essential call guidance is 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?
Schema coverage is 100%, so parameters are fully documented. The description adds value by emphasizing that only specified fields change and by providing the statusId prerequisite via taskhub_statuses, which is not evident from the schema alone. This compensates slightly beyond the baseline.
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 'Update a task' with a specific verb and resource, and distinguishes it from create/delete/get siblings by emphasizing modification of existing tasks. The phrase 'Specify the task ID and any fields to change' further clarifies the operation's scope.
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 clear context on when to use this tool (to update an existing task) and includes a practical tip for status changes by referencing the taskhub_statuses tool. However, it does not explicitly state when NOT to use it or mention alternatives, leaving some inference to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taskhub_whoamiA
Show current user info, available scopes, and linked project context.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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. 'Show' strongly implies a read-only operation, and the listed outputs are useful, but the description does not explicitly state that no state changes occur or mention authentication/error behavior.
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 concise sentence that front-loads the action and lists the three key output categories. Every word contributes to the agent's understanding.
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 zero-parameter introspection tool with no output schema, the description gives a reasonable picture of the return content: user info, scopes, and project context. It could be more specific about what 'user info' includes, but it is sufficient for invoking the tool correctly.
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 there is nothing meaningful to document beyond the schema. The description appropriately focuses on what the tool returns rather than inputs, matching the baseline for parameterless tools.
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 ('Show') and clearly identifies the resource: current user info, available scopes, and linked project context. It is clear and distinct from most siblings, but it does not explicitly differentiate from taskhub_context, which may also involve project context.
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?
There is no explicit guidance about when to use this tool versus alternatives. The purpose implies it is for identity/scope/context checks, but no when-to-use or when-not-to-use conditions are stated.
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.
31 tool updates
v1.1.1- First observed
taskhub_comment_add - First observed
taskhub_comments - First observed
taskhub_connect - First observed
taskhub_context - First observed
taskhub_daily_summary - First observed
taskhub_notification_read - First observed
taskhub_notifications - First observed
taskhub_org_create - First observed
taskhub_org_invite - First observed
taskhub_org_members - First observed
taskhub_orgs_list - First observed
taskhub_project_create - First observed
taskhub_project_info - First observed
taskhub_project_invite - First observed
taskhub_project_members - First observed
taskhub_projects_list - First observed
taskhub_search - First observed
taskhub_statuses - First observed
taskhub_subproject_add - First observed
taskhub_subproject_remove - First observed
taskhub_subtask_create - First observed
taskhub_task_ai_usage_record - First observed
taskhub_task_complete - First observed
taskhub_task_create - First observed
taskhub_task_delete - First observed
taskhub_task_get - First observed
taskhub_task_update - First observed
taskhub_tasks_daily - First observed
taskhub_tasks_list - First observed
taskhub_tasks_my - First observed
taskhub_whoami
TDQS
Scored across 31 tools
Most tools map clearly to a distinct entity+action, but there are a few close boundaries: search vs. task_get both resolve by systemCode, whoami vs. context both expose linked project context, and task_complete is a specialized task_update. Detailed descriptions mitigate most confusion.
A general noun_verb pattern is visible (task_create, project_invite), but list endpoints are inconsistent: some use _list (orgs_list, tasks_list) while others use bare plurals (comments, notifications, statuses). Irregular names like whoami, connect, tasks_my, and daily_summary break the pattern further, though the naming remains readable.
With 31 tools, the server exceeds the 25-tool threshold for 'too many' in the calibration. The broad domain justifies some surface area, but utilities like whoami, search, and daily_summary could be consolidated with existing list/context tools to reduce redundancy.
Core task operations are well covered: list, get, create, update, complete, delete, and subtasks. However, org and project management lack update/delete operations, comments only support list/add with no edit/delete, and there is no member removal—leaving notable gaps for project administration workflows.
Maintenance
Related MCP Connectors
ADHD-friendly tasks, notes & projects for LucidNest - 18 tools, scoped tokens, Streamable HTTP.
Task management for people and AI agents, with scoped OAuth access to issues, projects, and docs.
Task management for people and AI agents, with scoped OAuth access to issues, projects, and docs.
AI-native task management: list, create, update and archive tasks with rich context for AI agents
Related MCP Servers
- AlicenseBqualityBmaintenanceEnables AI assistants to interact with ProjectHub for comprehensive project management through natural language. It provides 25 tools to manage tasks, workspaces, time tracking, notes, and discussions via the ProjectHub API.477 npmMIT
- AlicenseAqualityDmaintenancePersistent, cross-session task management for Claude Code. 24 MCP tools for tasks, projects, dependencies, and docs. 7 skills for planning, standups, and handoffs. Event-sourced storage with per-project isolation.5MIT
- AlicenseNot gradedqualityCmaintenanceConnects Claude to your TickTick account with 28 tools for full CRUD task management, smart queries, batch operations, and GTD support, letting you manage tasks through natural conversation.1MIT
- AlicenseAqualityBmaintenanceEnables Claude to interact with System Task projects, teams, and tasks, providing daily briefs, project reports, team load, and risk identification, as well as creating and updating tasks and demands.15MIT