Skip to main content
Glama

Clockify MCP Server

A Model Context Protocol (MCP) server for Clockify that allows interaction with Clockify's time tracking entities through a standardized protocol.

Features

  • Full CRUD Support: Comprehensive Create, Read, Update, and Delete operations for all core Clockify entities.

  • Access to Clockify entities:

    • Workspaces

    • Projects

    • Tasks

    • Clients

    • Tags

    • Users

    • Time Entries

    • Reports

  • Time Tracking: Start/stop timers, log time manually, and manage time entries.

  • Full MCP Support: Standardized protocol for use with any MCP client (Claude Desktop, Cursor, Windsurf, etc.).

Related MCP server: @lewinnovation/clockify-mcp-server

🚀 Quick Start (Hosted)

The fastest way to use Clockify MCP is through our hosted instance at https://kyzu-clockify-mcp.fastmcp.app/mcp.

Add it to your favorite AI tools using these commands:

Codex CLI

codex mcp add --url https://kyzu-clockify-mcp.fastmcp.app/mcp kyzu-clockify

Claude CLI

claude mcp add --scope local --transport http kyzu-clockify https://kyzu-clockify-mcp.fastmcp.app/mcp

Gemini CLI

gemini mcp add kyzu-clockify https://kyzu-clockify-mcp.fastmcp.app/mcp --transport http

🛠️ Local Setup (Self-Hosted)

If you prefer to run the server locally for development or private use.

1. Prerequisites

2. Installation

git clone https://github.com/antuking/clockify-mcp.git
cd clockify-mcp
uv sync

3. Configuration

Create a .env file in the root directory:

CLOCKIFY_API_KEY=your-api-key
CLOCKIFY_WORKSPACE_ID=your-workspace-id  # optional

4. Running the Server

uv run clockify-mcp

5. Using with MCP Clients (Local)

Codex CLI

codex mcp add clockify_mcp \
  --env CLOCKIFY_API_KEY=<CLOCKIFY_API_KEY> \
  --env CLOCKIFY_WORKSPACE_ID=<CLOCKIFY_WORKSPACE_ID> \
  -- uv --directory <REPO_PATH> run clockify-mcp

Claude Desktop

{
  "mcpServers": {
    "clockify": {
      "command": "uv",
      "args": ["--directory", "<REPO_PATH>", "run", "clockify-mcp"],
      "env": {
        "CLOCKIFY_API_KEY": "your-api-key",
        "CLOCKIFY_WORKSPACE_ID": "your-workspace-id"
      }
    }
  }
}

Cursor / Windsurf

{
  "name": "Clockify MCP",
  "command": "uv",
  "args": ["--directory", "<REPO_PATH>", "run", "clockify-mcp"],
  "env": {
    "CLOCKIFY_API_KEY": "your-api-key",
    "CLOCKIFY_WORKSPACE_ID": "your-workspace-id"
  }
}

Gemini CLI

gemini mcp add clockify \
  --env CLOCKIFY_API_KEY=<CLOCKIFY_API_KEY> \
  --env CLOCKIFY_WORKSPACE_ID=<CLOCKIFY_WORKSPACE_ID> \
  -- uv --directory <REPO_PATH> run clockify-mcp

API Coverage

This server implements the following Clockify API endpoints:

Workspaces

  • get_workspaces - List all workspaces

  • get_workspace - Get workspace by ID

Projects

  • get_projects - List all projects in a workspace

  • get_project - Get project by ID

  • add_project - Create a new project

  • update_project - Update an existing project

  • delete_project - Delete a project

Tasks

  • get_tasks - List all tasks

  • get_task - Get task by ID

  • add_task - Create a new task

  • update_task - Update an existing task

  • delete_task - Delete a task

Clients

  • get_clients - List all clients

  • get_client - Get client by ID

  • add_client - Create a new client

  • update_client - Update an existing client

  • delete_client - Delete a client

Tags

  • get_tags - List all tags

  • get_tag - Get tag by ID

  • add_tag - Create a new tag

  • update_tag - Update an existing tag

  • delete_tag - Delete a tag

Users

  • get_current_user - Get the authenticated user

  • get_users - List all users in a workspace

  • get_user - Get user by ID

  • add_user - Add a user to a workspace

  • update_user - Update a user

  • delete_user - Remove a user from a workspace

Time Entries

  • get_time_entries - List time entries (with optional date range)

  • get_time_entry - Get time entry by ID

  • add_time_entry - Create a new time entry

  • update_time_entry - Update an existing time entry

  • delete_time_entry - Delete a time entry

  • get_time_entries_for_project - Get time entries for a project

Development

This server is built using:

Available Tools

36 tools
add_clientC

Add a new client to a workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
billableNo
workspace_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description must convey behavioral traits. It only states the action 'Add', omitting details like authentication needs, idempotency, duplicate handling, or whether the created client is returned. The output schema exists but is not referenced.

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

Conciseness4/5

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

The description is a single clear sentence with no fluff. While it is appropriately front-loaded, it is too minimal to be fully functional, costing it a perfect score.

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

Completeness2/5

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

Given the tool has 3 parameters (1 required), an output schema, and many sibling tools, the description fails to provide enough context for correct invocation. It does not mention required parameters, output format, or how it differs from other 'add' tools.

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

Parameters1/5

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

Schema description coverage is 0%, but the description does not explain any parameter semantics. It does not clarify what 'name', 'billable', or 'workspace_id' mean or how they interact. The description adds no value beyond the schema's property names.

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

Purpose5/5

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

The description 'Add a new client to a workspace' uses a specific verb ('Add') and resource ('client'), clearly distinguishing it from sibling tools like add_project, add_tag, or update_client.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives (e.g., update_client for existing clients, or prerequisites like workspace existence). The description alone does not help the agent decide when to invoke this tool.

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

add_projectC

Add a new project to a workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
colorNo
billableNo
client_idNo
hourly_rateNo
workspace_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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 states the action (add) but does not reveal idempotency, duplicate handling, side effects, or authorization requirements. The description is insufficient for safe invocation.

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

Conciseness3/5

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

The description is minimal (one sentence) and front-loaded, but it does not earn its place due to lack of useful detail. It is concise to a fault, omitting critical information that the agent needs.

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

Completeness2/5

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

Given the tool's complexity (6 parameters, no annotations, no schema descriptions), the description is far from complete. It does not clarify required vs optional parameters, default values, or how workspace_id is handled. The agent cannot reliably invoke this tool based on this description alone.

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

Parameters1/5

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

Schema description coverage is 0% and the description adds no parameter details. The 6 parameters (name, color, billable, client_id, hourly_rate, workspace_id) are not explained or contextualized beyond their names. The description fails to compensate for the lack of schema descriptions.

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

Purpose4/5

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

The description clearly states the action and resource: 'Add a new project to a workspace'. It is a specific verb+resource that distinguishes it from sibling tools like add_client or add_tag, though it does not mention the workspace_id parameter explicitly.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. There is no mention of prerequisites, when to use add_project vs update_project, or any exclusions. The agent receives no contextual decision support.

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

add_tagC

Add a new tag to a workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
colorNo
projectIdNo
workspace_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It only says 'Add', implying a create operation, but does not state whether the tag will be added if it already exists, what happens to existing tags, or any authorization requirements.

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

Conciseness4/5

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

The description is a single sentence with no wasted words. It is appropriately concise, though it could benefit from slightly more detail without becoming verbose.

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

Completeness2/5

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

Given 4 parameters, no annotations, and an output schema (not described), the tool description is incomplete. It lacks context on return value, error handling, or side effects, making it insufficient for an agent to use confidently.

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

Parameters2/5

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

The input schema has 4 parameters with 0% schema description coverage. The description does not explain the purpose of any parameter beyond 'tag' and 'workspace'. For example, 'color' and 'projectId' are undefined, leaving the agent to infer their roles from names alone.

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

Purpose4/5

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

The description explicitly states 'Add a new tag to a workspace', which clearly identifies the verb (Add) and resource (tag to a workspace). It is specific but does not differentiate from sibling tools like add_client or add_project, though the resource distinguishes them implicitly.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., update_tag for modifications). There is no mention of prerequisites, such as workspace existence, or exclusions for duplicate tags.

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

add_taskC

Add a new task

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
statusNo
tagIdsNo
userIdNo
billableNo
estimateNo
projectIdNo
assigneeIdsNo
workspace_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.1/5.0
Behavior1/5

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

The description is minimal and does not disclose any behavioral traits. With no annotations, the description carries the full burden, but it only states the action without mentioning side effects, permissions, rate limits, or return behavior.

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

Conciseness2/5

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

The description is extremely concise (3 words), but for a tool with 9 parameters and no other documentation, it is inappropriately brief. It does not earn its place by providing necessary detail.

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

Completeness1/5

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

Given the tool's complexity (9 parameters, no annotations, no schema descriptions), the description is completely inadequate. It fails to provide essential context for correct usage, even with an output schema present.

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

Parameters1/5

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

Schema description coverage is 0%, leaving all 9 parameters undocumented. The description adds no information about parameters, failing to compensate for the missing schema descriptions.

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

Purpose4/5

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

The description 'Add a new task' clearly states the action and resource, and the tool name distinguishes it from siblings like 'add_project' or 'add_user'. However, it lacks any additional detail to differentiate its scope or behavior from similar tools.

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

Usage Guidelines2/5

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

No usage guidance is provided. The description does not indicate when to use this tool over alternatives like 'update_task' or 'delete_task', nor does it mention any prerequisites or context.

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

add_time_entryC

Add a new time entry

ParametersJSON Schema
NameRequiredDescriptionDefault
endNo
startYes
tagIdsNo
taskIdNo
userIdNo
billableNo
projectIdNo
descriptionNo
workspace_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.3/5.0
Behavior2/5

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

With no annotations, the description must disclose behavior but only states 'Add a new time entry'. It omits side effects, idempotency, validation, or error conditions. Critical details for a mutation tool are missing.

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

Conciseness2/5

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

The description is a single sentence, which is concise but severely under-informative. It fails to provide necessary details, making it an instance of under-specification rather than effective conciseness.

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

Completeness1/5

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

Given 9 parameters, a required start, and an output schema (unexplained), the description is completely insufficient. An agent cannot reliably invoke this tool without additional context.

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

Parameters1/5

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

Schema description coverage is 0%, yet the description provides no parameter explanations (e.g., format of start/end, purpose of tagIds, taskId). The tool has 9 parameters and only one is required; the agent gets no help from the description.

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

Purpose4/5

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

The description clearly specifies the verb 'Add' and the resource 'time entry', but it does not differentiate from other 'add' tools (e.g., add_client, add_project). The purpose is clear but lacks sibling distinction.

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

Usage Guidelines2/5

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

No guidance on when to use or avoid this tool. It does not mention alternatives, prerequisites (e.g., existing project/task), or conflicts with update_time_entry. The agent receives no usage context.

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

add_userC

Add a new user to a workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
roleNo
emailYes
statusNo
hourly_rateNo
workspace_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

No annotations exist, and the description does not disclose any behavioral traits such as permission requirements, idempotency, or consequences of adding a duplicate user.

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

Conciseness3/5

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

The description is a single sentence, concise but lacking substance; it is minimally viable but does not waste words.

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

Completeness2/5

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

Given the complexity of 6 parameters and no schema descriptions, the description is insufficient to fully guide an agent; it fails to cover prerequisites, return values, or error conditions.

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

Parameters1/5

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

With 0% schema description coverage and no parameter details in the description, the tool provides no added meaning for the 6 parameters, including required ones like name and email.

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

Purpose4/5

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

The description 'Add a new user to a workspace' clearly states the action (add) and resource (user) with context (workspace), effectively distinguishing it from sibling tools like add_client or add_project.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like add_client or add_tag, nor any prerequisites or conditions for use.

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

delete_clientC

Delete a client

ParametersJSON Schema
NameRequiredDescriptionDefault
client_idYes
workspace_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.5/5.0
Behavior2/5

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

Annotations are absent, so the description must carry the behavioral disclosure burden. It only states 'Delete a client', omitting critical traits like irreversibility, cascading effects on associated data, or required permissions. This is insufficient for a destructive operation.

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

Conciseness2/5

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

The description is a single sentence, which is concise but under-specific. It repeats the tool name without adding substantial value, failing to earn its place with critical information.

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

Completeness2/5

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

Despite having an output schema, the description lacks completeness for a mutation tool. It does not address behavioral impacts, parameter usage, or prerequisites, leaving significant gaps for an AI agent.

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

Parameters2/5

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

With 0% schema description coverage, the description must explain parameters, but it adds nothing. Parameter names (client_id, workspace_id) are self-evident, but no details on format, constraints, or the role of workspace_id are provided.

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

Purpose4/5

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

The description 'Delete a client' clearly states the verb and resource, and it distinguishes from sibling tools like add_client, get_client, and update_client. However, it lacks nuances such as whether deletion is permanent or scoped to a workspace.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., archiving, or conditions to avoid accidental deletion). The description gives no context for appropriate usage.

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

delete_projectC

Delete a project

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes
workspace_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2/5.0
Behavior2/5

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

As a destructive tool with no annotations, the description carries full responsibility for disclosing effects. It does not specify whether deletion is permanent, cascading, or reversible, nor does it mention any side effects.

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

Conciseness2/5

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

Although short, the description is under-specified. Conciseness should not sacrifice necessary information; here, three words fail to convey essential details.

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

Completeness1/5

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

For a tool with two parameters, no annotations, and an output schema, the description is critically incomplete. It lacks return value description, parameter explanations, and behavioral context.

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

Parameters1/5

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

With 0% schema description coverage, the description must explain parameter semantics. It mentions no parameters; the agent must infer that project_id is required and workspace_id is optional. No details on format or usage are provided.

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

Purpose3/5

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

The description 'Delete a project' is a near-tautology with the tool name, adding no additional context. While it clearly indicates the action and resource, it fails to differentiate from sibling delete tools like delete_client or delete_tag beyond the name itself.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives (e.g., archive_project or update_project). No prerequisites, permissions, or contextual hints are given.

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

delete_tagD

Delete a tag

ParametersJSON Schema
NameRequiredDescriptionDefault
tag_idYes
workspace_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

D1.8/5.0
Behavior2/5

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

No annotations provided. Description only states the action 'delete' but omits consequences, required permissions, or side effects. Minimal transparency.

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

Conciseness2/5

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

Extremely concise (3 words), but under-specification is not conciseness. Lacks necessary detail, making it insufficient for agent use.

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

Completeness1/5

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

Given the tool has a non-trivial input schema and output schema, the description provides no information about return values, side effects, or usage context. Completely inadequate.

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

Parameters1/5

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

Schema description coverage is 0%, yet the description fails to explain any parameters (tag_id, workspace_id). No semantic value added beyond the schema.

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

Purpose2/5

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

Description is a tautology: 'Delete a tag' restates the tool name without adding new information. It does not differentiate from sibling delete tools.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like delete_client or delete_project. Sibling tools exist but no context for selection.

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

delete_taskC

Delete a task

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYes
workspace_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as whether deletion is permanent, requires permissions, or affects related data. The statement is too minimal.

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

Conciseness4/5

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

The description is a single sentence with no superfluous words. While it is concise, it could benefit from additional useful context without becoming verbose.

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

Completeness2/5

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

Given the presence of an output schema and a large set of sibling tools, the description is insufficiently complete. It does not mention return values, error conditions, or prerequisites, leaving the agent to infer too much.

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

Parameters1/5

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

Schema coverage is 0%, and the description adds no meaning beyond the schema. With two parameters (task_id required, workspace_id optional), the description fails to explain their purpose or usage, leaving the agent uninformed.

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

Purpose4/5

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

The description states 'Delete a task,' which clearly indicates the verb and resource. It distinguishes from sibling delete tools by specifying 'task,' though it lacks details on scope or side effects.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives like 'delete_tag' or 'delete_time_entry.' The description only states the action without context or exclusions.

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

delete_time_entryD

Delete a time entry

ParametersJSON Schema
NameRequiredDescriptionDefault
entry_idYes
workspace_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

D1.9/5.0
Behavior2/5

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

The description lacks behavioral disclosure beyond the verb 'delete'. It does not address permanence, permissions, cascading effects, or other side effects. With no annotations, the description fails to convey important behavioral traits.

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

Conciseness2/5

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

The description is too brief, consisting of a single sentence that lacks necessary detail. While front-loaded, it is not appropriately sized for the complexity of the tool and leaves key gaps.

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

Completeness2/5

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

Given the presence of an output schema and the destructive nature of the tool, the description is incomplete. It lacks context on prerequisites, side effects, and parameter usage, making it insufficient for effective selection and invocation.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not mention or explain any parameters. The agent receives no guidance on what entry_id or workspace_id represent, their roles, or constraints.

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

Purpose2/5

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

The description 'Delete a time entry' is a tautology, restating the tool's name without adding any new information. It is clear but does not differentiate from sibling tools like delete_client or delete_project.

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

Usage Guidelines2/5

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

No usage guidelines are provided. The description does not indicate when to use this tool versus alternatives such as update_time_entry or add_time_entry, nor does it mention any prerequisites or context.

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

delete_userC

Delete a user from a workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idYes
workspace_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description should disclose behavioral traits like irreversibility, permission requirements, or effect on associated data. It only states the basic action.

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

Conciseness4/5

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

The description is a single concise sentence with no wasted words, though it lacks structure for inline references.

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

Completeness2/5

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

Despite having an output schema, the description fails to cover important context like side effects, success behavior, or required permissions for a deletion operation.

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

Parameters2/5

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

Schema coverage is 0%, so the description must compensate. It does not explain the meaning of user_id or workspace_id beyond implying they identify the user and workspace.

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

Purpose5/5

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

The description clearly states the action (delete) and the resource (user from workspace), distinguishing it from sibling tools like add_user, update_user, and delete_client.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., update_user for deactivation), nor any prerequisites or when-not-to-use conditions.

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

get_clientB

Get a client by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
client_idYes
workspace_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as authentication requirements, error handling (e.g., if client not found), or any side effects. It only states the basic functionality.

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

Conciseness3/5

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

The description is very concise with a single sentence, but it sacrifices necessary detail. It is front-loaded with the key action but lacks completeness.

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

Completeness2/5

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

Given the existence of an output schema, return values are not required. However, the tool has 2 parameters, no parameter descriptions, and no behavioral details. The description is insufficient for an agent to understand all aspects of using the tool correctly.

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

Parameters2/5

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

Schema description coverage is 0%, but the description adds no meaning to the parameters. It mentions 'by ID' but does not explain the role of 'workspace_id' or any constraints on 'client_id'. The parameters are essentially undocumented beyond the schema.

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

Purpose5/5

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

The description 'Get a client by ID' clearly states the action (get) and the resource (client) with the identifier (by ID). It distinguishes from sibling tools like 'get_clients' which retrieves all clients.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus alternatives like 'get_clients'. The purpose implies it's for a single client, but no when-not-to-use or context is provided.

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

get_clientsC

Get all clients in a workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
workspace_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description must convey behavioral traits. It fails to disclose authentication needs, behavior when workspace_id is null (all workspaces?), or pagination. The bare statement offers minimal transparency.

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

Conciseness4/5

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

The description is extremely concise (six words) and front-loaded. While succinct, it sacrifices completeness; a bit more detail could be added without harming conciseness. Overall, no wasted words.

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

Completeness3/5

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

With an output schema present, missing return details are acceptable. However, the description does not clarify how the workspace_id parameter affects the results (all clients vs. filtered). For a list tool with siblings, this creates ambiguity. Adequate but not complete.

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

Parameters1/5

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

The single parameter 'workspace_id' has 0% schema description coverage and the description adds no explanation about its effect (e.g., default null vs. required). Since schema coverage is low, compensation is needed but absent.

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

Purpose4/5

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

The description clearly states it retrieves all clients within a workspace, distinguishing it from the singular 'get_client' sibling. However, it does not specify the return format (e.g., list or array), so nuance is missing.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like get_client (single client) or other list tools. The description does not mention scenarios where workspace_id is null or required.

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

get_current_userA

Get the current authenticated user

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations provided; description only states basic action. Does not disclose auth requirements, error states, or response behavior beyond returning user info.

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

Conciseness5/5

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

Single sentence, front-loaded, no unnecessary information. Efficient and clear.

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

Completeness4/5

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

Output schema exists, so return values are covered. Description adequately describes purpose and action for a simple tool with no parameters.

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

Parameters4/5

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

No parameters exist, schema coverage is 100%. Baseline score of 4 for zero-parameter tools; description does not need to add parameter info.

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

Purpose5/5

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

Description clearly states action 'Get' and resource 'current authenticated user', distinguishing it from 'get_user' and 'get_users'.

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

Usage Guidelines3/5

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

No guidance on when to use this tool versus siblings like 'get_user' or 'get_users'. Implied usage for current user, but no explicit context or alternatives.

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

get_projectC

Get a project by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes
workspace_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are present, and the description does not disclose any behavioral traits such as authentication requirements, return format, or side effects. The description carries the full burden but adds no value beyond the name.

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

Conciseness3/5

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

The description is very concise (5 words) but lacks structure and informative content. While it is front-loaded, it is too sparse to be adequately helpful.

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

Completeness2/5

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

The description is incomplete given the lack of parameter documentation and behavioral details. Although an output schema exists, the description fails to provide essential context for correct invocation.

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

Parameters2/5

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

Schema description coverage is 0%, and the description does not explain any parameters. The schema shows required and optional parameters, but the description adds no semantic meaning or constraints.

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

Purpose5/5

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

The description clearly states 'Get a project by ID', which is a specific verb-resource combination. It effectively distinguishes from sibling tools like 'get_projects' which returns a list.

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

Usage Guidelines2/5

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

No usage guidance is provided. The description does not mention when to use this tool versus alternatives (e.g., when to use 'get_projects' instead), leaving the agent to infer context.

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

get_projectsC

Get all projects in a workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
workspace_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It states it gets all projects, implying a read operation, but lacks details on pagination, sorting, required scopes, or what happens when workspace_id is omitted.

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

Conciseness3/5

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

The description is a single short sentence, no wasted words. However, it is under-specified for the tool's needs; conciseness should not come at the cost of missing critical information.

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

Completeness2/5

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

Despite having an output schema, the tool description lacks explanation of the behavior of the optional parameter and does not mention what the output contains. The one-line description is insufficient for an agent to use the tool correctly without additional context.

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

Parameters2/5

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

Schema description coverage is 0%. The description does not mention the 'workspace_id' parameter or explain its effect (e.g., filtering vs. all workspaces). The agent gets no added value beyond the schema itself.

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

Purpose4/5

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

The description clearly states 'Get all projects in a workspace' with a specific verb and resource. It implies a list vs. the sibling 'get_project' which gets a single project, but does not explicitly differentiate.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'get_project' or when not to use it. No context or prerequisites are mentioned.

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

get_reports_detailedC

Get detailed time entry report for a workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
end_dateYes
start_dateYes
workspace_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description should disclose behavioral traits. It only implies a read operation via 'Get', but does not explicitly state it is non-destructive, mention rate limits, data freshness, or any side effects. The agent lacks confidence in the tool's safety.

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

Conciseness4/5

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

The description is a single, concise sentence with no fluff. However, it could be slightly more informative without sacrificing brevity.

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

Completeness2/5

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

Given the presence of an output schema (not shown), the description does not need to detail return values. Nevertheless, it omits important context such as the scope of the report (e.g., all users or just one), pagination, or any implicit constraints. The tool is complex enough to warrant more details.

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

Parameters1/5

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

Schema description coverage is 0% and the description adds no meaning to the three required parameters (workspace_id, start_date, end_date). The agent must rely solely on parameter names, which are ambiguous without context (e.g., date format expectations).

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

Purpose4/5

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

The description clearly states the verb 'Get' and the resource 'detailed time entry report for a workspace'. It effectively distinguishes from the sibling 'get_reports_summary' by the word 'detailed', though it does not elaborate on what 'detailed' entails.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'get_reports_summary' or 'get_time_entries'. The agent receives no criteria for selecting this tool over similar ones.

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

get_reports_summaryC

Get time entry summary report for a workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
end_dateYes
start_dateYes
workspace_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description must convey behavioral traits. It only indicates a 'Get' operation, which implies read-only, but does not disclose any other behavior (e.g., date range support, pagination, or any side effects).

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

Conciseness3/5

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

The description is very short (one sentence), which is concise but underspecified. It lacks important details about parameters and usage, making it less effective despite its brevity.

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

Completeness2/5

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

Given the tool has 3 required parameters with no descriptions and no annotations, the description is incomplete. It fails to explain the purpose of start_date and end_date or how the report is scoped. The output schema exists but is not referenced.

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

Parameters1/5

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

Schema description coverage is 0%, meaning no parameter descriptions are provided in the schema, and the description adds no information about the parameters (e.g., workspace_id, start_date, end_date). The description only mentions 'for a workspace', which hints at workspace_id but not the required date range.

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

Purpose5/5

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

The description clearly states 'Get time entry summary report for a workspace', specifying the verb 'Get' and the resource 'time entry summary report'. It differentiates from the sibling 'get_reports_detailed' by indicating it is a summary report.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'get_reports_detailed', nor does it mention any prerequisites or context such as required filters or permissions.

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

get_tagC

Get a tag by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
tag_idYes
workspace_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description carries the full burden for behavioral disclosure. It only states a read operation but gives no details on handling missing IDs, return format, or error behavior. The existing output schema partially covers structure but not behavior.

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

Conciseness2/5

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

The description is extremely concise (one sentence), but it underspecifies critical details. It is front-loaded but fails to earn its place by omitting necessary context.

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

Completeness2/5

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

Given the existence of an output schema, the description need not explain return values. However, it falls short on usage context, parameter explanation, and differentiation from sibling tools, making it incomplete for a 2-parameter tool with no annotations.

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

Parameters1/5

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

Schema description coverage is 0%, and the description adds no explanation for the parameters. While tag_id is self-evident, the optional workspace_id parameter is unexplained in both the schema and description, leaving ambiguity about when to provide it.

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

Purpose4/5

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

The description 'Get a tag by ID' clearly states the verb (get) and resource (tag), and specifies the retrieval method (by ID). It distinguishes from sibling tools like get_tags (list) and get_client by resource name. However, it lacks scope information such as workspace context.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like get_tags or other get_* tools. The agent receives no information about when to choose this specific retrieval operation.

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

get_tagsC

Get all tags in a workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idNo
workspace_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations provided, so description must carry behavioral disclosure. It only states the basic action without mentioning whether it is read-only, pagination, or that workspace_id can be null. Lacks important behavioral traits.

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

Conciseness3/5

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

Extremely concise single sentence, but under-specified. It lacks detail needed for effective tool selection, which outweighs the benefit of brevity.

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

Completeness3/5

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

Output schema exists but not shown, which may document return values. However, the description is incomplete regarding parameter usage and workspace context. It is minimally viable for a simple list tool.

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

Parameters1/5

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

Schema coverage is 0% and description does not mention parameters at all. The two optional parameters (project_id, workspace_id) are not explained, leaving their purpose and usage unclear.

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

Purpose4/5

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

Description uses specific verb 'Get' and resource 'tags', and implies scope 'all in a workspace', clearly distinguishing from sibling tools like get_tag (single) and add_tag (create). Could be more precise about optional filtering by project_id.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives like get_tag, or prerequisites like requiring a workspace. The description does not provide context for when filtering by project_id might be needed.

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

get_taskB

Get a task by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYes
workspace_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior2/5

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

No annotations are present, so the description carries the full burden of behavioral disclosure. It does not mention authentication, permissions, error handling (e.g., 404 if not found), or any side effects. A simple 'get' is assumed but not elaborated.

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

Conciseness5/5

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

The description is a single sentence with no unnecessary words. It is maximally concise while still stating the core purpose.

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

Completeness3/5

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

Given the tool is a simple fetch by ID and an output schema exists, the description is minimally adequate. However, it lacks context on error states or prerequisite conditions, which would help the agent use it more reliably.

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

Parameters1/5

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

Schema description coverage is 0%. The description adds no meaning beyond the schema; e.g., it doesn't explain that 'task_id' is the unique identifier or that 'workspace_id' is optional for scoping. The agent must rely solely on the schema types.

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

Purpose5/5

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

The description 'Get a task by ID' uses a specific verb ('Get') and resource ('task') with an identifier ('by ID'), clearly distinguishing it from sibling tools like 'get_tasks' (list) or 'add_task' (create).

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., when to use 'get_tasks' instead). The description is too minimal to inform the agent about context.

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

get_tasksC

Get all tasks in a workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idNo
workspace_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description must fully disclose behavioral traits. It only states the basic operation, omitting details such as pagination, sorting, ownership scope, or whether all tasks across workspaces are returned when no workspace_id is provided.

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

Conciseness3/5

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

The description is a single sentence, which is concise but at the expense of completeness. It is front-loaded but could be expanded to include parameter semantics or usage hints without becoming verbose.

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

Completeness2/5

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

Given the presence of an output schema and two optional parameters, the description lacks information on default behavior, such as what happens when no parameters are provided. It does not cover pagination or order, leaving the tool's full behavior unclear.

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

Parameters1/5

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

Schema description coverage is 0%, so the description must explain parameters. It does not add meaning beyond the parameter names, leaving ambiguity about how 'project_id' and 'workspace_id' interact or what happens when both are null.

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

Purpose4/5

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

The description clearly states the tool retrieves all tasks within a workspace, using a specific verb and resource. It implicitly distinguishes from its sibling 'get_task' by indicating multiple tasks, but lacks explicit differentiation from other list tools.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'get_task' for a single task, or how to choose between the optional parameters. There is no mention of prerequisites or context-dependent usage.

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

get_time_entriesC

Get all time entries in a workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
endNo
startNo
workspace_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations provided; description does not disclose behavior such as pagination, rate limits, or effects of missing parameters. Fails to add value beyond a basic 'get'.

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

Conciseness3/5

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

Single sentence is concise but severely under-specified. Could be considered terse rather than efficient.

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

Completeness2/5

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

Despite having an output schema, the description is too vague to fully contextualize tool behavior. Lacks details on parameter usage and output format.

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

Parameters1/5

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

Schema description coverage is 0%, yet description provides no explanation for any of the 3 parameters (end, start, workspace_id). Baseline is low; description does not compensate.

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

Purpose4/5

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

Clear verb 'get' and resource 'time entries' with scope 'in a workspace'. However, does not distinguish from sibling 'get_time_entries_for_project' which also deals with time entries.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'get_time_entries_for_project'. No context for prerequisites or limitations.

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

get_time_entries_for_projectC

Get all time entries for a project

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes
workspace_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description should disclose behavioral traits. It only states it gets time entries; no mention of read-only nature, pagination, rate limits, or other constraints.

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

Conciseness4/5

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

The description is a single, clear sentence. It is concise, but arguably too brief for the required information.

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

Completeness2/5

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

Given the presence of an output schema and few parameters, the description is incomplete. It omits details about filtering, required authentication, and expected return format, which are not covered elsewhere.

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

Parameters1/5

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

Schema description coverage is 0%, and the description adds no meaning to parameters. It does not explain what project_id or workspace_id represent or how they affect the results.

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

Purpose4/5

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

The description clearly states the tool retrieves time entries for a project, which is specific. However, it does not differentiate from sibling 'get_time_entries' which might have overlapping functionality.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'get_time_entries' or 'get_time_entry'. The context of project filtering is implied but not contrasted with other tools.

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

get_time_entryC

Get a time entry by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
entry_idYes
workspace_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so description must disclose behavior. It only says 'get' implying read-only, but lacks details on required permissions, error handling for missing IDs, or response structure. Minimal transparency.

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

Conciseness4/5

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

Single sentence, very concise. No wasted words, but could be slightly more informative without losing conciseness.

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

Completeness2/5

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

Despite existing output schema, the description does not mention that it returns a single time entry object or clarify its behavior. Lacks sufficient context for an agent to use it correctly.

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

Parameters2/5

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

Schema description coverage is 0%. Description only alludes to entry_id via 'by ID' but does not explain workspace_id at all. Fails to add meaning beyond the parameter names.

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

Purpose5/5

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

Description clearly states the verb 'get' and resource 'time entry' with method 'by ID', distinguishing it from sibling tools like get_time_entries which return lists.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as get_time_entries for lists or get_time_entries_for_project for entries in a specific project.

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

get_userC

Get a user by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idYes
workspace_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden. It only states 'Get a user by ID' without disclosing any behavioral traits such as error handling, permissions, or side effects. Minimal value added beyond the tool name.

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

Conciseness3/5

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

The description is a single concise sentence with no waste. However, it is under-specified and could include more information without being verbose.

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

Completeness2/5

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

Given the presence of an output schema and two parameters, the description is incomplete. It fails to explain the workspace_id parameter and does not differentiate from similar sibling tools. Minimal information for an agent to use correctly.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It implies user_id is the identifier but does not explain its format or mention the optional workspace_id parameter at all.

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

Purpose4/5

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

The description 'Get a user by ID' clearly states the verb and resource. It is specific enough to distinguish from siblings like 'get_users' (list) and 'get_current_user' (current user), though it does not explicitly differentiate.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'get_current_user' or 'get_users'. The description lacks any usage context or exclusions.

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

get_usersC

Get all users in a workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
workspace_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

The description lacks behavioral details such as whether all workspaces are queried if workspace_id is null, pagination behavior, or required permissions. As a read operation, it is implied but not explicit.

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

Conciseness3/5

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

The description is a single sentence, but it is too brief to convey necessary information. While concise, it sacrifices essential context about parameters and usage.

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

Completeness2/5

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

Given the presence of an output schema and a single parameter, the description is incomplete. It fails to explain either the return type or the parameter's effect on the result.

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

Parameters1/5

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

The description does not explain the 'workspace_id' parameter at all, despite 0% schema description coverage. Its role, default behavior, and possible values are entirely absent.

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

Purpose5/5

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

The description 'Get all users in a workspace' clearly states the verb 'Get' and the resource 'users', with a scope 'in a workspace'. It effectively distinguishes from the sibling 'get_user' which retrieves a single user.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool over alternatives like get_clients or get_tags. There is no explanation of parameters or when workspace_id should be specified.

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

get_workspaceB

Get a workspace by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
workspace_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided, and the description adds no behavioral details such as read-only nature, permissions, or rate limits, which is insufficient for a tool without annotation support.

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

Conciseness5/5

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

A single sentence with no unnecessary words; every word contributes to the purpose.

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

Completeness4/5

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

Given the tool's simplicity (one parameter, output schema exists), the description is nearly complete. It lacks only usage guidelines, which is a minor gap.

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

Parameters3/5

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

The schema has 0% description coverage, but the tool description reinforces the parameter's purpose by stating 'by ID'. However, it adds no extra detail like format or constraints, so baseline 3 is appropriate.

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

Purpose5/5

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

The description 'Get a workspace by ID' clearly states the action (get), resource (workspace), and identifier method (by ID), making it specific and unambiguous.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'get_workspaces', leaving the agent without context for selection.

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

get_workspacesA

Get all workspaces for the authenticated user

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

The description implies a read-only operation ('Get'), but with no annotations it carries the full burden. It does not disclose details like pagination, limits, or response structure (though output schema exists). The behavioral insight is minimal but adequate for a simple list endpoint.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that conveys the essential information with no wasted words. It 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.

Completeness4/5

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

Given the tool has an output schema, no parameters, and is a straightforward list operation, the description is nearly complete. It could explicitly state the return of the list, but the output schema covers that. Minor improvement possible.

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

Parameters3/5

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

The tool has zero parameters, and schema description coverage is 100%, so the baseline is 3. The description adds no parameter details, but that is acceptable since no parameters exist.

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

Purpose5/5

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

The description clearly states the verb ('Get'), the resource ('all workspaces'), and the scope ('for the authenticated user'). It effectively distinguishes from sibling tools like 'get_workspace' (singular) and other 'get_*' tools by specifying 'all'.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool vs alternatives such as 'get_workspace' (for a single workspace) or other list tools. The description does not mention any exclusions or context.

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

update_clientD

Update an existing client

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
billableNo
client_idYes
workspace_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

D1.8/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden. It only states 'Update', which implies mutation but does not disclose any behavioral traits like idempotency, partial updates behavior, required permissions, or side effects.

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

Conciseness2/5

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

The description is overly minimal (one sentence) and under-specified. While short, it lacks substance, making it inefficient for an agent to understand the tool's capabilities.

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

Completeness1/5

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

Given the absence of annotations, low schema coverage, and presence of many sibling tools, the description is critically incomplete. It does not convey which fields can be updated, constraints, or expected behavior, nor does it leverage the output schema for context.

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

Parameters1/5

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

Schema description coverage is 0%, meaning the description does not mention any of the 4 parameters (name, billable, client_id, workspace_id). The description adds no meaning beyond the schema, failing to compensate for the low coverage.

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

Purpose2/5

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

The description 'Update an existing client' essentially restates the tool name 'update_client', making it a tautology. It does not provide any additional specificity or distinguish from sibling tools like add_client or delete_client.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as add_client or delete_client. No context about prerequisites or typical scenarios is given.

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

update_projectC

Update an existing project

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
colorNo
archivedNo
billableNo
project_idYes
workspace_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations provided, the description must disclose behavioral traits, but it only states the action. It omits details about idempotency, error handling, permission requirements, or side effects.

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

Conciseness3/5

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

The description is a single sentence with no extraneous words, but it is too terse to be informative. Conciseness without substance is not an asset here.

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

Completeness2/5

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

Given the tool's complexity (6 parameters, update operation, output schema present), the description is grossly incomplete. It provides no context on return values, parameter usage, or behavior, relying entirely on schema.

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

Parameters1/5

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

Schema description coverage is 0%, and the description adds no information about the six parameters. It does not explain what each parameter does beyond their names, leaving the agent without semantic clarity.

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

Purpose4/5

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

The description clearly states the verb 'update' and the resource 'existing project', distinguishing it from create or delete siblings. However, it lacks detail about what specific fields are updatable.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus other project tools (e.g., add_project, delete_project) or other update tools. It does not mention prerequisites or context for use.

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

update_tagC

Update an existing tag

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
colorNo
tag_idYes
workspace_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

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

No annotations provided. The description only says 'Update', implying modification, but does not disclose any side effects, required permissions, or whether it modifies existing tags in-place. With no annotations, the description carries full burden and fails to provide sufficient behavioral context.

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

Conciseness3/5

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

The description is a single sentence with no extra words, achieving conciseness. However, it is too brief and lacks necessary details, making it less useful despite its efficient structure.

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

Completeness2/5

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

Given the tool has 4 parameters and an output schema, the description is incomplete. It does not mention that tag_id is required, that workspace_id may be needed for scope, or what the tool returns. The output schema exists but is not referenced.

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

Parameters2/5

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

The input schema has 4 parameters with 0% description coverage. The description does not explain any parameter semantics beyond what the parameter names (name, color, tag_id, workspace_id) imply. It adds no value over the schema.

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

Purpose4/5

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

The description states 'Update an existing tag', clearly indicating the verb (update) and resource (tag). It distinguishes from sibling tools like add_tag (create) and delete_tag (delete), but does not specify which properties can be updated.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like add_tag or delete_tag. The description lacks explicit context on usage scenarios or prerequisites.

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

update_taskC

Update an existing task

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
statusNo
tagIdsNo
task_idYes
archivedNo
assigneeIdsNo
workspace_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

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

Description does not disclose behavioral traits like authentication requirements, side effects, or constraints. With no annotations, the description fails to provide essential safety and behavior context.

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

Conciseness2/5

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

While concise, the description is too brief, sacrificing necessary information. Front-loading is not helpful when there is almost no content.

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

Completeness2/5

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

Despite having an output schema, the description lacks guidance on partial updates, required fields beyond task_id, and behavior for nullable parameters. Incomplete for a 7-parameter tool with no annotations.

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

Parameters1/5

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

Schema description coverage is 0%, and the description adds no details about parameters like name, status, tagIds, etc. The agent must infer semantics solely from schema types, which is insufficient.

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

Purpose5/5

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

Description clearly states verb 'update' and resource 'task', distinguishing it from siblings like add_task, delete_task, and get_task.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs. alternatives such as add_task or other update tools. Lacks context for appropriate usage.

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

update_time_entryC

Update an existing time entry

ParametersJSON Schema
NameRequiredDescriptionDefault
endNo
startNo
tagIdsNo
taskIdNo
entry_idYes
projectIdNo
descriptionNo
workspace_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.3/5.0
Behavior2/5

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

No annotations are present, so the description must disclose behavioral traits. It mentions 'update' implying mutation, but fails to describe side effects, partial update behavior, authorization needs, or constraints beyond the schema.

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

Conciseness2/5

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

The description is extremely short (6 words), but this brevity sacrifices clarity and information. It is under-specified rather than concise, failing to justify its minimal content.

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

Completeness1/5

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

With 8 parameters, no annotations, and an output schema, the description is far too minimal. It omits critical operational details such as partial update semantics, field formats, and workspace handling, leaving the agent to infer everything from parameter names.

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

Parameters1/5

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

The schema description coverage is 0%, so the description must compensate, but it provides no information about any of the 8 parameters. It does not explain that only provided fields are updated, the format of date strings, or the role of optional fields.

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

Purpose4/5

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

The description states it updates an existing time entry, which is a clear verb+resource. However, it does not add any scope or detail that distinguishes it from sibling tools like update_task or update_project, and it essentially restates the tool name.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as add_time_entry or delete_time_entry. The description lacks context for appropriate usage scenarios.

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

update_userC

Update an existing user

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
roleNo
emailNo
statusNo
user_idYes
workspace_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

No annotations provided, so description must disclose behavior. Only says 'Update', without mentioning partial update behavior, required permissions, or side effects. Fails to add context beyond the verb.

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

Conciseness2/5

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

Extremely concise but under-specified. A single sentence lacks necessary context for a tool with 6 parameters and no annotations.

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

Completeness2/5

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

Given the complexity (6 params, no annotations, no enums), the description is insufficient. Although an output schema exists, the description fails to cover prerequisites, behavior, or parameter details.

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

Parameters1/5

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

Schema description coverage is 0%. The description adds no meaning to any of the 6 parameters. The schema alone shows parameter names but no explanation of usage or constraints.

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

Purpose4/5

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

The description states 'Update an existing user', which clearly indicates the verb and resource. It does not differentiate from sibling tools like 'update_client' or 'update_project', but the name itself is unambiguous.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'add_user' or 'get_user'. No exclusions or context provided.

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

TDQS

B3.1/5.0
Disambiguation5/5

Each tool targets a distinct resource and action (e.g., add_client, delete_client, get_client, update_client), with no overlapping purposes. The resource type is always clear from the name.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case (add_, delete_, get_, update_). The few exceptions like get_current_user or get_reports_detailed still adhere to the pattern.

Tool Count4/5

36 tools cover CRUD for multiple resources (clients, projects, tags, tasks, time entries, users) plus workspaces and reports. While on the higher end, it is appropriate for Clockify's API scope.

Completeness5/5

The tool set covers all major CRUD operations for each resource, plus specific queries like get_time_entries_for_project and report endpoints. No obvious gaps for typical usage.

Maintenance

ActivityStale
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/antuking/clockify-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server