Skip to main content
Glama
effytech

Freshservice MCP server

by effytech

Freshservice MCP Server

Overview

A powerful MCP (Model Context Protocol) server implementation that seamlessly integrates with Freshservice, enabling AI models to interact with Freshservice modules and perform various IT service management operations. This integration bridge empowers your AI assistants to manage and resolve IT service tickets, streamlining your support workflow.

Related MCP server: freshservice-mcp

Key Features

  • Enterprise-Grade Freshservice Integration: Direct, secure communication with Freshservice API endpoints

  • AI Model Compatibility: Enables Claude and other AI models to execute service desk operations through Freshservice

  • Automated ITSM Management: Efficiently handle ticket creation, updates, responses, and asset management

  • Workflow Acceleration: Reduce manual intervention in routine IT service tasks

Supported Freshservice Modules

This MCP server currently supports operations across a wide range of Freshservice modules:

  • Tickets

  • Changes

  • Conversations

  • Products

  • Requesters

  • Agents

  • Agent Groups

  • Requester Groups

  • Canned Responses

  • Canned Response Folders

  • Workspaces

  • Solution Categories

  • Solution Folders

  • Solution Articles

Components & Tools

The server provides a comprehensive toolkit for Freshservice operations:

Ticket Management

Tool

Description

Key Parameters

create_ticket

Create new service tickets

subject, description, source, priority, status, email

update_ticket

Update existing tickets

ticket_id, updates

delete_ticket

Remove tickets

ticket_id

filter_tickets

Find tickets matching criteria

query

get_ticket_fields

Retrieve ticket field definitions

None

get_tickets

List all tickets with pagination

page, per_page

get_ticket_by_id

Retrieve single ticket details

ticket_id

Change Management

Tool

Description

Key Parameters

get_changes

List all changes with pagination

page, per_page, query

filter_changes

Filter changes with advanced queries

query, page, per_page

get_change_by_id

Retrieve single change details

change_id

create_change

Create new change request

requester_id, subject, description, priority, impact, status, risk, change_type

update_change

Update existing change

change_id, change_fields

close_change

Close change with result explanation

change_id, change_result_explanation

delete_change

Remove change

change_id

get_change_tasks

Get tasks for a change

change_id

create_change_note

Add note to change

change_id, body

🚨 Important: Query Syntax for Filtering

When using get_changes or filter_changes with the query parameter, the query string must be wrapped in double quotes for the Freshservice API to work correctly:

CORRECT: "status:3", "approval_status:1 AND status:<6"
WRONG: status:3 (will cause 500 Internal Server Error)

Common Query Examples:

  • "status:3" - Changes awaiting approval

  • "approval_status:1" - Approved changes

  • "approval_status:1 AND status:<6" - Approved changes that are not closed

  • "planned_start_date:>'2025-07-14'" - Changes starting after specific date

  • "status:3 AND priority:1" - High priority changes awaiting approval

Getting Started

Installing via Smithery

To install freshservice_mcp automatically via Smithery:

npx -y @smithery/cli install @effytech/freshservice_mcp --client claude

Prerequisites

  • A Freshservice account (sign up at freshservice.com)

  • Freshservice API key

  • uvx installed (pip install uv or brew install uv)

Configuration

  1. Generate your Freshservice API key from the admin panel:

    • Navigate to Profile Settings → API Settings

    • Copy your API key for configuration

  2. Set up your domain and authentication details as shown below

Usage with Claude Desktop

  1. Install Claude Desktop from the official website

  2. Add the following configuration to your claude_desktop_config.json:

"mcpServers": {
  "freshservice-mcp": {
    "command": "uvx",
    "args": [
        "freshservice-mcp"
    ],
    "env": {
      "FRESHSERVICE_APIKEY": "<YOUR_FRESHSERVICE_APIKEY>",
      "FRESHSERVICE_DOMAIN": "<YOUR_FRESHSERVICE_DOMAIN>"
    }
  }
}

Important: Replace <YOUR_FRESHSERVICE_APIKEY> with your actual API key and <YOUR_FRESHSERVICE_DOMAIN> with your domain (e.g., yourcompany.freshservice.com)

Example Operations

Once configured, you can ask Claude to perform operations like:

Tickets:

  • "Create a new incident ticket with subject 'Network connectivity issue in Marketing department' and description 'Users unable to connect to Wi-Fi in Marketing area', set priority to high"

  • "List all critical incidents reported in the last 24 hours"

  • "Update ticket #12345 status to resolved"

Changes:

  • "Create a change request for scheduled server maintenance next Tuesday at 2 AM"

  • "Update the status of change request #45678 to 'Approved'"

  • "Close change #5092 with result explanation 'Successfully deployed to production. All tests passed.'"

  • "List all pending changes"

Other Operations:

  • "Show asset details for laptop with asset tag 'LT-2023-087'"

  • "Create a solution article about password reset procedures"

Testing

For testing purposes, you can start the server manually:

uvx freshservice-mcp --env FRESHSERVICE_APIKEY=<your_api_key> --env FRESHSERVICE_DOMAIN=<your_domain>

Troubleshooting

  • Verify your Freshservice API key and domain are correct

  • Ensure proper network connectivity to Freshservice servers

  • Check API rate limits and quotas

  • Verify the uvx command is available in your PATH

License

This MCP server is licensed under the MIT License. See the LICENSE file in the project repository for full details.

Additional Resources


Available Tools

59 tools
add_requester_to_groupC

Add a requester to a manual requester group in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYes
requester_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action is an 'Add' operation, implying a mutation, but doesn't cover critical aspects like required permissions, whether the operation is idempotent, error conditions (e.g., if requester already in group), or rate limits. This is a significant gap for a mutation tool with zero annotation coverage.

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

Conciseness5/5

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

The description is a single, efficient sentence with zero waste. It's front-loaded with the core action and resource, making it easy to parse quickly without unnecessary elaboration.

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 has an output schema (which reduces the need to describe return values) but no annotations and low parameter coverage, the description is minimally adequate. It states the basic purpose but lacks usage guidelines, behavioral details, and parameter semantics, making it incomplete for effective agent use without additional context.

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

Parameters2/5

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

Schema description coverage is 0%, so the schema provides no parameter details. The description mentions 'requester' and 'group' but doesn't explain what 'group_id' and 'requester_id' represent, their formats, or where to obtain them. It fails to compensate for the lack of schema documentation, leaving parameters largely unexplained.

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 ('Add') and the target ('a requester to a manual requester group in Freshservice'), providing a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'list_requester_group_members' or 'update_requester_group', which could handle similar operations, leaving room for improvement in sibling distinction.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., existing group and requester), exclusions, or compare to siblings like 'create_requester_group' or 'update_requester_group', leaving the agent without context for tool selection.

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

create_agentC

Create a new agent in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailNo
first_nameYes
job_titleNo
last_nameNo
mobile_phone_numberNo
occasionalNo
work_phone_numberNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure but offers minimal information. It states this is a creation operation, implying it's a write/mutation tool, but doesn't describe what happens upon creation (e.g., whether the agent becomes active immediately, what permissions are granted, or if there are side effects like email notifications). It also doesn't mention authentication requirements, rate limits, or error conditions, leaving significant gaps 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, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded with the core action and resource, making it easy to parse quickly. There is no wasted verbiage or redundant information, achieving optimal conciseness for such a straightforward statement.

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

Completeness2/5

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

Given the complexity (a mutation tool with 7 parameters), lack of annotations, and 0% schema description coverage, the description is incomplete. While an output schema exists (which might describe the created agent), the description doesn't address critical aspects like behavioral traits, parameter meanings, or usage context. For a tool that creates agents—likely involving permissions and system changes—this minimal description leaves too much undefined for effective agent use.

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 description coverage is 0%, so the description must compensate but adds no parameter information. It doesn't explain what parameters like 'occasional' or 'mobile_phone_number' mean in context, nor does it clarify required vs. optional fields beyond what the schema indicates. However, with 7 parameters and 1 required, the baseline is 3 since the schema provides structure, but the description fails to add meaningful semantics to aid understanding.

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 ('Create') and resource ('a new agent in Freshservice'), making the purpose immediately understandable. It distinguishes from sibling tools like 'update_agent' or 'filter_agents' by specifying creation rather than modification or querying. However, it doesn't explicitly differentiate from 'create_requester' or other creation tools in the sibling list, which would require more specific context about what an 'agent' represents in Freshservice.

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 doesn't mention prerequisites (e.g., permissions needed), when not to use it (e.g., for updating existing agents), or how it differs from similar creation tools like 'create_requester' or 'create_group'. The agent must infer usage from the tool name alone without contextual help.

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

create_groupC

Create a group in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
group_dataYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. While 'Create' implies a write/mutation operation, the description doesn't disclose any behavioral traits like required permissions, whether the operation is idempotent, what happens on conflicts, or what the response contains. This is inadequate for a mutation tool with zero annotation coverage.

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

Conciseness5/5

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

The description is extremely concise at just 5 words, front-loading the essential information with zero wasted words. Every word earns its place in communicating 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?

For a mutation tool with no annotations, 0% schema description coverage, and a complex nested parameter object, the description is insufficiently complete. While an output schema exists (which helps with return values), the description doesn't address critical aspects like required permissions, data format expectations, or differentiation from sibling tools.

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

Parameters2/5

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

With 0% schema description coverage and a single parameter ('group_data') that's an object with 'additionalProperties: true', the description provides no semantic information about what data should be included. It doesn't mention required fields, format expectations, or examples of valid group data, leaving the parameter completely undocumented.

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

Purpose4/5

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

The description clearly states the verb ('Create') and resource ('a group in Freshservice'), making the purpose immediately understandable. However, it doesn't differentiate this tool from sibling tools like 'create_requester_group' or 'update_group', which would require more specificity about what type of group this creates.

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. With sibling tools like 'create_requester_group' and 'update_group' available, there's no indication of when this specific group creation tool is appropriate versus those other options.

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

create_productC

Create a product in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
asset_type_idYes
depreciation_type_idNo
descriptionNo
description_textNo
manufacturerNo
mode_of_procurementNo
nameYes
statusNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states this is a creation operation but doesn't mention required permissions, whether the operation is idempotent, what happens on duplicate names, or what the response contains. For a mutation tool with zero annotation coverage, this leaves significant behavioral gaps.

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

Conciseness5/5

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

The description is a single, efficient sentence that gets straight to the point with zero wasted words. It's appropriately sized for a basic tool description and front-loads the essential information.

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 this is a mutation tool with 8 parameters, 0% schema coverage, no annotations, but with an output schema present, the description is incomplete. While the output schema may cover return values, the description should provide more context about the creation operation, parameter meanings, and usage scenarios to be truly complete.

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

Parameters2/5

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

With 0% schema description coverage and 8 parameters (2 required), the description provides no information about any parameters. It doesn't mention the required 'name' and 'asset_type_id' fields or optional fields like 'manufacturer' or 'status'. The description fails to compensate for the complete lack of schema documentation.

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

Purpose4/5

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

The description clearly states the verb ('Create') and resource ('product in Freshservice'), making the purpose immediately understandable. It distinguishes from sibling tools like 'update_product' by focusing on creation rather than modification, though it doesn't explicitly contrast with other creation tools like 'create_agent' or 'create_ticket'.

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 doesn't mention prerequisites, appropriate contexts, or when other tools like 'update_product' or 'get_all_products' might be more suitable. The agent must infer usage from the tool name alone.

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

create_requesterC

Creates a requester in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressNo
background_informationNo
can_see_all_tickets_from_associated_departmentsNo
custom_fieldsNo
department_idsNo
first_nameYes
job_titleNo
languageNo
last_nameNo
location_idNo
mobile_phone_numberNo
primary_emailNo
reporting_manager_idNo
secondary_emailsNo
time_formatNo
time_zoneNo
work_phone_numberNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. While 'Creates' implies a write operation, it lacks details on permissions needed, whether the operation is idempotent, what happens on duplicate entries, or error handling. For a mutation tool with 17 parameters and no annotation coverage, this is a significant gap in transparency.

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, efficient sentence with no wasted words. It's appropriately sized for a basic purpose statement, though its brevity contributes to gaps in other dimensions like guidelines and parameter semantics.

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

Completeness2/5

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

Given the complexity (17 parameters, 1 required, mutation operation) and lack of annotations, the description is insufficient. While an output schema exists (which might cover return values), the description doesn't address critical aspects like parameter meanings, usage context, or behavioral traits, making it incomplete for effective tool selection and invocation.

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

Parameters1/5

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

The schema description coverage is 0%, meaning none of the 17 parameters have descriptions in the schema. The tool description provides no information about parameters, not even mentioning key fields like 'first_name' (the only required parameter) or optional ones. This fails to compensate for the lack of schema documentation, leaving parameters entirely unexplained.

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 ('Creates') and resource ('a requester in Freshservice'), making the purpose unambiguous. However, it doesn't differentiate this tool from sibling tools like 'add_requester_to_group' or 'update_requester', which would require more specific context about when to create versus modify or associate requesters.

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. With sibling tools like 'update_requester', 'filter_requesters', and 'get_all_requesters', there's no indication of prerequisites (e.g., when a requester doesn't exist), exclusions, or comparative use cases, leaving the agent to infer usage from context alone.

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

create_requester_groupB

Create a requester group in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
descriptionNo
nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. 'Create' implies a write/mutation operation, but the description doesn't mention permissions required, whether this is idempotent, what happens on duplicate names, or what the output contains. For a creation tool with zero annotation coverage, this leaves significant behavioral unknowns that could affect agent decisions.

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, efficient sentence with zero wasted words. It's front-loaded with the core action and resource, making it immediately scannable. Every word earns its place by establishing the essential what and where of the 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 that an output schema exists, the description doesn't need to explain return values. However, for a creation tool with no annotations, 0% schema description coverage, and multiple sibling tools, the description should provide more context about when and how to use it. The presence of an output schema helps, but behavioral and usage gaps remain 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?

Schema description coverage is 0%, so the schema provides no parameter descriptions. The tool description doesn't mention parameters at all, leaving both 'name' and 'description' completely undocumented. However, with only 2 parameters (one required) and no complex types, the agent can reasonably infer basic usage from the tool name and schema structure alone, meeting the minimum viable baseline.

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 ('Create') and resource ('a requester group in Freshservice'), making the purpose immediately understandable. It distinguishes this from other creation tools like 'create_agent' or 'create_group' by specifying the resource type. However, it doesn't explicitly differentiate from 'update_requester_group' or explain what a 'requester group' is, keeping it from a perfect score.

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. With sibling tools like 'update_requester_group' and 'add_requester_to_group', there's no indication of prerequisites, when creation is appropriate versus updating, or how this relates to other requester management operations. The agent must infer usage context from the tool name alone.

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

create_service_requestC

Create a service request in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
display_idYes
emailYes
quantityNo
requested_forNo

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. While 'Create' implies a write/mutation operation, the description doesn't mention required permissions, whether this is idempotent, what happens on duplicate requests, or what the response contains. For a creation tool with zero annotation coverage, this leaves critical behavioral traits unspecified.

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

Conciseness5/5

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

The description is a single, direct sentence with zero wasted words. It's perfectly front-loaded with the core action and target system, making it immediately scannable and 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 creation tool with 4 parameters (2 required), 0% schema coverage, no annotations, and no output schema, the description is severely incomplete. It doesn't explain what a service request is, what parameters are needed, what the tool returns, or how it differs from similar creation tools. The agent would struggle to use this tool correctly without additional context.

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

Parameters1/5

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

Schema description coverage is 0%, meaning none of the 4 parameters have descriptions in the schema. The tool description provides no information about what parameters are needed, what 'display_id' or 'requested_for' mean, or how they should be formatted. The description fails to compensate for the complete lack of schema documentation.

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 ('Create') and resource ('service request in Freshservice'), making the purpose immediately understandable. However, it doesn't differentiate this tool from sibling tools like 'create_ticket' or 'create_requester', which could cause confusion about when to use each specific creation tool.

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 about when to use this tool versus alternatives like 'create_ticket' or 'create_requester'. With multiple creation tools in the sibling list, the agent has no indication of what distinguishes a 'service request' from other Freshservice entities, leaving usage context entirely implicit.

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

create_solution_articleC

Create a new solution article in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
article_typeNo
descriptionYes
folder_idYes
keywordsNo
review_dateNo
statusNo
tagsNo
titleYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. While 'Create' implies a write/mutation operation, the description doesn't mention required permissions, whether this operation is idempotent, what happens on failure, or any rate limits. It also doesn't describe the output format despite having an output schema.

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, efficient sentence that gets straight to the point with zero wasted words. It's appropriately sized for a basic creation operation and front-loads the essential 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?

For a creation tool with 8 parameters (3 required), no annotations, and 0% schema description coverage, the description is severely incomplete. While an output schema exists, the description doesn't address parameter meanings, behavioral aspects, or usage context, leaving significant gaps for the agent to understand how to properly invoke this tool.

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

Parameters1/5

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

With 0% schema description coverage for 8 parameters (3 required), the description provides absolutely no information about what parameters mean or how they should be used. The description doesn't mention any parameters at all, leaving all parameter semantics undocumented.

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 ('Create') and resource ('new solution article in Freshservice'), making the purpose immediately understandable. However, it doesn't differentiate this tool from similar creation tools like 'create_solution_category' or 'create_solution_folder', which would require specifying what a 'solution article' is versus those other entities.

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. With many sibling tools including other creation tools (e.g., create_solution_category, create_solution_folder) and update tools (e.g., update_solution_article), there's no indication of prerequisites, appropriate contexts, or distinctions between these operations.

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

create_solution_categoryB

Create a new solution category in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
descriptionNo
nameYes
workspace_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. While 'Create' implies a write/mutation operation, the description doesn't address permissions needed, whether this action is reversible, rate limits, or what happens on success/failure. For a mutation tool with zero annotation coverage, this leaves significant behavioral gaps.

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

Conciseness5/5

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

The description is a single, efficient sentence that gets straight to the point with zero wasted words. It's appropriately sized for a simple creation tool and front-loads the essential information.

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 that an output schema exists (which handles return values), the description doesn't need to explain outputs. However, for a mutation tool with no annotations, 0% schema description coverage, and multiple similar sibling tools, the description should provide more context about usage, parameters, and behavioral characteristics to be truly complete.

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

Parameters3/5

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

Schema description coverage is 0%, so the schema provides no parameter descriptions. The tool description mentions no parameters at all, failing to compensate for the schema gap. However, with only 3 parameters (name, description, workspace_id) and one required, the complexity is low, making the baseline 3 appropriate despite the lack of parameter information in the description.

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

Purpose4/5

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

The description clearly states the action ('Create') and resource ('solution category in Freshservice'), making the purpose immediately understandable. However, it doesn't differentiate this from sibling tools like 'create_solution_folder' or 'create_solution_article', which would require more specific context about what a solution category represents versus those other entities.

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. With multiple sibling 'create_' tools (e.g., create_solution_article, create_solution_folder, create_product), there's no indication of the specific context or prerequisites for creating a solution category rather than other Freshservice entities.

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

create_solution_folderC

Create a new folder under a solution category in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
category_idYes
department_idsYes
descriptionNo
nameYes
visibilityNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states this is a creation operation but doesn't mention required permissions, whether the operation is idempotent, what happens on failure, or what the output contains. For a write operation with zero annotation coverage, this leaves significant behavioral gaps.

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

Conciseness5/5

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

The description is a single, efficient sentence that gets straight to the point with no wasted words. It's appropriately sized for a basic creation operation and front-loads the essential information.

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?

While the description is concise and clear about the basic purpose, it's incomplete for a 5-parameter write operation with no annotations. The presence of an output schema helps (so the description doesn't need to explain return values), but the lack of parameter guidance, behavioral context, and usage guidelines leaves significant gaps.

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

Parameters2/5

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

With 0% schema description coverage for all 5 parameters, the description provides no additional semantic information about what 'category_id', 'department_ids', 'description', 'name', or 'visibility' mean or how they should be used. The description mentions 'under a solution category' which hints at 'category_id' but doesn't explain its purpose or format.

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 ('Create a new folder') and resource ('under a solution category in Freshservice'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like 'create_solution_category' or 'create_solution_article', but the specificity of 'folder under a solution category' provides some implicit distinction.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'create_solution_category' (for creating categories rather than folders) or 'create_solution_article' (for creating articles within folders). There's no mention of prerequisites, dependencies, or appropriate contexts for folder creation.

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

create_ticketC

Create a ticket in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
custom_fieldsNo
descriptionYes
emailNo
priorityYes
requester_idNo
sourceYes
statusYes
subjectYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states 'Create a ticket' which implies a write/mutation operation, but doesn't mention authentication requirements, rate limits, side effects, or what happens on success/failure. For a tool with 8 parameters and no annotation coverage, this is a significant gap in 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, efficient sentence that states the core purpose without unnecessary words. It's appropriately sized for a basic tool description and front-loads the essential information.

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

Completeness2/5

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

Given the tool creates tickets (a mutation operation) with 8 parameters (5 required), no annotations, and 0% schema description coverage, the description is insufficiently complete. While an output schema exists, the description doesn't provide necessary context about authentication, error handling, or parameter usage that would help an agent use this tool effectively.

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

Parameters1/5

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

Schema description coverage is 0%, meaning none of the 8 parameters have descriptions in the schema. The tool description provides no information about any parameters, their meanings, formats, or constraints. This leaves all parameter semantics undocumented, which is inadequate for a tool with multiple required parameters.

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 ('Create') and resource ('a ticket in Freshservice'), making the purpose immediately understandable. It doesn't differentiate from sibling tools like 'create_service_request' or 'create_ticket_note', but it's specific enough to identify the core 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 alternatives like 'create_service_request' or 'create_ticket_note'. The description lacks any context about prerequisites, typical use cases, or exclusions, leaving the agent to infer usage from the tool name alone.

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

create_ticket_noteC

Create a note for a ticket in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes
ticket_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
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 but fails to do so. It doesn't indicate whether this is a read-only or mutating operation, what permissions are required, how the note affects the ticket, or any rate limits/error conditions. This is inadequate for a tool that presumably creates data.

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, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded with the essential information.

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

Completeness2/5

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

Given the tool's complexity (a creation operation with 2 parameters), lack of annotations, and presence of an output schema, the description is incomplete. It doesn't explain behavioral aspects, usage context, or what the output might contain, leaving significant gaps for the agent to understand how to properly invoke 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 description provides no parameter information beyond what's implied by the tool name, and with 0% schema description coverage, the schema only documents parameter names and types. However, since there are only 2 parameters (ticket_id and body), their purpose is reasonably inferable from context, meeting the baseline for minimal parameter count.

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 ('Create a note') and target resource ('for a ticket in Freshservice'), providing a specific verb+resource combination. However, it doesn't differentiate from sibling tools like 'send_ticket_reply' or 'update_ticket_conversation' that might also involve ticket communication, which prevents a perfect score.

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. The description doesn't mention prerequisites, constraints, or when to choose this over similar tools like 'send_ticket_reply' or 'update_ticket_conversation', leaving the agent without usage context.

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

delete_ticketC

Delete a ticket in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
ticket_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It states the tool deletes a ticket, implying a destructive mutation, but doesn't disclose critical behavioral traits such as whether deletion is permanent, requires specific permissions, has side effects (e.g., affecting related records), or returns confirmation details. 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 a single, efficient sentence with no wasted words, clearly front-loading the core action. It's appropriately sized for a simple tool, though it lacks depth.

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 destructive nature, no annotations, and an output schema (which might cover return values), the description is incomplete. It doesn't address safety, permissions, or behavioral context, leaving critical gaps for an AI agent to use it correctly and safely.

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 1 parameter with 0% description coverage, and the description adds no semantic information about 'ticket_id' (e.g., format, source, or validation). However, with only one parameter and a straightforward name, the baseline is 3 as the schema minimally defines it, though the description fails to compensate for the coverage gap.

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 ('Delete') and resource ('a ticket in Freshservice'), making the purpose unambiguous. It distinguishes from siblings like 'create_ticket' and 'update_ticket' by specifying deletion, though it doesn't explicitly contrast with other deletion-related tools (none are listed).

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 doesn't mention prerequisites (e.g., needing a valid ticket_id), exclusions (e.g., not for bulk deletion), or related tools like 'update_ticket' for modifications instead of deletion.

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

filter_agentsC

Filter Freshservice agents based on a query.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only states the basic action without disclosing behavioral traits. It doesn't mention if this is a read-only operation, what permissions are needed, how results are returned (e.g., pagination), or error handling, which is inadequate for a tool with query functionality.

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, efficient sentence with no wasted words. It's front-loaded with the core action and resource, making it easy to parse quickly, though this brevity contributes to gaps in other dimensions.

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

Completeness3/5

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

Given the tool has an output schema (which handles return values), low complexity (1 parameter), and no annotations, the description is minimally complete but lacks depth. It covers the basic purpose but misses usage context, parameter details, and behavioral transparency, making it only adequate for simple inference.

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

Parameters2/5

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

Schema description coverage is 0%, and the description adds minimal meaning beyond the schema. It mentions 'based on a query' but doesn't explain what the query parameter expects (e.g., syntax, supported fields, examples). This fails to compensate for the lack of schema documentation.

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

Purpose3/5

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

The description states the action ('filter') and resource ('Freshservice agents'), but is vague about what 'filter' entails compared to similar tools like 'get_all_agents'. It doesn't specify if it's for searching, filtering by attributes, or something else, making it less distinct from siblings.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'get_all_agents' or 'get_agent'. The description implies usage for query-based filtering but doesn't specify scenarios, prerequisites, or exclusions, leaving the agent to guess based on context.

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

filter_requestersC

Filter requesters in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
include_agentsNo
queryYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It mentions 'Filter' but doesn't disclose behavioral traits like whether it's read-only or mutative, permission requirements, rate limits, pagination, or what the output contains. For a tool with no annotations, this leaves significant gaps in understanding its 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, efficient sentence with no wasted words. It's front-loaded and appropriately sized for the tool's apparent complexity, making it easy to parse quickly.

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 has an output schema (which reduces the need to describe return values), no annotations, and low schema coverage, the description is incomplete. It states the basic purpose but lacks details on usage, parameters, and behavior, making it minimally adequate but with clear gaps for effective tool selection and invocation.

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

Parameters2/5

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

Schema description coverage is 0%, so the schema provides no parameter descriptions. The tool description adds no information about the parameters ('include_agents' and 'query'), such as what the query syntax is or what 'include_agents' means in context. With low coverage and no compensation in the description, it fails to clarify parameter meanings.

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

Purpose3/5

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

The description 'Filter requesters in Freshservice' states a verb ('Filter') and resource ('requesters'), but it's vague about what filtering entails (e.g., search, list with criteria) and doesn't differentiate from sibling tools like 'get_all_requesters' or 'filter_agents'. It provides a basic purpose but lacks specificity.

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 'get_all_requesters' (which might list all requesters without filtering) or 'filter_agents' (for filtering agents instead). The description implies usage for filtering requesters but offers no explicit context, exclusions, or comparisons to siblings.

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

filter_ticketsC

Filter the tickets in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
queryYes
workspace_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden but only states the action without disclosing behavioral traits. It doesn't cover whether this is a read-only operation, if it requires authentication, rate limits, pagination behavior (implied by 'page' parameter but not explained), or output format, leaving significant gaps for agent understanding.

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, straightforward sentence with no wasted words, making it highly concise and front-loaded. However, this conciseness comes at the cost of completeness, as it under-specifies critical details.

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

Completeness2/5

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

Given the tool has 3 parameters with 0% schema coverage, no annotations, and an output schema (which helps but isn't described), the description is incomplete. It lacks purpose differentiation, usage guidelines, parameter semantics, and behavioral context, making it inadequate for an agent to use the tool effectively despite the output schema.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate but adds no parameter information. It doesn't explain what 'query', 'page', or 'workspace_id' mean, their formats, or how they affect filtering, failing to provide semantic context beyond the bare schema.

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

Purpose2/5

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

The description 'Filter the tickets in Freshservice' restates the tool name 'filter_tickets' with minimal elaboration, making it tautological. It specifies the resource ('tickets') and system ('Freshservice') but lacks a clear verb beyond 'filter' and doesn't differentiate from sibling tools like 'get_tickets' or 'get_ticket_by_id', leaving the exact purpose vague.

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

Usage Guidelines1/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 doesn't mention prerequisites, context, or exclusions, and with siblings like 'get_tickets' and 'get_ticket_by_id', the absence of usage guidelines is misleading as it fails to help an agent choose appropriately.

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

get_agentB

Get agent by id in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It states it's a 'Get' operation, implying read-only behavior, but doesn't disclose any behavioral traits like authentication needs, rate limits, error handling, or what the output contains. This is inadequate for a tool with no annotation coverage.

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

Conciseness5/5

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

The description is a single, efficient sentence with no wasted words, making it easy to parse. It's appropriately sized for a simple retrieval tool and front-loaded with the core action.

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 low complexity (one parameter) and the presence of an output schema (which handles return values), the description is minimally adequate. However, with no annotations and incomplete parameter guidance, it lacks depth for full contextual understanding, especially compared to siblings.

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 0%, with one parameter 'agent_id' documented only by title and type in the schema. The description adds minimal semantics by implying the parameter is an ID for retrieval, but doesn't specify format, constraints, or examples. This meets the baseline as the schema provides basic structure.

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 resource ('agent by id'), making the purpose specific and understandable. However, it doesn't differentiate from sibling tools like 'get_all_agents' or 'filter_agents', which would require mentioning it retrieves a single agent by ID versus listing or filtering multiple agents.

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 'get_all_agents' for listing all agents or 'filter_agents' for searching. The description lacks context on prerequisites or exclusions, leaving the agent without clear usage instructions.

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

get_agent_fieldsB

Get all agent fields in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states a read operation ('Get'), implying it's likely safe and non-destructive, but doesn't specify permissions, rate limits, response format, or pagination. For a tool with zero annotation coverage, this leaves significant behavioral gaps.

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

Conciseness5/5

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

The description is a single, efficient sentence that directly states the tool's purpose without any fluff or redundancy. It's front-loaded and appropriately sized for a simple retrieval tool, making it easy to parse quickly.

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 (0 parameters, output schema exists), the description is minimally adequate. However, with no annotations and multiple sibling tools, it lacks context on usage and behavioral traits. The output schema handles return values, but the description doesn't compensate for missing behavioral details, making it incomplete for optimal agent guidance.

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 0 parameters, and schema description coverage is 100%, so there's no need for parameter details in the description. The description appropriately doesn't mention parameters, aligning with the schema. A baseline of 4 is applied since no parameters exist, and the description doesn't add unnecessary information.

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 resource ('all agent fields in Freshservice'), making the purpose specific and understandable. However, it doesn't differentiate from sibling tools like 'get_agent' or 'get_all_agents', which also retrieve agent-related data but focus on agents themselves rather than their fields.

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. With siblings like 'get_agent' (for specific agent details) and 'get_all_agents' (for listing agents), there's no indication of context, prerequisites, or exclusions for selecting this tool over others.

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

getAgentGroupByIdB

Get agent groups by its group id in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states it 'gets' data without disclosing behavioral traits like read-only nature, error handling, authentication needs, rate limits, or response format. It mentions the system ('Freshservice') but adds minimal operational 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, efficient sentence with no wasted words, front-loading the core action ('Get agent groups') and key constraint ('by its group id'). It appropriately sized for a simple lookup 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 1 parameter, no annotations, and an output schema exists (so return values are covered), the description is minimally complete but lacks context on usage scenarios, error cases, or system-specific behaviors that would aid an agent in correct invocation.

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 0%, but the description adds meaning by specifying 'group id' as the parameter, though it doesn't detail format, constraints, or examples. With 1 parameter and no schema descriptions, it partially compensates but remains basic.

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

Purpose4/5

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

The description clearly states the verb ('Get') and resource ('agent groups'), specifying it retrieves by 'group id in Freshservice'. It distinguishes from sibling 'get_all_agent_groups' by focusing on a single ID, but doesn't explicitly mention this distinction.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'get_all_agent_groups' or 'get_agent'. The description implies usage for retrieving a specific agent group by ID, but lacks explicit when/when-not instructions or prerequisite context.

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

get_all_agent_groupsB

Get all agent groups in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action but doesn't cover aspects like whether this is a read-only operation, potential rate limits, authentication needs, or the format of returned data. This leaves significant gaps for a tool that likely interacts with a system like Freshservice.

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, efficient sentence that directly states the tool's purpose without any unnecessary words. It is front-loaded and wastes no space, 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?

Given the tool has 0 parameters, 100% schema coverage, and an output schema exists, the description is minimally adequate. However, with no annotations and a simple action, it could benefit from slight elaboration on behavioral aspects like data format or system constraints to be more complete.

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 0 parameters, and schema description coverage is 100%, so there are no parameters to document. The description doesn't need to add parameter semantics, and it appropriately doesn't mention any, earning a baseline score of 4 for this context.

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

Purpose4/5

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

The description clearly states the verb ('Get') and resource ('all agent groups in Freshservice'), making the purpose specific and understandable. However, it doesn't differentiate from sibling tools like 'getAgentGroupById' or 'filter_agents', which would require mentioning it returns all groups without filtering or ID specification.

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 'getAgentGroupById' for a specific group or 'filter_agents' for filtered results. The description lacks any context about usage scenarios or exclusions.

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

get_all_agentsC

Fetch agents from Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
per_pageNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions 'Fetch' but doesn't disclose behavioral traits like pagination behavior (implied by parameters), rate limits, authentication needs, or what 'all' means in practice (e.g., active vs. inactive agents). This leaves significant gaps for safe and effective use.

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, efficient sentence with zero wasted words. It's front-loaded with the core action and resource, making it easy to parse quickly.

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 has an output schema (which handles return values) and no annotations, the description is minimally complete but lacks crucial context. It doesn't explain pagination behavior, differentiate from siblings, or cover authentication/rate limits, leaving gaps for a read operation with parameters.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It adds no information about the two parameters (page, per_page), their purpose in pagination, default values, or constraints. This forces reliance on schema titles alone, which is insufficient for understanding usage.

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 ('Fetch') and resource ('agents from Freshservice'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'get_agent' (singular) or 'filter_agents', which could cause confusion about when to use each.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'filter_agents' or 'get_agent'. The description lacks context about whether this fetches all agents unconditionally or if there are limitations, leaving the agent to guess based on tool names alone.

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

get_all_canned_responseB

List all canned response in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states it's a list operation, implying read-only behavior, but doesn't specify details like pagination, rate limits, authentication needs, or what 'all' entails (e.g., if there are limits or filters). This leaves significant gaps in understanding how the tool behaves beyond its basic purpose.

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 that directly states the tool's function without any wasted words. It's front-loaded with the core action and resource, making it highly efficient and easy to parse for an AI agent.

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 has 0 parameters, 100% schema coverage, and an output schema exists, the description covers the basic purpose adequately. However, as a list operation with no annotations, it lacks details on behavioral aspects like output format hints or constraints, making it minimally viable but with clear gaps in completeness for agent usage.

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 0 parameters, and schema description coverage is 100%, so no parameter information is needed. The description appropriately doesn't add param details, aligning with the schema. A baseline of 4 is applied as it efficiently handles the lack of parameters without redundancy.

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

Purpose4/5

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

The description clearly states the verb ('List') and resource ('all canned response in Freshservice'), making the purpose specific and understandable. However, it doesn't distinguish this tool from its sibling 'get_canned_response' (singular vs. plural), which might handle individual responses versus listing all, leaving some ambiguity in sibling differentiation.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'get_canned_response' or other list/filter tools. The description lacks context on prerequisites, exclusions, or specific use cases, offering only a basic statement of function without operational direction.

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

get_all_productsC

List all the products from Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
per_pageNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions listing products but doesn't describe pagination behavior (implied by parameters), rate limits, authentication needs, or what the output contains. This leaves significant gaps for a tool with parameters and an output schema.

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, efficient sentence with zero waste. It's front-loaded with the core action and resource, making it easy to parse quickly.

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 has an output schema (which handles return values) and no annotations, the description is minimally complete for a read operation but lacks details on pagination behavior and usage context. It's adequate but has clear gaps in parameter explanation and behavioral transparency.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate but adds no parameter information. It doesn't explain the 'page' and 'per_page' parameters, their defaults, or how they affect the listing. This is inadequate given the low schema coverage.

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

Purpose4/5

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

The description clearly states the verb ('List') and resource ('all the products from Freshservice'), making the purpose specific and understandable. It doesn't explicitly distinguish from sibling tools like 'get_products_by_id' or 'list_service_items', but the scope ('all') is clear.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'get_products_by_id' (for specific products) or 'list_service_items' (which might overlap). The description only states what it does, not when it's appropriate or what prerequisites exist.

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

get_all_requester_groupsC

Get all requester groups in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
per_pageNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states it 'gets' data (implying read-only), but doesn't mention pagination behavior (implied by parameters), rate limits, authentication requirements, or what format the data returns. For a list operation with pagination parameters, this leaves significant behavioral questions unanswered.

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, efficient sentence that gets straight to the point with zero wasted words. It's perfectly front-loaded and appropriately sized for a simple retrieval 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?

The description is complete enough for a basic list operation given that an output schema exists (so return values are documented elsewhere). However, with no annotations, 0% schema coverage, and pagination parameters that aren't explained, there are significant gaps in understanding how to properly use this tool.

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

Parameters2/5

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

Schema description coverage is 0%, so the schema provides no parameter descriptions. The tool description mentions no parameters at all, despite having two pagination parameters (page, per_page). This leaves the agent guessing about what these parameters do and how they affect the operation.

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

Purpose4/5

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

The description clearly states the verb 'Get' and resource 'all requester groups in Freshservice', making the purpose immediately understandable. It doesn't distinguish from sibling tools like 'get_requester_groups_by_id' or 'list_requester_group_members', but it's specific enough to understand what data will be retrieved.

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 'get_requester_groups_by_id' (for specific groups) or 'list_requester_group_members' (for group members). The description only states what it does, not when it should be selected over other available tools.

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

get_all_requestersB

Fetch all requesters from Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
per_pageNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions 'fetch all requesters' but doesn't specify pagination behavior (implied by parameters), rate limits, authentication requirements, or what 'all' means in practice (e.g., all active requesters vs. all including archived). This leaves significant gaps for a read 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, efficient sentence with zero wasted words. It's front-loaded with the core action and resource, making it easy to parse quickly without unnecessary elaboration.

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 read operation with 2 parameters and an output schema, the description is minimally adequate but lacks important context. It doesn't explain pagination behavior, differentiate from filtering tools, or clarify scope. The output schema helps, but behavioral and usage gaps remain 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?

The description mentions no parameters, while the schema has 2 parameters (page, per_page) with 0% description coverage. The description doesn't compensate by explaining pagination behavior or default values. However, with an output schema present, some parameter context might be inferred from returns, keeping this at baseline.

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

Purpose4/5

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

The description clearly states the verb ('fetch') and resource ('all requesters from Freshservice'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'filter_requesters' or 'get_requester_id', which would require more specificity about scope or filtering capabilities.

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 'filter_requesters' or 'get_requester_id'. There's no mention of use cases, prerequisites, or comparisons with sibling tools, 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.

get_all_solution_categoryB

Get all solution category in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states what the tool does without mentioning critical behaviors like whether it's read-only, pagination, rate limits, error handling, or response format. For a tool with zero annotation coverage, this is a significant gap in transparency.

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, efficient sentence that directly states the tool's purpose without any wasted words. It's front-loaded and appropriately sized for a simple retrieval tool, 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?

Given the tool's simplicity (0 parameters, no annotations, but has an output schema), the description is minimally adequate. It states what the tool does but lacks behavioral context and usage guidelines. The output schema likely covers return values, so the description doesn't need to explain those, but it should provide more operational guidance to be fully complete.

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 0 parameters with 100% schema description coverage, so the schema fully documents the lack of inputs. The description doesn't need to add parameter details, and it appropriately doesn't mention any, earning a baseline score of 4 for not introducing confusion or redundancy.

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

Purpose4/5

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

The description clearly states the verb 'Get' and the resource 'all solution category in Freshservice', making the purpose specific and understandable. However, it doesn't distinguish from its sibling 'get_solution_category', which might retrieve a single category, leaving some ambiguity in sibling differentiation.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'get_solution_category' or 'get_list_of_solution_folder'. It lacks context about prerequisites, such as authentication or permissions, and doesn't mention any exclusions or specific use cases.

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

get_canned_responseC

Get a canned response in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the action ('Get') without detailing traits like read-only nature, authentication needs, rate limits, error handling, or response format. For a tool with no annotation coverage, this is a significant gap in transparency.

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

Conciseness4/5

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

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is appropriately sized and front-loaded, though it could be more informative without sacrificing 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 low complexity (1 parameter) and the presence of an output schema, the description is minimally adequate. However, with no annotations and incomplete parameter semantics, it lacks depth for effective use. The output schema mitigates some gaps, but the description should provide more context for a retrieval 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 has 1 parameter with 0% description coverage, and the tool description does not add any parameter details beyond the schema. It does not explain what 'id' refers to (e.g., a canned response ID) or its format. With low schema coverage, the description fails to compensate, resulting in minimal added value.

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

Purpose3/5

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

The description states the tool 'Get a canned response in Freshservice,' which provides a clear verb ('Get') and resource ('canned response') with context ('Freshservice'). However, it lacks specificity about what a 'canned response' entails (e.g., a pre-written reply for support tickets) and does not differentiate from sibling tools like 'get_all_canned_response' or 'list_canned_response_folder,' making it vague in comparison.

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

Usage Guidelines2/5

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

The description offers no guidance on when to use this tool versus alternatives. It does not mention prerequisites, such as needing an ID, or compare it to sibling tools like 'get_all_canned_response' for listing responses or 'list_canned_response_folder' for folder-based retrieval, leaving the agent without context for selection.

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

get_list_of_solution_articleC

Get list of solution article in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the action ('Get list') without details on permissions, rate limits, pagination, or response format. For a read operation with no annotation coverage, this is insufficient to inform the agent about how the tool behaves beyond its basic function.

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, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized for a simple tool, though it could be more front-loaded with additional context if needed.

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 low complexity (1 parameter) and the presence of an output schema (which handles return values), the description is minimally adequate. However, with no annotations and incomplete parameter semantics, it lacks sufficient context for the agent to fully understand usage and behavior, making it only partially complete.

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

Parameters2/5

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

The input schema has 1 parameter ('id') with 0% description coverage, and the tool description adds no information about parameters. It doesn't explain what 'id' refers to (e.g., article ID, category ID, or something else) or how it influences the list retrieval. With low schema coverage and no compensation in the description, this leaves the parameter's meaning unclear.

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

Purpose3/5

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

The description states the tool's purpose as 'Get list of solution article in Freshservice,' which is a clear verb+resource combination. However, it doesn't differentiate from sibling tools like 'get_solution_article' (singular vs. list) or 'get_all_solution_category' (different resource type), making it vague in distinguishing its specific scope.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention any prerequisites, context, or exclusions, such as how it differs from 'get_solution_article' or if it's for bulk retrieval. This leaves the agent without usage direction.

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

get_list_of_solution_folderC

Get list of solution folder by its ID in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions retrieving a list by ID, which is somewhat behavioral, but doesn't disclose critical traits like whether it's a read-only operation, authentication requirements, rate limits, error conditions, or what 'list' entails (e.g., pagination, format). For a tool with no annotations, this leaves significant gaps in understanding its behavior.

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, straightforward sentence that gets to the point without unnecessary words. It's appropriately sized for a simple tool, though it could be more front-loaded with clarity about the tool's purpose.

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

Completeness3/5

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

Given the tool has an output schema (which likely describes return values), the description doesn't need to explain outputs. However, with no annotations and a vague purpose, it's incomplete for guiding an agent on usage. The description covers basic intent but lacks context about behavior, parameters, and sibling differentiation, making it minimally adequate but with clear gaps.

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

Parameters3/5

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

The description adds that the ID parameter is for 'solution folder', which the schema doesn't specify (schema coverage is 0%). However, it doesn't explain what the ID represents (e.g., numeric identifier, where to find it) or provide examples. With one parameter and low schema coverage, the description offers minimal but not comprehensive semantic value.

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

Purpose3/5

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

The description states the action ('Get list') and resource ('solution folder'), but it's vague about what 'list' means - it could imply retrieving multiple folders or details of one folder. The name 'get_list_of_solution_folder' suggests listing, but the description adds 'by its ID' which contradicts listing multiple items. It doesn't clearly distinguish from sibling 'get_solution_folder' which likely retrieves a single folder.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'get_solution_folder' or 'get_all_solution_category'. The description only states what it does without context about appropriate use cases, prerequisites, or comparisons to sibling tools.

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

get_products_by_idB

Get product by product ID in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states the basic action without disclosing behavioral traits like read-only status, error conditions (e.g., invalid ID), rate limits, or authentication needs. It's a simple read operation but lacks depth for an agent to understand its behavior fully.

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, efficient sentence with zero waste, front-loading the key action and resource. It's appropriately sized for a simple lookup tool, making it easy for an agent to parse quickly.

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 low complexity (single parameter, no nested objects) and the presence of an output schema (which handles return values), the description is reasonably complete for basic usage. However, it lacks context on errors or sibling differentiation, which slightly reduces 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 0%, but the description adds minimal value by implying 'product_id' is required for lookup. However, it doesn't explain parameter semantics beyond what the schema's title ('Product Id') and type (integer) already indicate, so it meets the baseline for adequate but not helpful.

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 product') and resource ('by product ID in Freshservice'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'get_all_products' or 'get_agent' beyond the ID specificity, which prevents a perfect score.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'get_all_products' or 'filter_tickets'. The description implies usage for retrieving a specific product by ID but offers no context on prerequisites, error handling, or comparison to siblings.

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

get_requested_itemsB

Fetch requested items for a specific ticket if the ticket is a service request.

ParametersJSON Schema
NameRequiredDescriptionDefault
ticket_idYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It mentions the condition ('if the ticket is a service request') but doesn't disclose behavioral traits like error handling (what happens if the ticket isn't a service request), permissions required, rate limits, or what 'requested items' entails (e.g., format, scope). For a tool with no annotations, this leaves significant gaps in understanding its behavior.

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, efficient sentence that front-loads the key information ('Fetch requested items') and includes the essential condition. There is no wasted verbiage, and it's appropriately sized for the tool's apparent complexity.

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, no output schema, and low schema description coverage (0%), the description is incomplete. It lacks details on return values, error conditions, permissions, and behavioral nuances. For a tool that likely interacts with a ticketing system and has conditional logic, more context is needed to ensure proper 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?

The input schema has 1 parameter with 0% description coverage, so the schema provides no semantic context. The description adds meaning by linking 'ticket_id' to fetching requested items for a service request, which clarifies the parameter's role. However, it doesn't detail the parameter's format, constraints, or examples, leaving some ambiguity.

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 ('Fetch') and resource ('requested items'), and specifies the condition ('if the ticket is a service request'). It distinguishes from siblings like 'get_ticket_by_id' or 'list_service_items' by focusing on requested items rather than general ticket data or service items. However, it doesn't explicitly differentiate from all possible siblings in the list.

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 context by stating 'if the ticket is a service request', which provides some guidance on when to use it. However, it doesn't specify when NOT to use it or name alternatives (e.g., what to use for non-service-request tickets). No explicit prerequisites or comparisons to sibling tools are provided.

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

get_requester_groups_by_idC

Get requester groups in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
requester_group_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only states the action ('Get') without disclosing behavioral traits such as whether it's a read-only operation, error handling for invalid IDs, authentication needs, rate limits, or response format. This leaves significant gaps for a tool with a required parameter.

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, efficient sentence with zero waste. It's appropriately sized and front-loaded, though it could benefit from more detail given the lack of annotations and low schema coverage.

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 has an output schema (which handles return values), low parameter coverage, and no annotations, the description is incomplete. It lacks context on usage, parameter details, and behavioral traits, making it minimally adequate but with clear gaps for effective tool selection and invocation.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It mentions 'requester groups' but doesn't explain the 'requester_group_id' parameter—what it represents, valid ranges, or how to obtain it. The description adds minimal meaning beyond the schema's basic type information.

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

Purpose3/5

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

The description 'Get requester groups in Freshservice' states the verb ('Get') and resource ('requester groups'), but it's vague about scope and doesn't differentiate from sibling tools like 'get_all_requester_groups' or 'list_requester_group_members'. It doesn't specify whether this retrieves a single group by ID or multiple groups.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'get_all_requester_groups' (which likely lists all groups) or 'list_requester_group_members' (which might list members of a group). The description implies usage by ID but doesn't clarify prerequisites or exclusions.

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

get_requester_idB

Get requester by ID in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
requester_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states a read operation ('Get'), implying it's likely safe and non-destructive, but doesn't disclose behavioral traits such as error handling (e.g., if ID doesn't exist), authentication needs, rate limits, or response format, leaving gaps for an AI agent.

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, efficient sentence with no wasted words, front-loading the core action and resource. It's appropriately sized for a simple lookup tool, making it easy to parse quickly.

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 low complexity (1 parameter) and the presence of an output schema (which handles return values), the description is mostly complete. However, it lacks behavioral details and sibling differentiation, which are minor gaps in an otherwise adequate context for a basic read operation.

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?

With 0% schema description coverage and only 1 parameter, the description adds minimal but sufficient context by specifying 'by ID', which clarifies the parameter's role. However, it doesn't detail constraints (e.g., ID format or range), so it compensates partially but not fully for the schema gap.

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

Purpose3/5

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

The description states the action ('Get') and resource ('requester by ID'), which is clear but vague. It doesn't specify what information is retrieved (e.g., contact details, status) or differentiate from siblings like 'filter_requesters' or 'get_all_requesters', leaving the scope ambiguous.

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. With siblings like 'filter_requesters' and 'get_all_requesters', the description lacks context on whether this is for single-record lookup by exact ID or other use cases, offering no explicit or implied usage rules.

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

get_solution_articleB

Get solution article by id in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure but only states the basic action without details on permissions, rate limits, error handling, or response format. It doesn't add meaningful context beyond the minimal purpose.

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, efficient sentence with no wasted words, front-loading the core action and resource. It's appropriately sized for a simple retrieval 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 low complexity (1 parameter) and the presence of an output schema, the description is minimally adequate. However, with no annotations and low schema coverage, it lacks context on behavioral aspects and usage guidelines, leaving gaps for an AI 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 0%, but the description mentions 'by id', which aligns with the single parameter 'id'. However, it doesn't add details like ID format, constraints, or examples, providing only basic semantic mapping without compensating for the low schema coverage.

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 resource ('solution article by id'), making the purpose specific and understandable. It distinguishes from siblings like 'get_list_of_solution_article' by focusing on retrieval by ID rather than listing, 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 alternatives such as 'get_list_of_solution_article' or 'get_solution_category'. The description lacks context about prerequisites, exclusions, or specific scenarios for usage.

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

get_solution_categoryB

Get solution category by its ID in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states a read operation ('Get'), implying it's non-destructive, but doesn't disclose behavioral traits like authentication requirements, rate limits, error handling (e.g., invalid ID), or response format. For a tool with zero annotation coverage, this leaves significant gaps in understanding how it behaves.

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, efficient sentence with no wasted words, front-loading the core action and resource. It's appropriately sized for a simple lookup tool, making it easy to parse quickly without unnecessary elaboration.

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 low complexity (single parameter, read-only operation) and the presence of an output schema (which handles return values), the description is reasonably complete. It covers the basic purpose and parameter intent. However, without annotations and with minimal parameter detail, it could benefit from more behavioral context, though the output schema mitigates some gaps.

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

Parameters3/5

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

Schema description coverage is 0%, with one parameter 'id' (type integer) undocumented in the schema. The description adds minimal semantics by specifying 'by its ID', implying it's a unique identifier, but doesn't clarify format (e.g., numeric ID from Freshservice) or constraints. With low coverage, it partially compensates but lacks detail needed for full understanding.

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 resource ('solution category'), specifying it retrieves by ID in Freshservice. It distinguishes from siblings like 'get_all_solution_category' (list all) and 'update_solution_category' (modify), though not explicitly mentioned. However, it lacks specificity about what a 'solution category' entails (e.g., a helpdesk taxonomy item).

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 doesn't mention prerequisites (e.g., needing a valid ID), contrast with 'get_all_solution_category' for listing all categories, or specify use cases like retrieving details for editing or reference. The description assumes context without explicit direction.

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

get_solution_folderB

Get solution folder by its ID in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'Get[s]' a folder, implying a read-only operation, but doesn't clarify if it requires authentication, has rate limits, returns errors for invalid IDs, or what the output includes (e.g., folder properties or nested articles). For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.

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, efficient sentence that front-loads the core action ('Get solution folder') and adds necessary context ('by its ID in Freshservice'). There is no wasted wording, repetition, or unnecessary elaboration, making it highly concise and well-structured for quick understanding.

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 low complexity (single parameter) and the presence of an output schema (which handles return values), the description is adequate as a starting point. However, with no annotations and incomplete parameter guidance, it lacks details on authentication, error handling, and behavioral traits. It meets minimum viability but has clear gaps in providing a full operational 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 0%, with one parameter 'id' of type integer. The description adds that it's a 'solution folder' ID in 'Freshservice,' providing domain context. However, it doesn't specify ID format (e.g., positive integer), source (e.g., from list operations), or validation rules. With low schema coverage, the description compensates partially but not fully, meeting the baseline for minimal parameter insight.

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 resource ('solution folder'), specifying it's retrieved 'by its ID in Freshservice.' It distinguishes from siblings like 'get_list_of_solution_folder' (which lists folders) and 'create_solution_folder' (which creates one). However, it doesn't explicitly mention what 'get' entails (e.g., retrieving metadata vs. full content), keeping it from a perfect score.

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 doesn't mention prerequisites (e.g., needing a valid folder ID), contrast with 'get_list_of_solution_folder' for listing all folders, or specify use cases (e.g., for editing or viewing details). The description assumes the user knows when to fetch a single folder, offering minimal context.

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

get_ticket_by_idC

Get a ticket in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
ticket_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states a read operation ('Get'), implying it's likely non-destructive and read-only, but doesn't confirm this or disclose other behavioral traits like authentication needs, rate limits, error handling, or response format. For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.

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, efficient sentence with no wasted words, front-loading the core purpose. It's appropriately sized for a simple retrieval tool, making it easy to parse quickly.

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 low complexity (single parameter, no nested objects) and the presence of an output schema (which handles return values), the description is reasonably complete. However, it lacks behavioral context and sibling differentiation, which are minor gaps in an otherwise straightforward tool 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 0%, with one parameter 'ticket_id' documented only by title and type in the schema. The description adds no parameter semantics beyond the tool name's implication of an ID-based lookup. Since schema coverage is low, the description doesn't compensate, but the single parameter is straightforward, warranting a baseline score.

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

Purpose3/5

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

The description 'Get a ticket in Freshservice' clearly states the action (get) and resource (ticket) with the platform context (Freshservice), which is adequate. However, it doesn't differentiate from sibling tools like 'get_tickets' (plural) or 'filter_tickets', leaving ambiguity about when to use this specific single-ticket retrieval tool versus list/filter 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 alternatives. With siblings like 'get_tickets' and 'filter_tickets' available, the description lacks explicit direction on preferring this tool for single-ticket lookup by ID versus bulk retrieval or filtered searches, offering no context on prerequisites or typical use cases.

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

get_ticket_fieldsB

Get ticket fields from Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It states 'Get ticket fields' but doesn't disclose behavioral traits like whether this is a read-only operation (implied by 'Get'), rate limits, authentication requirements, pagination, or what the output includes (though an output schema exists). For a tool with no annotations, this is a significant gap in transparency.

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, efficient sentence with no wasted words. It's front-loaded with the core purpose ('Get ticket fields'), and the additional context ('from Freshservice') is minimal and relevant. Every part of the description 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?

Given the tool has 0 parameters, 100% schema coverage, and an output schema exists, the description is minimally complete. However, with no annotations, it lacks context about behavioral aspects like safety, rate limits, or permissions. The output schema will handle return values, but the description could better clarify the scope of 'ticket fields' (e.g., all fields, editable fields).

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 0 parameters, and schema description coverage is 100%, so there are no parameters to document. The description doesn't need to add parameter semantics, and it doesn't incorrectly imply any parameters. A baseline of 4 is appropriate for a parameterless tool with full schema coverage.

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

Purpose4/5

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

The description 'Get ticket fields from Freshservice' clearly states the action ('Get') and resource ('ticket fields'), with 'from Freshservice' providing context about the system. It distinguishes from siblings like 'get_ticket_by_id' or 'get_tickets' by focusing on fields rather than tickets themselves. However, it doesn't specify what 'fields' encompass (e.g., custom fields, system fields), leaving some ambiguity.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. For example, it doesn't clarify if this retrieves all ticket fields globally, fields for a specific ticket type, or fields available for ticket creation/editing. There's no mention of prerequisites, such as needing specific permissions or workspace context.

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

get_ticketsC

Get tickets from Freshservice with pagination support.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
per_pageNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It mentions 'pagination support', which is useful behavioral context, but doesn't disclose other critical traits like whether this is a read-only operation, rate limits, authentication requirements, or what happens if parameters are omitted. For a tool with no annotations, this leaves significant 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, efficient sentence that front-loads the core purpose ('Get tickets from Freshservice') and adds a key feature ('with pagination support'). There is no wasted verbiage, 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?

Given that an output schema exists, the description doesn't need to explain return values. However, for a tool with no annotations, 0% schema description coverage, and 2 parameters, the description is minimal—it covers the basic purpose and pagination but lacks details on behavior, parameter usage, and differentiation from siblings. It's adequate but has clear gaps.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It mentions 'pagination support', which hints at the 'page' and 'per_page' parameters, but doesn't explain their semantics, default values, or valid ranges. This adds minimal value beyond the bare 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 ('Get tickets') and the source ('from Freshservice'), which is specific and unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'filter_tickets' or 'get_ticket_by_id', which would be needed for a perfect score.

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 mentions 'with pagination support', which implies usage for retrieving multiple tickets, but provides no explicit guidance on when to use this tool versus alternatives like 'filter_tickets' or 'get_ticket_by_id'. No exclusions or prerequisites are stated.

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

get_workspaceB

Get a workspace by its ID in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states it's a read operation ('Get'), but doesn't mention permissions, rate limits, error handling, or response format. This leaves significant gaps for a tool that likely interacts with a live system.

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, efficient sentence with zero waste. It's front-loaded with the core purpose and includes necessary context ('in Freshservice'), making it appropriately sized for a simple retrieval 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 low complexity (1 parameter) and the presence of an output schema, the description is minimally adequate. However, with no annotations and 0% schema coverage, it should provide more behavioral context (e.g., read-only nature, error cases) to be 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 description coverage is 0%, so the description must compensate. It adds meaning by specifying that 'id' refers to a workspace ID in Freshservice, which clarifies the parameter's purpose beyond the schema's generic 'Id' title. However, it doesn't detail format constraints or examples.

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 resource ('a workspace by its ID'), making the purpose specific and understandable. It distinguishes from siblings like 'list_all_workspaces' by focusing on retrieval of a single item, 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 alternatives such as 'list_all_workspaces' or other get_* tools. The description implies usage for fetching a specific workspace but lacks explicit context or exclusions.

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

list_all_canned_response_folderB

List all canned response of a folder in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action ('List') but doesn't describe traits like pagination, sorting, error handling, or authentication requirements. For a tool with zero annotation coverage, this is a significant gap in transparency.

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, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded and appropriately sized for its simple function, earning its place with zero waste.

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 has an output schema, the description doesn't need to explain return values. However, with no annotations and 0 parameters, the description lacks details on behavioral traits and folder identification. It's minimally adequate but leaves gaps in understanding how the tool operates in practice.

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 input schema has 0 parameters with 100% coverage, meaning no parameters are documented in the schema. The description implies that it lists canned responses for a folder, but it doesn't specify how the folder is identified (e.g., by ID or name). Since there are 0 parameters, the baseline is 4, but the description could be more explicit about the folder context.

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

Purpose4/5

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

The description clearly states the verb ('List') and resource ('all canned response of a folder'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from the sibling tool 'list_canned_response_folder', which has a similar name and likely similar function, leaving some ambiguity about their distinction.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, such as the sibling 'list_canned_response_folder' or 'get_all_canned_response'. It lacks context on prerequisites, exclusions, or comparisons, 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.

list_all_requester_fieldsB

List all requester fields in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states it's a list operation, implying read-only behavior, but doesn't mention any traits like pagination, rate limits, authentication needs, or what 'all' entails (e.g., scope or limits). This leaves significant gaps for a tool with no annotation coverage.

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

Conciseness5/5

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

The description is a single, efficient sentence that directly states the tool's purpose without any wasted words. It's appropriately sized and front-loaded, making it easy to understand at a glance.

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 has 0 parameters, 100% schema coverage, and an output schema exists, the description is minimally adequate. However, with no annotations and many sibling tools, it lacks context on usage and behavioral traits, making it incomplete for optimal agent selection despite the structured data support.

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 0 parameters, and schema description coverage is 100%, meaning there's no need for parameter documentation in the description. The baseline for this scenario is 4, as the description appropriately doesn't discuss parameters, and the schema fully covers the input structure.

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 ('List all') and the resource ('requester fields in Freshservice'), providing a specific verb+resource combination. However, it doesn't differentiate from sibling tools like 'get_requester_fields' or 'filter_requesters' that might handle similar data, which prevents a perfect score.

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. With many sibling tools like 'filter_requesters' or 'get_requester_fields' that might retrieve requester-related data, there's no indication of context, prerequisites, or exclusions for usage.

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

list_all_ticket_conversationB

List all conversation of a ticket in freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
ticket_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. It states a read operation ('List'), implying it's non-destructive, but doesn't cover critical aspects like authentication needs, rate limits, pagination, error handling, or what 'all conversation' entails (e.g., includes notes, replies). For a tool with zero annotation coverage, this is a significant gap in transparency.

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, efficient sentence with zero waste—it directly states the tool's purpose without redundancy. It's appropriately sized for a simple list operation and front-loaded with the core action, making it easy to parse quickly.

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 low complexity (1 parameter, no nested objects) and the presence of an output schema (which handles return values), the description is minimally adequate. However, with no annotations and low schema coverage, it lacks completeness in behavioral context and parameter details, leaving gaps for the agent to navigate.

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 1 parameter with 0% description coverage, so the schema provides no semantic details. The description adds no parameter information beyond what's implied by the tool name (e.g., it doesn't explain what 'ticket_id' represents or its format). Since schema coverage is low, the description fails to compensate, resulting in minimal added value.

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 ('List all conversation') and target resource ('of a ticket in freshservice'), providing specific verb+resource pairing. However, it doesn't differentiate from sibling tools like 'get_ticket_by_id' or 'update_ticket_conversation' which might also involve ticket conversations, leaving room for ambiguity in tool selection.

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 doesn't mention prerequisites (e.g., needing a valid ticket ID), exclusions, or comparisons to siblings like 'get_ticket_by_id' (which might include conversations) or 'update_ticket_conversation' (which modifies them), 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.

list_all_workspacesB

List all workspaces in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states it's a list operation but doesn't mention whether it's paginated, sorted, filtered, or what permissions are required. For a tool with zero annotation coverage, this leaves significant behavioral gaps unaddressed.

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, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized for a simple list operation and front-loads the essential information.

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 (no parameters, has output schema), the description is minimally adequate but incomplete. While the output schema will handle return values, the description doesn't address behavioral aspects like pagination or permissions that would help the agent use it correctly in 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 with 100% schema description coverage, so the description doesn't need to compensate. The baseline for zero parameters is 4, as there are no parameters requiring semantic explanation beyond what the empty schema already indicates.

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 ('List all workspaces') and resource ('in Freshservice'), providing a specific verb+resource combination. However, it doesn't differentiate from sibling tools like 'get_workspace' (singular) or explain how this differs from other list/get operations in the server.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'get_workspace' (singular retrieval) or other list operations. It lacks context about prerequisites, timing, or comparison to sibling tools, leaving the agent without usage direction.

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

list_canned_response_folderC

List canned response folder in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the action ('List') without detailing what the tool returns (e.g., folder contents, metadata, or structure), whether it's read-only or has side effects, or any constraints like permissions or rate limits. This leaves critical behavioral traits unspecified for a tool with an output 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, straightforward sentence that efficiently conveys the basic action and resource. It's front-loaded with the core purpose and avoids unnecessary words, making it easy to parse quickly. However, its brevity contributes to the lack of detail in other dimensions.

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

Completeness3/5

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

Given the tool has an output schema, the description doesn't need to explain return values, which helps completeness. However, with no annotations, 0% schema description coverage, and a vague purpose, it lacks sufficient context for a tool with a required parameter. It's minimally adequate but leaves gaps in understanding how to use it effectively.

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

Parameters2/5

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

The schema description coverage is 0%, and the description provides no information about the single required parameter 'id'. It doesn't explain what 'id' refers to (e.g., a folder ID, workspace ID, or other identifier) or its expected format. With low schema coverage, the description fails to compensate, leaving the parameter's meaning unclear.

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

Purpose3/5

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

The description 'List canned response folder in Freshservice' states the verb ('List') and resource ('canned response folder'), providing a basic purpose. However, it's vague about what 'list' entails (e.g., listing contents vs. metadata) and doesn't differentiate from the sibling tool 'list_all_canned_response_folder', which suggests a broader scope. This leaves ambiguity in the tool's specific 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?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention the sibling 'list_all_canned_response_folder' or explain why one would choose this tool over that one, nor does it specify prerequisites or contexts for usage. This lack of comparative information limits effective tool selection.

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

list_requester_group_membersB

List all members of a requester group in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action 'List all members', implying a read-only operation, but doesn't specify whether it requires authentication, returns paginated results, includes nested data, or has rate limits. This leaves significant gaps for a tool with no annotation coverage.

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

Conciseness5/5

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

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded with the core action and resource, making it easy to understand at a glance.

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 has an output schema (which handles return values) and only 1 parameter, the description is minimally adequate. However, with no annotations and low schema coverage, it lacks behavioral details like authentication needs or result formatting, leaving room for improvement in 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 1 parameter with 0% schema description coverage, meaning the schema provides no details about 'group_id'. The description doesn't explicitly mention parameters, but it implies the need for a 'requester group' identifier, adding some context. However, it doesn't specify format, constraints, or examples, so it doesn't fully compensate for the lack of schema documentation.

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

Purpose4/5

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

The description clearly states the verb 'List' and the resource 'all members of a requester group in Freshservice', providing a specific action and target. However, it doesn't explicitly differentiate from sibling tools like 'get_requester_groups_by_id' or 'filter_requesters', which might retrieve related data but with different scopes or methods.

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 'filter_requesters' or 'get_requester_groups_by_id'. It lacks context on prerequisites, exclusions, or specific scenarios where listing group members is preferred over other retrieval methods.

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

list_service_itemsB

Get list of service items from Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
per_pageNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It states 'Get list' which implies a read-only operation, but doesn't disclose behavioral traits like pagination behavior (implied by parameters), rate limits, authentication requirements, or error handling. This leaves significant gaps for an agent.

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, efficient sentence with no wasted words. It's appropriately sized and front-loaded, making it easy to parse quickly.

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

Completeness3/5

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

Given no annotations, 0% schema coverage, but an output schema exists, the description is minimally adequate. It states the purpose but lacks details on parameters, usage context, and behavioral traits. The output schema may cover return values, but overall completeness is limited for a tool with undocumented parameters.

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 0%, so the description must compensate, but it adds no information about the parameters. The parameters 'page' and 'per_page' are undocumented in both schema and description. Baseline is 3 due to low coverage, but the description fails to provide any semantic details.

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 list') and resource ('service items from Freshservice'), making the purpose understandable. However, it doesn't distinguish this tool from similar sibling tools like 'get_all_products' or 'get_all_requesters' that also list items, missing full sibling differentiation.

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. The description lacks context about prerequisites, such as whether authentication is needed, or comparisons to other list/filter tools in the sibling set, leaving usage unclear.

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

publish_solution_articleC

Publish a solution article in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
article_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Publish' implies a write operation that likely changes the article's state (e.g., from draft to published), but the description doesn't specify permissions needed, whether the action is reversible, rate limits, or what happens upon success/failure. For a mutation tool with zero annotation coverage, this is a significant gap in transparency.

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, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, with zero waste, making it easy to parse quickly.

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 has an output schema (which handles return values), 1 parameter, and no annotations, the description is minimally adequate but incomplete. It states what the tool does but lacks crucial context like parameter meaning, usage guidelines, and behavioral details needed for a mutation operation. The presence of an output schema prevents a lower score, but gaps remain.

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

Parameters2/5

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

The input schema has 1 parameter with 0% description coverage, and the tool description provides no information about the 'article_id' parameter. It doesn't explain what this ID represents, where to obtain it, or how it relates to other tools (e.g., from 'create_solution_article'). The description fails to compensate for the lack of schema documentation.

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 ('Publish') and resource ('a solution article in Freshservice'), providing a specific verb+resource combination. However, it doesn't differentiate from sibling tools like 'create_solution_article' or 'update_solution_article', which would require more specificity about what distinguishes publishing from creating or updating.

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. With siblings like 'create_solution_article' and 'update_solution_article', it's unclear whether publishing is a separate action from creation/updating, or what prerequisites exist (e.g., does an article need to be created first?). No explicit when/when-not instructions or alternatives are mentioned.

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

send_ticket_replyC

Send reply to a ticket in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
bcc_emailsNo
bodyYes
cc_emailsNo
from_emailNo
ticket_idYes
user_idNo

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool sends a reply, implying a write operation that likely modifies ticket state and sends notifications, but doesn't specify permissions required, whether replies are public/private, if they trigger emails, rate limits, or error conditions. This is inadequate for a mutation tool with zero annotation coverage.

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

Conciseness5/5

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

The description is a single, efficient sentence with no wasted words. It's front-loaded with the core action and target, making it easy to parse quickly. Every word earns its place by conveying essential information about the tool's function.

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 (a mutation operation with 6 parameters, 2 required), lack of annotations, 0% schema description coverage, and no output schema, the description is severely incomplete. It doesn't explain parameters, behavioral traits, usage context, or return values, making it inadequate for safe and effective tool invocation.

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

Parameters2/5

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

Schema description coverage is 0%, so parameters are undocumented in the schema. The description adds no information about any parameters—it doesn't mention required fields like 'ticket_id' and 'body', optional fields like 'cc_emails', or their purposes. This fails to compensate for the schema gap, leaving all 6 parameters semantically unclear.

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

Purpose3/5

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

The description states the action ('Send reply') and target ('to a ticket in Freshservice'), which provides a basic understanding of the tool's function. However, it lacks specificity about what constitutes a 'reply' versus other ticket-related actions (like creating notes or updating tickets), and doesn't differentiate from sibling tools like 'create_ticket_note' or 'update_ticket_conversation' that might have overlapping functionality.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites (e.g., needing an existing ticket), exclusions (e.g., not for internal notes), or comparisons to sibling tools like 'create_ticket_note' or 'update_ticket_conversation'. This leaves the agent without context for tool selection.

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

update_agentC

Update the agent details in the Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressNo
agent_idYes
background_informationNo
can_see_all_tickets_from_associated_departmentsNo
department_idsNo
emailNo
languageNo
location_idNo
occasionalNo
reporting_manager_idNo
scoreboard_level_idNo
time_formatNo
time_zoneNo

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states this is an update operation (implying mutation) but doesn't disclose whether it requires specific permissions, what happens to unspecified fields (partial vs. full updates), whether changes are reversible, or any rate limits/error conditions. The description adds minimal behavioral context beyond the obvious implication of 'update'.

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, efficient sentence that gets straight to the point with zero wasted words. It's appropriately sized for a basic tool description and front-loads the essential information (update operation on agent details).

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 13 parameters, 0% schema coverage, no annotations, and no output schema, the description is inadequate. It doesn't explain what gets updated, how partial updates work, what permissions are needed, what the response contains, or how to handle errors. The agent would struggle to use this tool correctly without extensive trial and error.

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

Parameters2/5

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

With 0% schema description coverage and 13 parameters (12 optional, 1 required), the description provides no information about any parameters. It doesn't mention the required 'agent_id' parameter or explain what any of the fields represent (address, background_information, department_ids, etc.). The description fails to compensate for the complete lack of schema documentation.

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

Purpose4/5

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

The description clearly states the verb ('Update') and resource ('agent details in the Freshservice'), making the purpose immediately understandable. It distinguishes from sibling tools like 'create_agent' by specifying an update operation rather than creation. However, it doesn't specify what types of details can be updated beyond the general term.

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 'create_agent' or 'filter_agents'. It doesn't mention prerequisites (such as needing an existing agent ID) or contextual constraints. The agent must infer usage from the tool name and parameter schema alone.

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

update_groupC

Update a group in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
group_fieldsYes
group_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states 'Update' which implies a mutation, but doesn't disclose behavioral traits such as required permissions, whether changes are reversible, rate limits, or what happens to unspecified fields. This is a significant gap for a mutation tool with zero annotation coverage.

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

Conciseness5/5

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

The description is a single, efficient sentence with zero waste. It's appropriately sized and front-loaded, though this brevity contributes to gaps in other dimensions.

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 complexity (mutation tool with 2 parameters, nested objects, no annotations, and 0% schema coverage), the description is incomplete. It lacks parameter details, behavioral context, and usage guidelines. While an output schema exists, the description doesn't provide enough overall context for effective tool use.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It adds no meaning beyond the schema, failing to explain what 'group_fields' contains (e.g., updatable properties like name or description) or how 'group_id' is used. With 2 undocumented parameters, this is inadequate.

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

Purpose3/5

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

The description states the action ('Update') and resource ('a group in Freshservice'), which provides a basic purpose. However, it doesn't specify what aspects of a group can be updated or differentiate it from sibling tools like 'update_requester_group' or 'update_agent_group' (implied by 'get_all_agent_groups'), making it somewhat vague.

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 doesn't mention prerequisites (e.g., needing an existing group ID), exclusions, or comparisons to sibling tools like 'create_group' or 'update_requester_group', leaving the agent without context for selection.

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

update_productC

Update a product in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
asset_type_idYes
depreciation_type_idNo
descriptionNo
description_textNo
idYes
manufacturerNo
mode_of_procurementNo
nameYes
statusNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure but only states the basic action. It doesn't mention permission requirements, whether this is a destructive mutation, what happens to unspecified fields, error conditions, or response format. For a mutation tool with 9 parameters, this is insufficient 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, efficient sentence with zero wasted words. It's appropriately sized for a basic tool description and gets straight to the point without unnecessary elaboration.

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 9 parameters, 0% schema description coverage, no annotations, and multiple sibling update tools, the description is inadequate. While an output schema exists (which helps with return values), the description fails to provide necessary context about usage, parameters, permissions, or behavioral characteristics that would help an agent use this tool correctly.

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

Parameters1/5

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

Schema description coverage is 0%, meaning none of the 9 parameters have descriptions in the schema. The tool description provides no parameter information whatsoever - it doesn't mention any fields that can be updated, required vs optional parameters, or what the parameters represent. This leaves all parameter semantics undocumented.

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 ('Update') and resource ('a product in Freshservice'), providing specific verb+resource pairing. However, it doesn't differentiate this tool from sibling update tools like update_agent, update_ticket, or update_solution_article, which follow the same pattern for 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 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. The description doesn't mention prerequisites (like needing the product ID), when not to use it, or how it differs from create_product or other update_* tools. This leaves the agent without contextual usage information.

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

update_requesterC

Update a requester in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressNo
background_informationNo
can_see_all_tickets_from_associated_departmentsNo
custom_fieldsNo
department_idsNo
first_nameNo
job_titleNo
languageNo
last_nameNo
location_idNo
mobile_phone_numberNo
primary_emailNo
reporting_manager_idNo
requester_idYes
secondary_emailsNo
time_formatNo
time_zoneNo
work_phone_numberNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. 'Update' implies a mutation operation, but the description doesn't mention whether this requires specific permissions, what happens on partial updates, or any rate limits or side effects. It's a basic statement that leaves critical behavioral traits unspecified.

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

Conciseness5/5

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

The description is a single, direct sentence with no wasted words. It's appropriately sized and front-loaded, making it easy to parse quickly.

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 18 parameters, 0% schema coverage, and no annotations, the description is severely inadequate. While an output schema exists, the description doesn't address the complexity of the input parameters or provide any behavioral context, leaving significant gaps for an agent to understand how to use this tool effectively.

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

Parameters1/5

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

Schema description coverage is 0%, meaning none of the 18 parameters are documented in the schema. The description provides no additional information about parameters, not even mentioning the required 'requester_id' or what fields can be updated. It fails to compensate for the complete lack of schema documentation.

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 ('Update') and the resource ('a requester in Freshservice'), making the purpose immediately understandable. It doesn't distinguish from sibling tools like 'update_agent' or 'update_ticket', but the resource specificity is adequate.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'create_requester' or 'filter_requesters'. The description lacks any context about prerequisites, permissions, or typical use cases.

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

update_requester_groupC

Update an requester group in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
descriptionNo
idYes
nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states 'Update' implying mutation but doesn't disclose behavioral traits like required permissions, whether changes are reversible, rate limits, or what the output contains. This is a significant gap for a mutation tool with zero annotation coverage.

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

Conciseness4/5

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

The description is a single, efficient sentence with no wasted words. It's appropriately sized for a basic tool definition, though it could be more informative without losing conciseness.

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

Completeness2/5

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

Given this is a mutation tool with 3 parameters, 0% schema coverage, no annotations, but an output schema exists, the description is incomplete. It doesn't cover parameter meanings, usage context, or behavioral aspects, relying too heavily on the output schema for return values without addressing other gaps.

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

Parameters2/5

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

Schema description coverage is 0%, so parameters are undocumented in the schema. The description adds no meaning beyond the tool name—it doesn't explain what 'id', 'name', or 'description' represent or how they affect the update. This fails to compensate for the coverage gap.

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

Purpose3/5

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

The description states the action ('Update') and resource ('requester group in Freshservice'), which is clear but basic. It doesn't specify what aspects can be updated or differentiate from sibling tools like 'update_requester' or 'update_group', making it vague about scope.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing requester group ID) or compare to tools like 'create_requester_group' or 'list_requester_group_members', leaving usage context unclear.

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

update_solution_articleC

Update a solution article in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
article_idYes
article_typeNo
descriptionNo
folder_idNo
keywordsNo
review_dateNo
statusNo
tagsNo
titleNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure but only states the basic action. It doesn't cover critical aspects like required permissions, whether updates are partial or full, error conditions, side effects, or response format, which are essential 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, direct sentence with no wasted words. It's front-loaded and efficiently communicates the core purpose, though this brevity comes at the cost of missing other important details.

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 9 parameters (1 required), 0% schema coverage, no annotations, and an output schema (which helps but isn't described), the description is insufficient. It lacks parameter explanations, behavioral context, and usage guidelines, making it incomplete for effective tool selection and invocation.

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

Parameters1/5

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

The schema description coverage is 0%, meaning none of the 9 parameters are documented in the schema. The description adds no information about parameters, not even mentioning the required 'article_id' or optional fields like 'title' or 'status', leaving the agent with no semantic understanding of inputs.

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 ('Update') and resource ('a solution article in Freshservice'), making the purpose immediately understandable. It doesn't distinguish from sibling tools like 'update_solution_category' or 'update_solution_folder', but the specificity is adequate.

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 doesn't mention prerequisites (e.g., needing an existing article), differentiate from similar tools (e.g., 'create_solution_article'), or specify use cases, leaving the agent with no contextual usage information.

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

update_solution_categoryC

Update a solution category in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
category_idYes
default_categoryNo
descriptionNo
nameYes
workspace_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states 'Update' which implies a mutation, but doesn't clarify permissions needed, whether changes are reversible, what happens to unspecified fields, or any rate limits. For a mutation tool with zero annotation coverage, this leaves critical behavioral aspects undefined.

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, efficient sentence that gets straight to the point with zero wasted words. It's appropriately sized for a simple update operation and front-loads the essential information (verb 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?

Given this is a mutation tool with 5 parameters (2 required), 0% schema description coverage, no annotations, but with an output schema, the description is inadequate. It doesn't explain parameter meanings, behavioral implications, or usage context. While the output schema might cover return values, the description doesn't provide enough information for safe and correct tool invocation.

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

Parameters2/5

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

Schema description coverage is 0%, so parameters are completely undocumented in the schema. The description adds no information about what the five parameters mean, their purposes, or how they interact. It doesn't even mention that category_id and name are required. This fails to compensate for the schema's lack of documentation.

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 ('Update') and resource ('a solution category in Freshservice'), making the purpose immediately understandable. It distinguishes from siblings like 'create_solution_category' by specifying an update operation rather than creation. However, it doesn't explicitly differentiate from other update tools like 'update_solution_article' or 'update_solution_folder' beyond the resource 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?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing category ID), when not to use it, or how it differs from similar update tools in the sibling list. The agent must infer usage from the tool name alone.

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

update_solution_folderB

Update an existing solution folder's details in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
descriptionNo
idYes
nameNo
visibilityNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states this is an update operation, implying mutation, but doesn't describe what permissions are required, whether changes are reversible, what happens to unspecified fields, rate limits, or error conditions. For a mutation tool with zero annotation coverage, this is a significant gap in transparency.

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, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, with zero wasted content.

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 complexity (mutation with 4 parameters), no annotations, and an output schema present, the description is incomplete. It doesn't explain the update behavior, parameter interactions, or what 'details' encompass. The output schema helps with return values, but the description should provide more context about the operation itself to be fully adequate.

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 description mentions 'details' but doesn't specify which parameters can be updated or their meanings. With 0% schema description coverage and 4 parameters (id, name, description, visibility), the schema provides only titles without explanations. The description adds minimal value beyond the schema, failing to compensate for the coverage gap, but doesn't contradict it.

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

Purpose4/5

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

The description clearly states the action ('Update') and target resource ('an existing solution folder's details in Freshservice'), which is specific and unambiguous. However, it doesn't differentiate this tool from sibling update tools like update_solution_article or update_solution_category, which would require mentioning what distinguishes solution folder updates from other updates.

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 doesn't mention prerequisites (e.g., needing an existing folder ID), when not to use it, or how it differs from similar update tools like update_solution_category. This leaves the agent without context for tool selection.

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

update_ticketC

Update a ticket in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
ticket_fieldsYes
ticket_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states 'Update' which implies mutation, but doesn't disclose behavioral traits such as required permissions, whether changes are reversible, rate limits, or what happens to unspecified fields. This is a significant gap for a mutation tool with zero annotation coverage.

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

Conciseness5/5

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

The description is a single, efficient sentence with zero waste. It's front-loaded and appropriately sized for the tool's complexity, though it could benefit from more detail given the lack of annotations and schema descriptions.

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

Completeness2/5

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

Given the complexity (mutation tool with nested objects), no annotations, 0% schema coverage, and an output schema (which helps but doesn't fully compensate), the description is incomplete. It lacks crucial context like parameter details, behavioral traits, and usage guidelines, making it insufficient for effective tool selection and invocation.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It doesn't add any meaning beyond what the schema provides—no explanation of 'ticket_id' (e.g., where to find it) or 'ticket_fields' (e.g., what fields are updatable, format, constraints). With 2 parameters and low coverage, this is inadequate.

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

Purpose3/5

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

The description 'Update a ticket in Freshservice' clearly states the verb ('Update') and resource ('ticket'), but it's vague about what specific aspects can be updated. It distinguishes from siblings like 'create_ticket' and 'delete_ticket' by indicating modification rather than creation or deletion, but doesn't specify what fields or properties can be changed.

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 doesn't mention prerequisites (e.g., needing an existing ticket ID), exclusions, or comparisons to similar tools like 'update_ticket_conversation' or 'send_ticket_reply'. The agent must infer usage from the name alone.

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

update_ticket_conversationC

Update a conversation for a ticket in Freshservice.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes
conversation_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. While 'Update' implies a mutation operation, the description doesn't specify what aspects of a conversation can be updated, whether this requires specific permissions, what the response looks like, or any rate limits or side effects. It provides minimal behavioral context beyond the basic action.

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

Conciseness5/5

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

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, with zero waste or redundancy.

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 that there's an output schema (which reduces the need to describe return values) but no annotations and poor parameter documentation, the description is minimally adequate. It covers the basic action but lacks details on usage context, parameter meanings, and behavioral traits needed for a mutation tool in a complex system like Freshservice.

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

Parameters2/5

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

Schema description coverage is 0%, meaning neither parameter has descriptions in the schema. The description doesn't add any meaning about the parameters—it doesn't explain what 'conversation_id' refers to, what format 'body' should be in, or how these parameters interact. With 2 undocumented parameters, the description fails to compensate for the schema gap.

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 ('Update') and target ('a conversation for a ticket in Freshservice'), providing a specific verb+resource combination. However, it doesn't distinguish this tool from sibling tools like 'update_ticket' or 'send_ticket_reply', which might have overlapping functionality in the same domain.

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. With sibling tools like 'update_ticket' and 'send_ticket_reply' present, there's no indication of when this specific conversation-updating tool is appropriate, nor any prerequisites or exclusions mentioned.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 59 tool updatesv1.0.0
    • First observedadd_requester_to_group
    • First observedcreate_agent
    • First observedcreate_group
    • First observedcreate_product
    • First observedcreate_requester
    • First observedcreate_requester_group
    • First observedcreate_service_request
    • First observedcreate_solution_article
    • First observedcreate_solution_category
    • First observedcreate_solution_folder
    • First observedcreate_ticket
    • First observedcreate_ticket_note
    • First observeddelete_ticket
    • First observedfilter_agents
    • First observedfilter_requesters
    • First observedfilter_tickets
    • First observedget_agent
    • First observedget_agent_fields
    • First observedget_all_agent_groups
    • First observedget_all_agents
    • First observedget_all_canned_response
    • First observedget_all_products
    • First observedget_all_requester_groups
    • First observedget_all_requesters
    • First observedget_all_solution_category
    • First observedget_canned_response
    • First observedget_list_of_solution_article
    • First observedget_list_of_solution_folder
    • First observedget_products_by_id
    • First observedget_requested_items
    • First observedget_requester_groups_by_id
    • First observedget_requester_id
    • First observedget_solution_article
    • First observedget_solution_category
    • First observedget_solution_folder
    • First observedget_ticket_by_id
    • First observedget_ticket_fields
    • First observedget_tickets
    • First observedget_workspace
    • First observedgetAgentGroupById
    • First observedlist_all_canned_response_folder
    • First observedlist_all_requester_fields
    • First observedlist_all_ticket_conversation
    • First observedlist_all_workspaces
    • First observedlist_canned_response_folder
    • First observedlist_requester_group_members
    • First observedlist_service_items
    • First observedpublish_solution_article
    • First observedsend_ticket_reply
    • First observedupdate_agent
    • First observedupdate_group
    • First observedupdate_product
    • First observedupdate_requester
    • First observedupdate_requester_group
    • First observedupdate_solution_article
    • First observedupdate_solution_category
    • First observedupdate_solution_folder
    • First observedupdate_ticket
    • First observedupdate_ticket_conversation

TDQS

B3/5.0
Disambiguation4/5

Most tools have distinct purposes targeting specific resources and actions, such as create_ticket vs. update_ticket or filter_agents vs. get_agent. However, some overlaps exist, like get_tickets and filter_tickets, which could cause confusion in selection, though descriptions clarify differences.

Naming Consistency4/5

The naming follows a consistent verb_noun pattern for most tools, such as create_agent and update_product. There are minor deviations, like getAgentGroupById using camelCase, but overall the conventions are readable and predictable across the set.

Tool Count2/5

With 59 tools, the count is excessive for a typical MCP server, making it heavy and potentially overwhelming. This large number suggests poor scoping, as many tools could be consolidated or omitted without losing functionality for the Freshservice domain.

Completeness5/5

The tool set provides comprehensive CRUD and lifecycle coverage for Freshservice's domain, including agents, tickets, requesters, solutions, and more. There are no obvious gaps, with tools for creation, retrieval, updating, deletion, and filtering across all major resources.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    A comprehensive MCP server that provides 159 tools for interacting with the Freshservice ITSM platform, covering modules such as tickets, assets, and project management. It enables users to manage service desk operations and configuration through the Model Context Protocol.
    -
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI models to perform IT service management operations on Freshservice, including managing tickets, changes, problems, releases, assets, projects, and more through a set of MCP tools.
    36
    2
    MIT
  • A
    license
    C
    quality
    D
    maintenance
    An MCP server implementation that integrates with Freshdesk, enabling AI models to interact with Freshdesk modules and perform various support operations.
    59
    MIT
  • F
    license
    B
    quality
    B
    maintenance
    A read-only MCP server that connects AI assistants to Freshservice Service Desk for ticket triage, asset analysis, and support history summarization.
    23
    -

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/effytech/freshservice_mcp'

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