Skip to main content
Glama
andrewcraigmorgan

Zoho Projects MCP Server

Server Quality Checklist

58%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.0.0

  • Disambiguation5/5

    Each tool targets a distinct resource and action: portals, projects, tasks, issues, phases, comments, attachments, images, and export. Even the image-related tools are clearly separated by single vs. bulk extraction/download, and get_task_by_prefix has a unique purpose. No two tools appear to do the same thing.

    Naming Consistency4/5

    The naming pattern is mostly verb_noun (list_projects, create_task, delete_phase) and very readable. Minor deviations exist: add_task_comment vs create_task, edit_task_comment vs update_task, and longer names like get_task_by_prefix, but these do not undermine the overall consistency.

    Tool Count2/5

    39 tools is a heavy surface for an MCP server, even for a broad platform like Zoho Projects. The count feels excessive, with granular operations for images and attachments that could be consolidated. It exceeds the 25+ threshold for a 'too many' rating.

    Completeness4/5

    The tool set covers core CRUD for projects, tasks, issues, and phases, plus comments, attachments, search, and export. Notable gaps include missing delete_issue, no update for tasklists, and no way to list or manage issue comments, but these are workable and the main workflows are well supported.

  • Average 3.3/5 across 39 of 39 tools scored. Lowest: 1.9/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior1/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 fails to mention whether creating an issue requires an existing project, what side effects occur, what the response contains, or any permissions needed. For a mutating operation, this is a severe transparency gap.

    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, but this is under-specification rather than effective conciseness. It does not earn its place because it adds no information beyond the tool name, and it omits critical context.

    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 5 parameters, no annotations, and no output schema, the description is completely inadequate. It does not explain the significance of project_id and title, the severity enum, or what the outcome of a successful creation is, leaving an agent unable to correctly select and invoke the tool.

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

    Parameters3/5

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

    The schema has 100% coverage with descriptions for all five parameters, so the baseline is 3. The description adds no parameter-specific meaning beyond what the schema already provides; it only says 'create a new issue' without elaborating on required fields.

    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 'Create a new issue' is a tautological restatement of the tool name 'create_issue'. It provides no additional scope or context that would distinguish it from sibling tools such as update_issue or list_issues beyond the verb already present in the 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 given regarding when to use this tool versus alternatives. There is no mention of prerequisites like an existing project, relationship to other issue-related tools, or any exclusions.

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

  • Behavior1/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 fails to mention any side effects, permission requirements, updatable fields, or response behavior, leaving the agent with no insight into the tool's operational characteristics.

    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 concise but under-specified. It repeats the tool name rather than adding useful context; it is not appropriately sized for a tool with 5 parameters and no other supporting documentation.

    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 moderate complexity (5 parameters, required fields, enum) and the absence of annotations and output schema, the description is completely inadequate. It leaves the agent without essential context about the update operation's scope and effects.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the baseline is 3. The description adds no extra parameter semantics beyond the schema, but the schema already documents all parameters adequately, so no penalty is warranted.

    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 issue' simply restates the tool name, offering no additional specificity about what updating an issue entails or how it differs from sibling update tools like update_task or update_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?

    The description provides no guidance on when to use this tool versus alternatives, no exclusions, and no context about prerequisites or typical use cases. It is a bare statement with zero usage direction.

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

  • Behavior1/5

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

    With no annotations, the description carries the full burden of disclosing behavior, but it does not mention whether updates are partial or full, what side effects occur, whether permissions are required, or what the response format is. The word 'update' is already implicit in the tool name, so no additional transparency 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.

    Conciseness2/5

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

    The description is a single short sentence, which is concise in length but fails to earn its place because it merely duplicates the tool name. It does not front-load any useful information beyond what the name already conveys.

    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 11 parameters, no output schema, and no annotations, the description is severely inadequate. It lacks any mention of update semantics, required fields beyond the schema, return values, or related business logic, making it insufficient for an agent to understand the tool's full context.

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

    Parameters3/5

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

    Schema description coverage is 100%, with each parameter already documented (e.g., duration format, HTML for description). The description adds no parameter-level meaning, but since the schema already provides comprehensive semantics, the baseline score of 3 is appropriate.

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

    Purpose2/5

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

    The description 'Update a task' merely restates the tool name 'update_task' by expanding underscores to spaces. It states an action and resource but adds no detail about what specifically can be updated, making it a tautology rather than a distinct explanation.

    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 about when to use this tool versus alternatives like move_task or update_issue. The description offers no context on prerequisites, typical scenarios, or exclusions, leaving the agent without direction for tool selection.

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

  • 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 of creating a project, without mentioning side effects, permissions, reversibility, or any constraints. This is insufficient for a mutation tool.

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

    Conciseness4/5

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

    The description is a single, short sentence with no fluff or unnecessary words. However, it is redundant with the tool name and does not earn its place by adding unique information, slightly reducing the 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's complexity (5 parameters, no output schema, no annotations), the description is far too minimal. It lacks information about return values, edge cases, or behavioral context that would help an agent use the tool correctly.

    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 covers 100% of parameters with descriptions, so the baseline is 3. The description adds no additional semantic meaning beyond what the schema already provides, but it does not need to since the schema is thorough.

    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 'Create a new project' essentially restates the tool name 'create_project' with no additional detail. It is a tautology that provides no insight beyond the name itself, failing to add value or clarify the tool's unique purpose.

    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 gives no guidance on when to use this tool, what prerequisites exist, or how it relates to sibling tools like update_project or list_projects. There is no 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.

  • 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 disclosing behavioral traits. It only implies a read operation ('Get details') but omits information about authentication, response format, failure behavior, or whether the task must exist.

    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 that front-loads the verb and avoids superfluous content. It is efficient but could include a brief note about required identifiers without losing conciseness.

    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's simplicity (two parameters, no nested objects), the description is minimally adequate, but it does not explain what 'details' entails or what the response looks like. The absence of an output schema makes this lack of return information more significant.

    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?

    Both parameters are already documented in the schema with descriptions ('Task ID', 'Project ID'), achieving 100% schema coverage. The description adds no additional meaning or context beyond what the schema provides, so the baseline of 3 is appropriate.

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

    Purpose4/5

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

    The description clearly states the action ('Get') and the resource ('details of a specific task'), making it easy to understand the tool's core purpose. It distinguishes itself from list_tasks by focusing on a single task, though it does not explicitly call out alternatives like get_task_by_prefix.

    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 list_tasks or get_task_by_prefix. It leaves the agent to infer usage context from the name and schema, which is insufficient.

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

  • Behavior2/5

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

    No annotations exist, so the description carries the burden, but it only restates the purpose. It fails to disclose read-only behavior, pagination, result format, or any side effects, leaving the agent without essential 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.

    Conciseness5/5

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

    The description is a single concise sentence with no extraneous words. It is immediately clear and front-loaded.

    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 5 parameters and no output schema, the description gives no insight into how the search behaves, what it returns, or how scope (portal vs project) is determined. The minimal description is insufficient for a tool with this complexity.

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

    Parameters3/5

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

    Schema coverage is 100%, and each parameter has a description, so the baseline of 3 applies. The description adds no additional parameter semantics beyond what the schema already provides.

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

    Purpose4/5

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

    The description states a clear action (Search) and a scoped resource (portal or project), which distinguishes it from sibling list/get tools. However, it doesn't specify the breadth of searchable content, relying on the schema's module enum for that.

    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 directly fetching a known resource (e.g., get_project, get_task). No exclusions or alternative tool mentions.

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

  • Behavior1/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 merely states 'update' without explaining mutation semantics, permission requirements, reversibility, or error behavior. This is insufficient for a write operation.

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

    Conciseness5/5

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

    The description is a single, concise sentence that gets straight to the point. It is front-loaded and contains no unnecessary words, making it highly 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?

    For a mutation tool with no annotations and no output schema, a one-sentence description is insufficient. It fails to clarify whether this is a partial update or a full replacement, or what happens when the project doesn't exist. The schema helps but does not cover these behavioral aspects.

    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 covers 100% of parameters with descriptions, so the baseline is 3. The description adds no parameter-specific information, but the schema already documents each field adequately.

    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 'Update an existing project' has a specific verb (update) and resource (project). It clearly distinguishes from sibling tools like create_project, delete_project, get_project, and list_projects by the action it performs.

    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. It does not mention prerequisites, exclusions, or any context that would help an agent decide between update_project and other project-related tools.

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

  • Behavior1/5

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

    Since no annotations are provided, the description must convey behavioral context. It only states the action without mentioning required permissions, file size limits, overwrite behavior, or response format. This is a significant gap for a mutation tool.

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

    Conciseness5/5

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

    The description is a single, clear sentence with no wasted words. It is immediately understandable.

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

    Completeness2/5

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

    The tool has four parameters and no output schema, yet the description only explains the core action. It omits return values, error handling, prerequisites (e.g., whether the file must exist), and any side effects. With no annotations to compensate, this is insufficient.

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

    Parameters3/5

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

    The input schema provides descriptions for all four parameters (e.g., 'Absolute path to file to upload'), achieving 100% coverage. The description does not add additional parameter information, so a baseline score of 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 uses a specific verb ('Upload') and identifies the resource ('file attachment') and target ('task'), clearly distinguishing it from sibling tools like list_task_attachments and delete_task_attachment.

    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 download_inline_image or extract_inline_images. The description merely states the action without context.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden for behavioral disclosure. It only states 'Create a new tasklist' without describing side effects, permissions required, duplicate handling, or what the response contains. For a mutation tool, this is a significant transparency gap.

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

    Conciseness4/5

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

    The description is a single, concise sentence that front-loads the action and resource. It wastes no words, though it is somewhat minimal. Still, it earns its place by clearly stating the core purpose.

    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 no output schema, the description is incomplete. It does not explain the relationship between tasklist, project, and milestone, nor does it mention return values or any behavioral details. The schema documents parameters but the description adds no contextual richness.

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

    Parameters3/5

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

    Schema description coverage is 100%, so all parameters are already documented in the schema. The description adds no extra meaning beyond implying the tasklist belongs to a project. Baseline of 3 is appropriate since the schema carries the heavy lifting.

    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 tool's function: 'Create a new tasklist in a project.' It uses a specific verb ('create') and resource ('tasklist'), and is distinct from sibling tools like create_task, which creates a task instead. This leaves no ambiguity about what the tool does.

    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. It does not mention prerequisites (e.g., project must exist), when not to use it, or how it relates to create_task or delete_tasklist. No exclusion or alternative context is given.

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

  • 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. It does not disclose any behavioral traits beyond what 'List' implies, such as that it is read-only, requires specific permissions, or what it returns. The description is bare and adds no safety or side-effect context.

    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 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.

    Completeness3/5

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

    Given the low complexity and full schema coverage, the description is minimally viable but lacks key context such as what kind of attachments are included, whether pagination applies, and what the response format looks like (no output schema). There are clear gaps but the basic purpose is clear.

    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 input schema has 100% description coverage for both parameters (task_id and project_id), and the description adds no further parameter meaning. The baseline of 3 applies because the schema already documents the parameters adequately.

    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 'List attachments on a task' uses a clear verb ('List') and resource ('attachments'), and is distinct from sibling tools like upload/delete_task_attachment. It is specific enough, though it does not explicitly state scope (e.g., all attachments) or differentiate from download_task_images.

    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 or when to prefer alternatives. The usage is only implied by the verb 'List', with no explicit exclusions or references to sibling tools.

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

  • Behavior2/5

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

    With no annotations provided, the description must carry the full burden. 'Create a new phase/milestone' implies mutation but does not disclose permissions, idempotency, reversibility, or any side effects. For a create operation with zero annotation coverage, this is a significant behavioral gap.

    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, concise sentence with no filler words. It states the action and the resource efficiently, earning its place without redundancy. Perfectly sized for the simplicity of the operation.

    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 a well-documented schema, the description lacks behavioral context. There is no output schema, so the description should explain what a successful creation returns or any special behavior, but it does not. With no annotations and 5 parameters, the description is minimally adequate but leaves critical gaps for an agent.

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

    Parameters3/5

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

    Schema description coverage is 100%, with each parameter having a clear description. The tool description itself adds no additional parameter semantics beyond what the schema already provides, so the baseline score of 3 is appropriate. It does not explain relationships among parameters or any dependencies beyond required fields.

    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 'Create a new phase/milestone' uses a specific verb (create) and resource (phase/milestone), clearly distinguishing it from sibling tools like create_task, create_project, and create_issue. Even though it is brief, it unambiguously states what the tool does.

    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 update_phase or list_phases. There is no mention of prerequisites, typical use cases, or when not to use it. The description is purely declarative.

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

  • Behavior2/5

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

    No annotations are present, so the description carries full responsibility. It does not disclose side effects, permissions, validation behavior, or return values. The bare statement 'Create a new task' is insufficient for an agent to anticipate consequences.

    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?

    One short sentence, front-loaded with the action and target. Every word contributes; there is no filler or repetition.

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

    Completeness2/5

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

    With 9 parameters and no output schema, the description should explain return behavior or notable preconditions. It does neither, making the tool under-specified for a create operation that may have side effects.

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

    Parameters3/5

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

    Schema coverage is 100%, and each parameter has a descriptive entry (e.g., 'description' notes HTML formatting, 'duration' explains format). The description adds no additional parameter context beyond this, so the baseline of 3 applies.

    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 uses a specific verb ('Create') and resource ('task') with context ('in a project'), clearly distinguishing it from sibling tools like create_project or create_issue. It is concise 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 is provided on when to use this tool versus alternatives (e.g., update_task, create_issue). The description simply states the action without contextual hints or exclusions.

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

  • Behavior2/5

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

    With no annotations, the description carries the full burden of disclosing behavioral implications. It states 'Delete' but does not mention whether the operation is permanent, whether it cascades to associated tasks, or whether any permissions are required. This is insufficient for a destructive tool.

    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, clear sentence with no wasted words. It is appropriately sized for a simple tool and front-loads the key action and resource.

    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?

    While the schema fully covers parameters, the description lacks critical behavioral context for a destructive operation, such as permanence or side effects. Given the absence of annotations and output schema, the description should provide more guidance to ensure correct usage.

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

    Parameters3/5

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

    Schema coverage is 100%, with both project_id and phase_id described. The description adds no additional parameter context beyond the schema, so the baseline score of 3 is appropriate.

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

    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 target resource ('a phase/milestone from a project'), distinguishing it from sibling tools like list_phases, create_phase, and update_phase. The verb 'Delete' is specific and unambiguous.

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

    Usage Guidelines2/5

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

    The description provides no context on when to use this tool versus alternatives, nor any prerequisites or exclusions. It only restates the action without mentioning scenarios where deletion might be inappropriate or alternatives should be considered.

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

  • 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 does not state whether deletion is permanent, if the task can be restored (despite the existence of restore_task), or any side effects such as cascading deletion or auth requirements.

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

    Conciseness5/5

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

    The description is a single, clear sentence with no wasted words. It is front-loaded and appropriately sized for a simple delete operation.

    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 no annotations or output schema, the description is too sparse. It does not explain the consequence of the delete (e.g., whether it is soft or hard delete), what happens to associated data, or what the response indicates. This is incomplete for a destructive action.

    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 input schema covers 100% of parameters with basic descriptions, so the baseline is 3. The description adds no further meaning to task_id and project_id, but since the schema already documents them, no deduction is applied.

    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 "Delete a task" uses a specific verb (delete) and resource (task), clearly stating what the tool does. It distinguishes from sibling delete tools by specifying the resource type, so there is no ambiguity about its purpose.

    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 delete_project or restore_task. There is no mention of prerequisites, constraints, or when deletion is appropriate.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It discloses the destructive action but omits critical traits like permanence, permission requirements, or cascading effects. The one-sentence description adds little 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.

    Conciseness5/5

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

    The description is a single clear sentence with no redundant or unnecessary information. It is extremely concise and front-loaded.

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

    Completeness2/5

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

    For a delete operation with no annotations and no output schema, the description is insufficient. It omits details about irreversibility, success/failure responses, or any prerequisite conditions. While the operation is simple, a complete description should at least note that the action is permanent.

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

    Parameters3/5

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

    Schema description coverage is 100% because each parameter has a basic description (e.g., 'Comment ID to delete'). The tool description adds no additional meaning for parameters, so baseline of 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 clearly states the action ('Delete') and the resource ('a comment from a task'). It unambiguously distinguishes from sibling tools like add_task_comment, edit_task_comment, and delete_task_attachment.

    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 is provided. There is no mention of context, prerequisites, or exclusions. The usage is implied only by the tool name and brief description.

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

  • 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 any side effects, such as whether tasks within the tasklist are also deleted, permission requirements, or reversibility of the operation. It offers only the bare action without 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.

    Conciseness5/5

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

    The description is a single, concise sentence with no redundant words. It is appropriately sized for a simple tool and front-loaded with the primary action.

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

    Completeness2/5

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

    For a mutation tool with no annotations and no output schema, this description is incomplete. It does not mention potential consequences, such as what happens to tasks within the tasklist, or any prerequisites, making it insufficient for an agent to fully assess the impact of invoking this tool.

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

    Parameters3/5

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

    The input schema already provides descriptions for both parameters (project_id and tasklist_id) with 100% coverage. The description adds minimal value beyond confirming that the tasklist belongs to a project, which is already implicit in 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 uses the specific verb 'Delete' with resource 'tasklist' and scope 'from a project', clearly distinguishing it from sibling tools like delete_task or delete_project. It is unambiguous and directly states the tool's intended function.

    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 other deletion tools, nor are there any exclusions or alternative suggestions. The description only states what it does, leaving the agent to infer usage from the name alone.

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

  • Behavior2/5

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

    No annotations are provided, so the description must disclose behavior. It indicates a read operation ('List') but does not mention that results are paginated or that it only applies to a single project. It does not describe any side effects or requirements beyond what is in 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.

    Conciseness4/5

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

    The description is a single concise sentence with no wasted words. It is appropriately front-loaded but could arguably state a bit more without becoming verbose.

    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 simple nature of the tool and full schema coverage, the description is minimally adequate but leaves gaps: it does not mention pagination, that project_id is required, or what the response contains. Since there is no output schema, this could be improved.

    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 already provides descriptions for all three parameters (project_id, page, per_page). The description adds no additional parameter semantics beyond the phrase 'from a project', and does not elaborate on pagination or filtering behavior.

    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 (List) and the resource (phases/milestones) and scopes it to a project, distinguishing it from sibling list tools like list_tasks or list_projects.

    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 gives no explicit guidance on when to use this tool versus alternatives. It does not mention any exclusions or when not to use, leaving the agent to infer from the tool name and context.

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

  • Behavior2/5

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

    No annotations are provided, so the description must disclose side effects and behavioral traits. It merely states the action without explaining what happens to the task's old tasklist, whether the move is reversible, if permissions are required, or what the return value is. This is a significant gap for a mutation tool.

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

    Conciseness5/5

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

    The description is a single, front-loaded sentence with no filler words. It efficiently communicates the core intent without redundancy, earning a perfect score for 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?

    While the schema fully documents the parameters, the description lacks essential context for a move operation, such as whether the task will be removed from its original list, any constraints on cross-project moves, or what is returned upon success. Given the absence of annotations and output schema, the description is incomplete for an AI agent that needs to understand the tool's effects.

    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 input schema already provides descriptions for all three required parameters, including 'Target tasklist ID to move the task to' for tasklist_id. The tool description adds no additional semantic nuance beyond the schema, so the baseline of 3 is appropriate.

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

    Purpose5/5

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

    The description uses the specific verb 'move' with a clear resource ('task') and destination ('different tasklist'). It unambiguously distinguishes from sibling tools like update_task or create_task because none of those describe relocating a task between lists. The tool name and description align perfectly.

    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 explicit when-to-use guidance or comparison with alternatives, such as whether update_task could also change the tasklist or if there are prerequisites. It simply states the action, leaving the agent to infer when this tool is appropriate. There is no mention of exclusions or context.

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

  • Behavior2/5

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

    Without annotations, the description must convey behavioral traits, but it only states the action without detailing effects, permissions, or return behavior. It does not disclose whether the comment is appended, whether notifications are triggered, or what a successful response looks like.

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

    Conciseness5/5

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

    The description is a single, clear sentence with no unnecessary words or repetition, making it highly concise and well-structured.

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

    Completeness3/5

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

    For a simple create operation with three clearly named parameters, the description is somewhat adequate, but it lacks any contextual details about return values or side effects given the absence of annotations and output schema. It is minimally complete but leaves room for enhancement.

    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 input schema covers 100% of parameters with basic descriptions for each, so the baseline is 3. The tool description adds no additional parameter semantics beyond what the schema provides.

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

    Purpose5/5

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

    The description 'Add a comment to a task' uses a specific verb and resource, making the tool's purpose immediately clear. It is easily distinguished from sibling tools like edit_task_comment and delete_task_comment.

    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, nor does it mention any prerequisites or exclusions. There is no mention of related tools or context in which this tool is preferred.

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

  • Behavior2/5

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

    No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only states 'Get details' without elaborating on the response structure, potential errors, or whether any permissions are required. This does not add meaningful context beyond the tool's name.

    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, succinct sentence that is front-loaded with the key information. There is no redundant phrasing or extraneous content, making it highly concise and easy to parse.

    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?

    The tool is simple with one parameter and no output schema, so the description is minimally viable. However, it does not specify what 'details' include or how it relates to list_portals, leaving some ambiguity about the exact scope of information returned. Completeness is adequate but not thorough.

    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 input schema covers 100% of the parameter (portal_id) with a basic description 'Portal ID'. The description adds no further semantic detail, such as expected format or example values. Baseline score of 3 is appropriate given full schema coverage.

    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 details of a specific portal' uses a clear verb-resource pair, precisely identifying the action and target. It is easily distinguished from sibling tools like list_portals or get_project, making the purpose 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?

    The description provides no guidance on when to use this tool versus alternatives such as list_portals (to discover portal IDs) or get_project. There is no mention of prerequisites or contexts where this tool is preferred, leaving the usage decision to the agent's inference.

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

  • Behavior2/5

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

    There are no annotations, so the description carries the full burden. The phrase 'List comments' implies a read-only operation, but no additional behavioral details are disclosed—such as whether results are ordered, whether deleted comments are included, or what the response structure is. The description is minimal and adds no transparency beyond the tool's name.

    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, focused sentence with no redundancy or filler. It conveys exactly what the tool does in the fewest words possible, earning a high score for conciseness.

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

    Completeness3/5

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

    For a simple list tool with a fully documented schema, the description is adequate but lacks any mention of the return format (e.g., array of comment objects) or additional context like whether pagination is mandatory. Since there is no output schema, a bit more detail about what the tool returns would improve completeness, but the current level is minimally viable.

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

    Parameters3/5

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

    Schema description coverage is 100%, so all four parameters (project_id, task_id, page, per_page) already have descriptions. The tool description adds no extra parameter context, but it does not need to because the schema handles the semantics fully. Baseline score of 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 'List comments on a task' uses a specific verb (list) and resource (comments on a task), making it unambiguous. It clearly distinguishes from sibling tools like add_task_comment, edit_task_comment, and delete_task_comment by focusing on the read-only listing operation.

    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. It does not mention any specific context, such as pagination behavior, filtering use cases, or that this is the appropriate tool for retrieving all comments on a task. The description leaves usage entirely to inference from the name.

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

  • Behavior2/5

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

    There are no annotations, and the description only states 'List tasks' without disclosing behavior such as pagination defaults, ordering, permissions, or whether results are scoped by portal/project. It adds minimal value beyond the tool's name.

    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?

    One short sentence front-loaded with the main action, no filler words. Appropriate length and structure for a simple list operation.

    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 simple listing nature, the description is adequate but sparse. It lacks any mention of return format or additional filters beyond what the schema provides, and with no output schema, the agent must infer the response structure.

    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 input schema provides 100% parameter coverage (page, per_page, project_id), and the description offers no additional parameter context. The phrase 'from a project or portal' hints at project_id's optionality but the schema already states that.

    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 uses the specific verb 'List' with the resource 'tasks' and clearly states scope ('from a project or portal'), distinguishing it from sibling tools like list_issues and list_projects.

    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 search or get_task_by_prefix. It only states what it does, without clarifying exclusions or preferred use cases.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It only states the basic edit action and does not disclose what happens to the original content, whether edits are partial or full replacements, or any error behavior for nonexistent comments.

    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 concise sentence with no wasted words. It delivers the essential purpose immediately and is appropriately sized for a straightforward edit operation.

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

    Completeness2/5

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

    For a mutating tool with no annotations and no output schema, the description is minimal. It fails to explain key behavioral details such as idempotency, failure modes, or whether the content replaces the entire comment, leaving the agent without enough context to use the tool safely in edge cases.

    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 input schema provides complete descriptions for all four parameters (project_id, task_id, comment_id, content), achieving 100% coverage. The description adds little beyond the schema, but the schema already clearly documents what each parameter means.

    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 'Edit an existing comment on a task' uses a specific verb ('Edit') and identifies the exact resource (existing comment on a task). It clearly distinguishes this tool from siblings like add_task_comment and delete_task_comment by implying the comment already exists.

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

    Usage Guidelines3/5

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

    The phrase 'existing comment' implies this tool should be used when the target comment already exists, as opposed to adding or deleting. However, there is no explicit guidance about when to prefer this over alternatives or what conditions must be met before editing.

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

  • Behavior3/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. 'Get details' clearly implies a read-only operation, but it does not disclose error handling, authorization needs, or response format. This is adequate for a simple getter but minimal.

    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, focused sentence with no redundant wording. It is front-loaded with the verb and resource, making it maximally efficient.

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

    Completeness4/5

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

    For a low-complexity getter with fully documented parameters, the description is functional and sufficient for basic selection. However, the absence of annotations and output schema means a bit more context about expected return or use case would enhance completeness, though it is not critically lacking.

    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 input schema provides full descriptions for both parameters (project_id and issue_id), achieving 100% schema coverage. The description adds no parameter-level meaning beyond what the schema already states, so baseline 3 applies.

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

    Purpose4/5

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

    The description uses a specific verb ('Get') and resource ('specific issue'), clearly indicating a single-issue retrieval operation. It is unambiguous and inherently distinguishes from list_issues, though it doesn't explicitly name alternatives.

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

    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 list_issues or other get_* tools. The description states only what the tool does, not the context or conditions under which it should be selected.

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

  • Behavior2/5

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

    There are no annotations, so the description must disclose behavioral traits. It does not mention pagination (despite page/per_page parameters), nor clarify that project_id is optional and lists portal-level issues when omitted. This is a gap for a list tool.

    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?

    One short sentence that gets straight to the point. No redundant 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?

    The tool has no output schema and no annotations; the description is too sparse. It should mention that it returns a paginated list of issues and how project_id scoping works, to fully guide the agent.

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

    Parameters3/5

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

    Schema coverage is 100%, so parameters are already described. The description's 'project or portal' phrase adds slight context aligning with project_id's description, but no new meaning about page/per_page.

    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 uses a specific verb 'List' and resource 'issues', with scope 'from a project or portal'. This clearly conveys the operation and distinguishes it from sibling tools like get_issue and create_issue.

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

    Usage Guidelines3/5

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

    The description implies usage for listing issues but provides no explicit guidance on when to prefer this over get_issue or how it relates to list_projects/list_portals. No alternatives or exclusions are mentioned.

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

  • Behavior2/5

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

    The description says 'List all projects' but the schema includes pagination parameters (page, per_page), meaning a single call does not necessarily return all projects. The lack of annotations places the burden on the description, which fails to disclose pagination behavior, portal selection, or read-only guarantees.

    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 that is easy to parse. However, it omits potentially relevant nuances like pagination and portal context, making it slightly under-specified rather than optimally concise.

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

    Completeness3/5

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

    For a simple list tool with two optional parameters, the description provides a basic understanding but lacks important context: it does not explain how the portal is selected (since no portal parameter exists), how pagination works to retrieve all projects, or what fields are returned. Given the absence of an output schema and annotations, more detail would improve completeness.

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

    Parameters3/5

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

    Schema description coverage is 100%, with both parameters (page, per_page) already documented in the input schema. The description adds no parameter-specific meaning, so the baseline score of 3 applies.

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

    Purpose5/5

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

    The description uses a specific verb ('list') and resource ('projects'), and clarifies scope ('in a portal'). It clearly distinguishes from siblings like list_portals and get_project, which are named differently and pertain to different resources or actions.

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

    Usage Guidelines3/5

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

    The description implies usage (when you need to list projects) but provides no explicit guidance on when to prefer this over alternatives like search or list_tasks. No exclusions or alternative tools are mentioned, 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.

  • 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 indicates a mutation ('restore') but does not disclose side effects, required permissions, or what happens if the task is not found or already restored. This lack of detail for a write operation is a significant gap.

    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, succinct sentence that is front-loaded with the core purpose. It contains no unnecessary words and is easy to parse.

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

    Completeness4/5

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

    For a simple two-parameter operation with full schema coverage, the description is reasonably complete. It identifies the action and the target (trash). The lack of annotations and output schema is partially mitigated by the schema's full parameter descriptions, though some information about return values or error behavior is still missing.

    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 input schema fully describes both parameters (task_id and project_id) with clear descriptions, so the baseline is 3. The description adds the 'from trash' context but does not elaborate on parameter specifics beyond what the schema already provides.

    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 ('Restore') and the resource ('a deleted task from trash'), making it distinct from sibling tools like delete_task or get_task. No other tool in the sibling list provides this specific restore 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?

    The description does not provide explicit guidance on when to use this tool versus alternatives, nor does it mention prerequisites or exclusions. While it is implied that this tool is for tasks in the trash, there is no context about when restoration is appropriate or how it differs from other task-related operations.

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

  • Behavior3/5

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

    With no annotations, the description carries the full burden. It discloses that deletion is not permanent ('moves to trash'), which is a meaningful behavioral trait. However, it does not mention side effects on associated projects/tasks, permission requirements, or how restoration occurs, leaving notable gaps.

    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, concise sentence that front-loads the action and adds a parenthetical clarification. Every word earns its place; no redundancy or fluff.

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

    Completeness3/5

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

    For a one-parameter delete tool, the description is minimally adequate but lacks details about return values, error conditions, whether the deletion is cascading, and what 'trash' means for recovery (especially since no restore_project sibling exists). These gaps are significant given the lack of an output schema.

    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 input schema already provides a 100% description coverage for the single parameter (project_id: 'Project ID'). The tool description adds no further meaning or context to the parameter, so the baseline of 3 applies.

    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 a project') and the resource affected, plus the behavioral nuance 'moves to trash'. It distinguishes this from sibling tools like delete_task and delete_phase by naming the specific resource.

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

    Usage Guidelines2/5

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

    No explicit guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites. The context is limited to the action itself, so the agent must infer usage from the tool name.

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

  • Behavior2/5

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

    No annotations are available, so the description carries the full burden for behavioral disclosure. It only says 'Get details' and does not mention whether the operation is read-only, requires specific permissions, or how it handles a non-existent project ID. This leaves the agent uncertain about 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.

    Conciseness5/5

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

    The description is a single, front-loaded sentence with no redundant words. It efficiently conveys the core action and resource, making it appropriately concise for a simple get tool.

    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's simplicity (one parameter, no output schema), the description is adequate but sparse. It does not describe the return format or error behavior, and with no annotations, contextual information is minimal. However, for a basic get operation, the description covers the essential purpose.

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

    Parameters3/5

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

    The input schema fully describes the only parameter (project_id) with clear meaning, achieving 100% schema description coverage. The tool description adds no additional parameter context, but since the schema already provides the necessary semantics, the baseline score applies.

    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 uses the verb 'Get' with a specific resource 'details of a specific project', clearly indicating a retrieval operation for one project. This distinguishes it from sibling tools like list_projects (which lists all) and mutation tools such as create_project or update_project.

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

    Usage Guidelines3/5

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

    The description implies this is used when a single project's details are needed, but it does not explicitly state when to use it versus alternatives like list_projects or get_task. No exclusions or alternative tool references are provided, so usage guidance is solely implicit.

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

  • Behavior2/5

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

    With no annotations, the description must disclose behavioral details, but it only states the basic action. It does not mention whether existing files are overwritten, authentication requirements, or potential failure modes such as expired URLs. This leaves a significant transparency gap.

    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 two sentences with no filler; the first sentence states the purpose and the second provides usage context. Every word earns its place.

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

    Completeness4/5

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

    For a two-parameter download tool, the description covers its purpose and usage context. However, with no annotations or output schema, it could be more explicit about expected behavior and relationship to sibling tools like extract_inline_images and download_task_images.

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

    Parameters3/5

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

    Schema description coverage is 100%—both image_url and output_path have descriptive text, including an example for image_url. The description adds no additional parameter semantics beyond 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 clearly states the action ('Download an inline image') and specifies the source ('from a Zoho task description URL') and destination ('to a local file'). It also adds usage context ('screenshots/images embedded in task descriptions'), but does not explicitly distinguish from sibling tools like extract_inline_images or download_task_images.

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

    Usage Guidelines4/5

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

    The line 'Use this to download screenshots/images embedded in task descriptions' provides clear context for when to use the tool, but it does not mention alternatives or exclusions, so it stops short of a full comparative guideline.

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

  • Behavior2/5

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

    No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only states the delete action and the WorkDrive parameter mapping (which is redundant with the schema). It does not disclose whether deletion is permanent, any permission requirements, or what side effects occur (e.g., whether the underlying file is removed in WorkDrive). This is a significant gap 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.

    Conciseness5/5

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

    The description is extremely concise: one main sentence and a short additional note. All text is front-loaded and directly on point. While the second sentence partially restates schema info, it is short and serves to emphasize a special case, so it does not feel wasteful. No filler or unnecessary 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?

    The tool is simple, and the schema covers all parameters. However, with no output schema and no annotations, the description should clarify what the response looks like or whether deletion is permanent. It is adequate as a minimum viable description but leaves out expected behavioral outcomes. For a delete operation, agents often need to know if the action is reversible or what confirmation is returned.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the schema already documents all three parameters including the WorkDrive note. The description adds no new parameter semantics beyond what's already in the schema. It is a baseline 3: schema does the heavy lifting, description adds nothing extra.

    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 a specific verb and resource: 'Delete an attachment from a task.' This unambiguously distinguishes it from sibling tools like upload_task_attachment or list_task_attachments. The scope is precise, and the WorkDrive note adds clarifying context without muddying the purpose.

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

    Usage Guidelines4/5

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

    The description makes it clear when to use this tool: when you need to delete an attachment. It doesn't explicitly mention alternatives, but the context is straightforward and no exclusions are stated. The WorkDrive instruction also provides a usage nuance. It could be improved by explicitly saying 'not for listing' but the operation is obvious.

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

  • Behavior3/5

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

    There are no annotations, so the description carries the full burden of behavioral disclosure. It states that the tool 'searches through tasks to find a match,' implying it returns a single match, but it does not describe behavior when multiple tasks share a prefix or when no match exists. This is minimal disclosure for a search-like operation.

    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 two short sentences, immediately stating the search mechanism and providing a concrete example. There is no redundancy or filler, and every sentence earns its place.

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

    Completeness3/5

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

    With no output schema and no annotations, the description must clarify return behavior and limits. It explains the match criterion but omits how ambiguity is resolved, what happens on no match, and the shape of the returned task object. For a simple lookup, it is adequate but not fully complete.

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

    Parameters3/5

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

    Schema coverage is 100%: both parameters have clear descriptions, including 'project_id' being optional with portal-wide search. The description adds a useful format example for the prefix, but it largely repeats the schema's information and provides no additional semantics beyond the structured definitions.

    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 tool's action with a specific verb ('Find and get'), a resource ('task'), and a distinct mechanism ('by its prefix/key'). The concrete example 'CA6-T282' differentiates it from sibling tools like get_task or list_tasks, making its purpose unambiguous.

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

    Usage Guidelines3/5

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

    The description implies a usage context: when a partial task key is known. However, it does not explicitly contrast this with get_task (exact ID) or search (full-text), and no when-not-to-use guidance is provided. The intended use is inferable but not openly stated.

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

  • Behavior3/5

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

    With no annotations, the description carries the full burden. It discloses the main behavior (downloads images, saves to a local directory, returns mapping) but omits potential side effects such as file overwriting, directory creation, or handling of missing images. It is transparent about the core action but not exhaustive.

    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 two concise sentences that state the action and the return value without any filler. Every word contributes meaning, and it is well-structured for quick scanning.

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

    Completeness4/5

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

    For a tool with 3 straightforward parameters and no output schema, the description adequately covers the purpose, input (task description), and return value (mapping). It lacks some edge-case context but is sufficient for basic selection and invocation. The presence of sibling tools suggests more detail on differentiation could enhance completeness, but it is not critical.

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

    Parameters3/5

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

    Schema description coverage is 100%, so each parameter already has a clear description. The tool description adds no additional parameter context beyond restating that images are saved to a local directory, which aligns with output_dir. It does not go 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 clearly states a specific verb ('Download') with a specific resource ('all inline images from a task description') and destination ('to a local directory'). It also distinguishes from sibling tools like 'download_inline_image' (singular) by specifying 'all inline images' and the return mapping.

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

    Usage Guidelines3/5

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

    The description implies the usage context (downloading all inline images from a task description) but does not explicitly mention when to use this tool over alternatives like 'download_inline_image' or 'extract_inline_images'. There is no direct comparison or exclusionary guidance.

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

  • Behavior3/5

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

    With no annotations, the description carries the burden. It indicates a read-only operation ('Retrieve all'), but does not disclose potential pagination, response size, or authentication requirements. For a simple list-all with no parameters, this is adequate but not rich.

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

    Conciseness5/5

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

    The description is a single, compact sentence with no redundant words. It front-loads the action and resource, achieving maximum conciseness.

    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 (no params, no output schema), the description sufficiently communicates the action and scope. However, it does not describe the return structure or any pagination behavior, which would be a minor gap for richer context.

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

    Parameters4/5

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

    The tool has zero parameters and the schema is empty (100% coverage by default). The description implies no filtering is needed ('all portals'), aligning with the schema. Baseline for 0 params is 4, and the description adds slight semantic confirmation.

    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 'Retrieve' and the resource 'all Zoho Projects portals', making it unambiguous. This distinguishes it from siblings like get_portal (single portal) and list_projects (different resource).

    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 get_portal or list_projects. There are no explicit alternatives or exclusions, leaving the agent to infer usage context.

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

  • Behavior3/5

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

    With no annotations available, the description carries the full burden. It clearly indicates a read operation ('List'), but does not disclose any additional behavior such as ordering, inclusion of custom statuses, or permission requirements. For a simple list tool this is adequate but minimal.

    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?

    One concise sentence with no wordiness. The key action ('List') leads, and the resource and scope are clear. Every word earns its place.

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

    Completeness4/5

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

    For a simple tool with one parameter and no output schema, the description is nearly complete. It adequately conveys the purpose and scope. It could have hinted at the return format, but the name 'list_statuses' and verb 'List' strongly imply a list return, so no significant gap exists.

    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 already describes 'project_id' as 'Project ID', providing 100% coverage. The description only restates that statuses are 'for a project', adding no new meaning about the parameter's format or constraints. The baseline 3 applies because schema coverage is complete.

    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 uses a specific verb ('List') and resource ('task statuses') with a clear scope ('for a project'). It distinguishes itself from sibling listing tools like list_tasks and list_phases by naming the specific resource.

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

    Usage Guidelines3/5

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

    The description implies when to use the tool (when needing statuses for a project) but provides no explicit guidance on alternatives or exclusions. It does not mention when not to use it or point to sibling tools, so it remains implied rather than stated.

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

  • Behavior2/5

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

    With no annotations, the description carries the full burden of behavioral disclosure. It only states 'List users', which implies read-only but does not mention potential pagination, required permissions, or any other side effects or return characteristics. The portal/project scoping is the only behavioral nuance disclosed.

    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 with no redundant words. It communicates both the action and the scoping in an efficient manner.

    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 optional parameter, no output schema), the description covers the core purpose and scope adequately. However, it lacks any mention of return value structure or pagination, which would be helpful for an agent, so it is not a perfect 5.

    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 input schema covers the project_id parameter fully, including its optionality for portal-level, and the tool description reinforces this by mentioning 'portal or project'. No additional parameter-level detail is added beyond the schema, so the baseline score of 3 is appropriate.

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

    Purpose5/5

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

    The description uses a specific verb+resource construction, 'List users in a portal or project', clearly identifying the resource and scope. This distinguishes it from sibling tools like list_portals and list_projects, which operate on different resources.

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

    Usage Guidelines4/5

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

    The description provides clear context that the tool can be used for portal-level or project-level user listing, and the optional project_id parameter aligns with this dual scope. However, it does not explicitly state when not to use it or mention alternatives, though no overlapping user-listing siblings exist.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It discloses the creation of project.json and an images/ folder with downloaded attachments, but does not mention potential side effects like overwriting existing files, required permissions, or rate limits. This is basic behavioral info but lacks depth.

    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 extremely concise—two sentences—with the main action front-loaded. Every word earns its place, and there is no redundant or extraneous information.

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

    Completeness4/5

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

    For a tool with 3 parameters and no output schema, the description explains the core behavior, output artifacts, and a usage scenario. It lacks edge-case details like error handling or behavior when the output directory exists, but it is sufficient for typical use cases.

    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 covers 100% of parameters with descriptions. The description text adds some context by mentioning the output structure (project.json and images/ subfolder), but this largely repeats the schema's own description for output_dir. No new meaning is added 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 clearly states the tool's function with a specific verb and resource: 'Export an entire Zoho project to a local directory.' It also specifies the output format and contents (project.json and images/ folder), which distinguishes it from sibling tools like get_project or download_task_images.

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

    Usage Guidelines4/5

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

    The description explicitly states when to use this tool: 'Use this for importing projects into other systems.' This provides clear context, though it does not name specific alternative tools or exclusions, so it stops short of a full 5.

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

  • Behavior3/5

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

    With no annotations, the description carries the full burden. It indicates the output is a list of URLs 'that can be downloaded', implying this tool does not download them, but it does not explicitly state read-only behavior, side effects, or any prerequisites. Adequate but basic.

    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?

    Two sentences with no wasted words: the first states the action and input, the second states the output. Perfectly 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?

    For a one-parameter tool with no output schema, the description covers input, action, and output type. It lacks detail on the exact structure of the returned list and edge cases, but it is sufficient for a straightforward extraction task.

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

    Parameters3/5

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

    Schema coverage is 100% and the parameter description 'The task description HTML to extract image URLs from' is clear. The tool description adds no extra parameter detail beyond the schema, so it meets the baseline for high coverage.

    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 'Extract' and the resource 'inline image URLs from a task description HTML', and specifies the output as a list of Zoho image URLs. This distinguishes it from sibling tools like download_inline_image and download_task_images, which focus on downloading rather than extraction.

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

    Usage Guidelines4/5

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

    The description implies use when the agent needs to extract image URLs without downloading, and the sibling context shows download-specific tools. However, it does not explicitly mention alternatives or exclusions, so it stops short of a full 5.

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

  • Behavior4/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 disclosing behavioral traits. It warns that start_date and end_date are required by the API, which is a non-obvious constraint not reflected in the schema (they are listed as optional properties). This adds valuable context about how the API behaves. It does not cover other aspects like response format or auth, but the key gotcha is addressed.

    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 two sentences long and front-loaded with the purpose. The second sentence delivers a crucial warning without unnecessary elaboration. Every word earns its place, and it is easily scannable.

    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 moderate complexity (7 parameters, no output schema, no annotations), the description adequately covers the essential context: what the tool does and a key prerequisite. It does not explain the response format, but for an update operation this is less critical. The main gap is the lack of explicit guidance on how to obtain IDs, but that is not a requirement for a basic description. Overall, the description is sufficient for an agent to understand how to use the tool correctly.

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

    Parameters4/5

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

    The schema already covers all parameters with descriptions, so the baseline is 3. The description adds extra semantic value by explicitly stating that start_date and end_date must be included in the update call, even though the schema marks them as optional. This is a significant clarification for correctly invoking the tool.

    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 tool's function: 'Update a phase/milestone.' This is a specific verb and resource, and it distinguishes the tool from sibling tools like create_phase, delete_phase, and list_phases. The purpose is immediately clear without ambiguity.

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

    Usage Guidelines4/5

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

    The description provides clear operational guidance by highlighting a critical API requirement: 'start_date and end_date are required by the Zoho REST API for updates.' This tells the user when they need to supply additional fields beyond the schema's required ones. However, it does not explicitly mention alternatives or when not to use the tool, so it lacks exclusionary guidance.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

zoho-projects-mcp MCP server

Copy to your README.md:

Score Badge

zoho-projects-mcp MCP server

Copy to your README.md:

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/andrewcraigmorgan/zoho-projects-mcp'

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