Skip to main content
Glama
jamesdeane2

MCP IT Glue Server

by jamesdeane2

Python 3.10+ License: MIT MCP

MCP IT Glue Server

A comprehensive Model Context Protocol (MCP) server for IT Glue API integration. This server enables AI assistants like Claude to interact with IT Glue's documentation and asset management system.

Features

Core Entities

  • Organizations: List, search, create, and update organizations

  • Configurations: Manage devices and assets with full CRUD operations

  • Passwords: Secure password management with controlled access

  • Contacts: Manage contact information for organizations

Extended Entities

  • Flexible Assets: Custom documentation schemas and instances

  • Checklists: Task lists with completion tracking

  • Documents: SOPs, runbooks, and uploaded files

  • Locations: Physical/logical sites within organizations

  • Domains: Active Directory and web domains

Relationships & Reference Data

  • Related Items: Create and manage relationships between resources

  • Reference Data: Manufacturers, models, OS, configuration types, etc.

Production-Ready Features

  • Rate Limiting: Automatic retry with exponential backoff

  • Error Taxonomy: Structured error types (Auth, NotFound, Validation, RateLimit, Server)

  • Pagination: Auto-pagination with iterator support for large datasets

  • Async/Await: Full async support throughout

Related MCP server: mcp-itglue

Installation

# Clone the repository
git clone <repository-url>
cd mcp-itglue

# Create virtual environment and install dependencies
uv venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
uv pip install -e .

Using pip

pip install -e .

Configuration

Set the following environment variables:

Variable

Description

Default

ITGLUE_API_KEY

Your IT Glue API key (required)

-

ITGLUE_API_URL

IT Glue API base URL

https://api.itglue.com

ITGLUE_TIMEOUT

Request timeout in seconds

30.0

ITGLUE_MAX_RETRIES

Maximum retry attempts

3

Regional API URLs

  • US: https://api.itglue.com (default)

  • EU: https://api.eu.itglue.com

  • Australia: https://api.au.itglue.com

Getting an API Key

  1. Log in to IT Glue

  2. Go to Account Settings > API Keys

  3. Generate a new API key

  4. Store it securely - keys do not expire but can be revoked

Usage

Running the Server

# Using the installed script
mcp-itglue

# Or directly with Python
python -m mcp_itglue.server

Claude Desktop Integration

Add the following to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "itglue": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/mcp-itglue",
        "run",
        "mcp-itglue"
      ],
      "env": {
        "ITGLUE_API_KEY": "your-api-key-here"
      }
    }
  }
}

Restart Claude Desktop after updating the configuration.

Available Tools (80+)

Organizations (5 tools)

Tool

Description

list_organizations

List organizations with optional filters

get_organization

Get a specific organization by ID

search_organizations

Search organizations by name

create_organization

Create a new organization

update_organization

Update an existing organization

Configurations (5 tools)

Tool

Description

list_configurations

List configurations with optional filters

get_configuration

Get a specific configuration by ID

search_configurations

Search configurations by name/hostname

create_configuration

Create a new configuration

update_configuration

Update an existing configuration

Passwords (6 tools)

Tool

Description

list_passwords

List passwords (values hidden by default)

get_password

Get a password with optional value retrieval

search_passwords

Search passwords by name

create_password

Create a new password entry

update_password

Update an existing password

delete_password

Delete a password entry

Contacts (6 tools)

Tool

Description

list_contacts

List contacts with optional filters

get_contact

Get a specific contact by ID

search_contacts

Search contacts by name

create_contact

Create a new contact

update_contact

Update an existing contact

delete_contact

Delete a contact

Flexible Assets (10 tools)

Tool

Description

list_flexible_asset_types

List all flexible asset type schemas

get_flexible_asset_type

Get type with field definitions

list_flexible_asset_fields

List fields for a type

list_flexible_assets

List flexible asset instances

get_flexible_asset

Get a specific flexible asset

search_flexible_assets

Search flexible assets by name

create_flexible_asset

Create a new flexible asset

update_flexible_asset

Update an existing flexible asset

delete_flexible_asset

Delete a flexible asset

get_organization_flexible_assets

Get all flexible assets for an org

Checklists (10 tools)

Tool

Description

list_checklists

List checklists with optional filters

get_checklist

Get checklist with tasks

get_organization_checklists

Get checklists for an organization

create_checklist

Create a new checklist

update_checklist

Update an existing checklist

complete_checklist

Mark a checklist as completed

uncomplete_checklist

Mark a checklist as incomplete

delete_checklists

Delete multiple checklists

list_incomplete_checklists

List incomplete/overdue checklists

Documents (7 tools)

Tool

Description

list_documents

List documents with optional filters

get_document

Get document with content

search_documents

Search documents by name

update_document

Update document metadata/content

get_organization_documents

Get documents for an organization

list_document_folders

List document folders

get_document_folder

Get a specific document folder

Locations (7 tools)

Tool

Description

list_locations

List locations with optional filters

get_location

Get a specific location

search_locations

Search locations by name

create_location

Create a new location

update_location

Update an existing location

delete_location

Delete a location

get_organization_locations

Get locations for an organization

Domains (5 tools)

Tool

Description

list_domains

List domains with optional filters

get_domain

Get a specific domain

search_domains

Search domains by name

get_organization_domains

Get domains for an organization

list_expiring_domains

List domains expiring soon

Tool

Description

list_related_items

List items related to a resource

create_related_item

Create a relationship

update_related_item

Update relationship notes

delete_related_items

Delete relationships

get_configuration_relationships

Get all relationships for a config

get_contact_relationships

Get all relationships for a contact

get_flexible_asset_relationships

Get relationships for a flexible asset

Reference Data (15 tools)

Tool

Description

list_manufacturers

List device manufacturers

search_manufacturers

Search manufacturers by name

list_models

List device models

search_models

Search models by name

list_operating_systems

List operating systems

search_operating_systems

Search operating systems

list_configuration_types

List configuration types

list_configuration_statuses

List configuration statuses

list_contact_types

List contact types

list_organization_types

List organization types

list_organization_statuses

List organization statuses

list_password_categories

List password categories

list_countries

List countries

list_regions

List regions for a country

get_all_reference_data

Get all reference data at once

Error Handling

The client provides structured error types:

from mcp_itglue.client import (
    ITGlueError,           # Base error
    ITGlueAuthError,       # 401/403 - Authentication/authorization failed
    ITGlueNotFoundError,   # 404 - Resource not found
    ITGlueValidationError, # 400/422 - Request validation failed
    ITGlueConflictError,   # 409 - Resource conflict
    ITGlueRateLimitError,  # 429 - Rate limit exceeded
    ITGlueServerError,     # 5xx - Server errors
)

All errors include:

  • message: Human-readable error message

  • status_code: HTTP status code

  • errors: List of structured error details from the API

Rate Limiting

IT Glue API allows a maximum of 3000 requests per 5-minute window. The client automatically:

  • Retries on rate limit errors (429) with exponential backoff

  • Respects Retry-After headers when provided

  • Retries on transient server errors (500, 502, 503, 504)

Project Structure

mcp-itglue/
├── pyproject.toml           # Project configuration
├── README.md                 # This file
└── src/
    └── mcp_itglue/
        ├── __init__.py       # Package initialization
        ├── server.py         # Main MCP server
        ├── client.py         # IT Glue API client with retry logic
        ├── config.py         # Configuration management
        └── tools/
            ├── __init__.py
            ├── organizations.py
            ├── configurations.py
            ├── passwords.py
            ├── contacts.py
            ├── flexible_assets.py
            ├── checklists.py
            ├── documents.py
            ├── locations.py
            ├── domains.py
            ├── related_items.py
            └── reference_data.py

Adding New Resources

The modular architecture makes it easy to add new IT Glue resources:

  1. Create a new file in src/mcp_itglue/tools/ (e.g., ssl_certificates.py)

  2. Define a register_*_tools(mcp, client) function

  3. Import and export it in tools/__init__.py

  4. Call the registration function in server.py

Example:

# src/mcp_itglue/tools/ssl_certificates.py
from mcp.server.fastmcp import FastMCP
from ..client import ITGlueClient, get_client

def register_ssl_certificate_tools(mcp: FastMCP, client: ITGlueClient | None = None) -> None:
    client = client or get_client()

    @mcp.tool()
    async def list_ssl_certificates(organization_id: int | None = None) -> str:
        """List SSL certificates from IT Glue."""
        # Implementation...

Development

Running Tests

# Install dev dependencies
uv pip install -e ".[dev]"

# Run tests
pytest

Code Formatting

ruff check .
ruff format .

License

MIT License - see LICENSE for details.

Resources

Available Tools

105 tools
browser_closeA

Close the persistent browser if it's open.

Use this to manually close the browser when you're done with operations that require authentication. Only needed when browser persistence is enabled (browser_keep_open enabled=True).

Returns: Confirmation message

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses the action, the conditional 'if open', and the return type (confirmation message). It doesn't detail edge cases like behavior when browser is already closed, but 'if it's open' implies idempotency. This is adequate for a simple close operation.

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

Conciseness5/5

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

The description is extremely concise: three short sentences plus a returns line. The main action is front-loaded, and every sentence adds value. No unnecessary details.

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

Completeness5/5

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

For a tool with no parameters and an output schema, the description is complete. It covers what it does, when to use it, and what it returns. The low complexity means nothing is missing for an agent to call it correctly.

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

Parameters4/5

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

There are zero parameters, so the schema trivially covers all. The description doesn't need to explain parameters. Baseline for 0 params is 4; no additional info is required.

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

Purpose5/5

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

The description clearly states the action: close the persistent browser. It specifies the resource (persistent browser) and condition (if open), which is distinct from sibling tools like browser_keep_open and browser_status. The purpose is unambiguous.

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

Usage Guidelines4/5

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

The description provides explicit context: use when done with authentication operations and only when persistence is enabled. It references browser_keep_open to clarify the condition. It doesn't compare with session_browser_close, but the guidance is clear enough for selection.

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

browser_keep_openA

Enable or disable browser persistence after authentication.

When enabled (True), the browser window stays open after capturing authentication tokens. This is useful when you have multiple operations that need authentication - you only need to log in once per session.

When disabled (False, the default), the browser closes automatically after each authentication capture.

Args: enabled: True to keep browser open after auth, False to close it

Returns: Confirmation of the new setting

ParametersJSON Schema
NameRequiredDescriptionDefault
enabledYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses the default (False) and the consequence of each setting ('browser closes automatically' vs 'stays open'). This is clear and adequate for the tool's simple state-change nature.

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 well-structured with an Args section and Returns note. Every sentence contributes useful information; it is slightly verbose but not padded. The key information is front-loaded.

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

Completeness4/5

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

For a single-boolean toggle, the description covers the parameter, usage rationale, default behavior, and return value. It could mention persistence across sessions or side effects, but those are not critical for correct invocation.

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

Parameters5/5

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

The schema only provides a boolean named 'enabled', but the description explains its meaning precisely: 'True to keep browser open after auth, False to close it'. This adds significant value beyond the schema.

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

Purpose4/5

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

The description clearly states the action ('Enable or disable browser persistence') and the resource (browser after authentication). It is distinguishable from most siblings, though it does not explicitly differentiate from the similar 'session_browser_keep_open' tool.

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

Usage Guidelines4/5

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

It explains when to enable persistence ('multiple operations that need authentication') and notes the default behavior. It does not explicitly mention when not to use it or alternative tools, but the context is sufficient.

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

browser_statusB

Check the current browser persistence status.

Returns information about:

  • Whether browser persistence is enabled

  • Whether a browser is currently open

Returns: JSON string with browser status

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the burden of behavioral disclosure. It mentions that it returns a JSON string and lists the two pieces of information it returns, implying a read-only operation. However, it does not explicitly state that it has no side effects, nor does it mention any permissions or prerequisites. For a status-checking tool, this is adequate but not exhaustive.

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

Conciseness4/5

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

The description is concise and well-structured, with a brief overview and bullet points listing the returned information. The 'Returns:' line is slightly redundant with the bullet list, but the overall structure is clear and front-loaded. It does not waste words, though it could be slightly tighter.

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

Completeness3/5

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

The tool has an output schema (indicated by 'Has output schema: true'), so the description does not need to detail the return format beyond what the schema provides. It covers the essential information about the status. However, it lacks a clear differentiation from the sibling 'session_browser_status', which could lead to incorrect tool selection. For a simple status check, this is mostly complete but not fully contextual.

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, so there is no need for parameter explanations. The baseline for a zero-parameter tool is 4, and the description does not attempt to add irrelevant parameter information, so it meets this 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 tool's purpose: checking browser persistence status and returning specific information. It uses a specific verb ('Check') and resource ('browser persistence status'). However, it does not distinguish itself from the sibling tool 'session_browser_status', which likely serves a similar or overlapping function. A clear purpose but lacking 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 'session_browser_status' or 'session_status'. The description only explains what the tool does, not under what conditions it should be selected. For a tool with multiple closely related siblings, this is a significant gap.

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

complete_checklistC

Mark a checklist as completed.

Args: checklist_id: The checklist ID

Returns: JSON string with the updated checklist

ParametersJSON Schema
NameRequiredDescriptionDefault
checklist_idYes

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 that the checklist is marked completed and returns the updated checklist, but it does not disclose side effects, reversibility, permission requirements, or what 'completed' implies. For a state-changing mutation, this is a notable gap.

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

Conciseness4/5

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

The description is concise and well-structured with an Args/Returns format. It avoids unnecessary prose and front-loads the primary action. The only minor issue is that the parameter line is redundant with the schema.

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 single-parameter mutation, the description provides the core operation and return type. However, with no annotations, it omits usage context, behavioral side effects, and any alternatives. It is minimally viable but leaves an agent guessing about the operation's implications.

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. However, it only restates the parameter as 'The checklist ID', adding essentially no meaning beyond the property name and type. It could mention required format, constraints, or how to obtain the ID, but does not.

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

Purpose4/5

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

The description states a specific action ('Mark a checklist as completed') with a clear resource. It is distinct from siblings like uncomplete_checklist and update_checklist, though it doesn't explicitly name them. The purpose is unambiguous and matches the tool name.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives such as update_checklist or complete_checklist_task_jwt. It does not indicate prerequisites (e.g., checklist must exist, must be incomplete) or exclusions. The description simply states what it does without any contextual decision support.

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

complete_checklist_task_jwtA

Mark a checklist task as completed using JWT authentication.

Args: task_id: Task ID to complete

Returns: JSON string with the updated task

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full disclosure burden. It discloses that the tool mutates a task to completed, requires JWT authentication, and returns a JSON string with the updated task. It does not cover side effects, permission requirements, reversibility, or error behavior, but the core behavioral expectation is present.

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

Conciseness4/5

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

The description is short and well-structured with Args and Returns sections. It front-loads the action and avoids filler. It earns its place, though a bit more context on usage would not hurt.

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 single-parameter mutation tool with no annotations, the description covers the action, authentication method, parameter, and return value. Since an output schema exists, not detailing the return structure is acceptable. Gaps remain around when to use this tool versus sibling tools and how the JWT token is supplied, so it is only minimally 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?

Schema description coverage is 0%, so the description must compensate. It states 'task_id: Task ID to complete,' which adds only minimal meaning beyond the schema's property name and title. It does not explain how to obtain the task_id, what type of task it refers to, or how it relates to checklist-level IDs, so the compensation is thin.

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

Purpose5/5

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

The description states a specific verb ('Mark') and resource ('checklist task') with an explicit outcome ('as completed'). It also includes 'using JWT authentication', which helps distinguish it from sibling tools like complete_checklist. The purpose is unambiguous.

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

Usage Guidelines3/5

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

The phrase 'using JWT authentication' implies this variant is for JWT-authenticated operations, providing a weak usage signal. However, it does not explicitly state when to prefer it over complete_checklist or mention any exclusions or alternatives, leaving the selection largely to inference.

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

create_checklist_from_template_jwtA

Create a checklist from a template using JWT authentication.

This tool uses JWT authentication (captured from browser session) instead of API key authentication. This is REQUIRED for checklist creation because IT Glue's API key auth doesn't support it.

If no valid JWT token is cached, this will open a browser window for SAML authentication.

Args: organization_id: Organization ID checklist_template_id: Template ID to create from name: Optional custom name (uses template name if not provided) due_date: Due date in ISO format (YYYY-MM-DD) assignee_id: User ID to assign the checklist to

Returns: JSON string with the created checklist

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
due_dateNo
assignee_idNo
organization_idYes
checklist_template_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses that JWT auth is used, that a browser window may open for SAML if no token is cached, and that it returns a JSON string. It also explains parameter behaviors like optional name and ISO date format. It doesn't mention other side effects beyond creation, but creation is implied and the key behavioral quirks are covered.

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 well-organized: a one-line summary, then an explanation of authentication necessity, then a clear Args list, and a Returns line. It front-loads the purpose and includes necessary details without excessive fluff. It is slightly long but each sentence earns its place.

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

Completeness4/5

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

Given no annotations and an output schema, the description provides essential context: purpose, auth method, parameter meanings, and return type. It also covers the unexpected behavior of opening a browser for SAML. It lacks explicit error handling or prerequisites beyond auth, but those are not critical for invocation.

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

Parameters5/5

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

Since the schema has 0% description coverage, the description compensates thoroughly by explaining each parameter: organization_id, checklist_template_id, name (optional, uses template name if omitted), due_date (ISO format), assignee_id (user ID). This adds meaning beyond the schema's type information and default values.

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

Purpose5/5

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

The description clearly states the tool creates a checklist from a template using JWT authentication. It uses a specific verb ('Create') and resource ('checklist from template'), and differentiates from other checklist tools by specifying the JWT method. It is unambiguous and distinct from siblings like create_checklist_jwt.

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

Usage Guidelines5/5

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

The description explicitly states that JWT authentication is REQUIRED for checklist creation because IT Glue's API key auth doesn't support it, making it clear when to use this tool over alternatives. It also explains the browser fallback for SAML if no token is cached, providing context on prerequisites and the need for this specific tool.

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

create_checklist_jwtA

Create a new checklist using JWT authentication.

This tool uses JWT authentication (captured from browser session) instead of API key authentication. This is REQUIRED for checklist creation because IT Glue's API key auth doesn't support it.

If no valid JWT token is cached, this will open a browser window for SAML authentication.

Args: organization_id: Organization ID (required) name: Checklist name description: Checklist description checklist_template_id: Optional template ID to create from due_date: Due date in ISO format (YYYY-MM-DD) assignee_id: User ID to assign the checklist to restricted: Whether the checklist is restricted

Returns: JSON string with the created checklist

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
due_dateNo
restrictedNo
assignee_idNo
descriptionNo
organization_idYes
checklist_template_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does substantial work: it discloses the JWT authentication mechanism, the browser/SAML side effect when no token is cached, and the JSON return format. It doesn't cover permissions or failure handling in detail, but it makes the main non-obvious behavior visible.

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 organized into purpose, auth warning, args, and return sections, making it scannable. The auth rationale is stated twice in slightly different forms, but no sentence is wasted for a tool with 7 parameters and no schema documentation.

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?

The definition covers everything required to invoke the tool: required and optional parameters, auth prerequisite, browser side effect, and return type. It would be more complete with an explicit pointer to create_checklist_from_template_jwt when a template-only creation is intended, and it doesn't mark name as required in the prose, but the schema covers requiredness.

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?

Schema description coverage is 0%, so the description is the only prose source for parameter meaning. It enumerates all seven parameters and adds useful semantics: due_date format, optional template ID, assignee ID meaning, and restricted flag. Some descriptions are tautological ('name: Checklist name') and organization_id is the only parameter marked required, but the schema already pins required fields.

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

Purpose4/5

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

The description opens with a specific verb ('Create') and resource ('new checklist'), and explains the JWT authentication requirement so the agent knows which auth path applies. However, it doesn't distinguish itself from the sibling create_checklist_from_template_jwt, which could also create a checklist with a template ID, so sibling differentiation is incomplete.

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

Usage Guidelines4/5

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

The text explicitly says JWT is REQUIRED for checklist creation because IT Glue's API key auth doesn't support it, giving clear when-to-use context. It also warns that a missing cached token will open a browser window for SAML, which sets user expectations. It doesn't name alternatives or say when not to use the template-based sibling, so it's just below a top score.

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

create_checklist_task_jwtA

Create a new task on a checklist using JWT authentication.

This tool uses JWT authentication (captured from browser session) instead of API key authentication. This is REQUIRED for task creation because IT Glue's public API doesn't expose the checklist_tasks POST endpoint.

If no valid JWT token is cached, this will open a browser window for SAML authentication.

Args: checklist_id: Checklist ID to add the task to (required) name: Task name (required) description: Task description due_date: Due date in ISO format (YYYY-MM-DD) assignee_id: User ID to assign the task to position: Position/order of the task in the list completed: Whether the task is already completed (default: False)

Returns: JSON string with the created task

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
due_dateNo
positionNo
completedNo
assignee_idNo
descriptionNo
checklist_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are provided, so the description carries the burden. It discloses the JWT authentication mechanism, the side effect of opening a browser window for SAML if no token is cached, and the JSON string return value. It doesn't elaborate on failure modes or reversibility, but for a create operation this level of transparency is solid.

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

Conciseness5/5

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

The description is well-structured with a clear purpose statement, auth rationale, side-effect disclosure, parameter list, and return type. Every section earns its place; the only minor redundancy is repeating 'JWT authentication,' but the expansion about the API limitation justifies it.

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?

With seven parameters, no annotations, and an output schema available, the description covers the essential context: required params, formats, auth behavior, browser side effect, and return type. It could mention potential errors or user interaction during SAML, but the output schema and existing detail make it largely complete.

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

Parameters5/5

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

The input schema has 0% description coverage, but the Args section documents all seven parameters, marks required ones, gives the ISO date format for due_date, and notes the default for completed. This fully compensates for the silent schema and adds actionable detail.

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

Purpose5/5

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

The description states a specific verb and resource: 'Create a new task on a checklist using JWT authentication.' It also differentiates itself from API-key-based authentication and explains why JWT is required because IT Glue's public API lacks the checklist_tasks POST endpoint, which clearly distinguishes it from other checklist operations.

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

Usage Guidelines4/5

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

It gives clear usage context: task creation requires JWT because the alternative API-key path doesn't work. However, it doesn't explicitly name sibling alternatives like update_checklist_task_jwt or delete_checklist_task_jwt, so while the when-to-use is clear, the when-not-to-use is only implied.

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

create_configurationC

Create a new configuration (device/asset) in IT Glue.

Args: organization_id: Organization ID (required) name: Configuration name (required) configuration_type_id: Configuration type ID (required) hostname: Device hostname primary_ip: Primary IP address mac_address: MAC address serial_number: Serial number asset_tag: Asset tag configuration_status_id: Configuration status ID manufacturer_id: Manufacturer ID model_id: Model ID operating_system_id: Operating system ID operating_system_notes: OS notes notes: General notes

Returns: JSON string with the created configuration

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
notesNo
hostnameNo
model_idNo
asset_tagNo
primary_ipNo
mac_addressNo
serial_numberNo
manufacturer_idNo
organization_idYes
operating_system_idNo
configuration_type_idYes
operating_system_notesNo
configuration_status_idNo

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 obvious side effect ('Create') and return value, but does not disclose permissions, validation rules, whether IDs must pre-exist, or any failure/partial-write behavior.

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

Conciseness2/5

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

The opening one-liner is concise and meaningful, but the long Args block largely duplicates the input schema's property names and titles. Since the schema already provides this structure, the description spends most of its length repeating structured data rather than adding value.

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 14-parameter create operation with no annotations, this is incomplete. It omits how to obtain the many reference IDs, does not mention that a new organization/config relation may be required, and provides no guidance on preconditions or expected failures despite having many related sibling tools that could supply that 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?

With 0% schema description coverage, the description at least lists all 14 parameters with human-readable labels and flags the 3 required ones. However, most entries simply re-state the parameter names and do not add real semantics like ID lookup sources, value formats, or constraints.

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

Purpose5/5

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

The description clearly states a specific action ('Create a new configuration') and resource ('device/asset in IT Glue'), and the word 'new' distinguishes it from update/list/get/search configuration siblings without needing to inspect schemas.

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

Usage Guidelines2/5

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

No guidance is given about when to use this tool versus update_configuration, nor about prerequisites such as looking up configuration_type_id, manufacturer_id, model_id, or operating_system_id from reference-data endpoints. The required-parameter list is not usage guidance.

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

create_contactC

Create a new contact in IT Glue.

Args: organization_id: Organization ID (required) first_name: Contact first name (required) last_name: Contact last name (required) contact_type_id: Contact type ID location_id: Location ID title: Job title important: Whether this is an important contact notes: Additional notes contact_emails: List of email objects with 'value' and optional 'label_name', 'primary' contact_phones: List of phone objects with 'value' and optional 'label_name', 'primary', 'extension'

Returns: JSON string with the created contact

ParametersJSON Schema
NameRequiredDescriptionDefault
notesNo
titleNo
importantNo
last_nameYes
first_nameYes
location_idNo
contact_emailsNo
contact_phonesNo
contact_type_idNo
organization_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 must disclose behavior such as whether it is a safe operation, if it can be reverted, or if there are side effects. It mentions 'Returns: JSON string with the created contact', which gives some output context, but does not cover potential errors, idempotency, or required permissions. This is a significant gap for a mutation tool.

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

Conciseness4/5

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

The description is well-structured with a clear Args section listing parameters and a Returns section. It is concise but complete for what it covers. No wasted words, and it is reasonably sized for a 10-parameter tool.

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

Completeness2/5

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

Given the tool's complexity (10 parameters, 3 required, no annotations, and low schema coverage), the description as it stands is minimal. It lists parameters but omits details on how nested objects should be structured, what the JSON output contains beyond 'created contact', and any prerequisites (e.g., organization must exist). It does not fully equip an agent to call it correctly.

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

Parameters3/5

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

The description adds a brief description for each parameter (e.g., 'Contact first name (required)'), which adds meaning beyond the schema titles. However, the schema coverage is 0%, so the description must compensate for that, but it does not elaborate deeply on complex parameters like contact_emails whose object structure is unspecified in the schema. It provides basic semantics but not comprehensive guidance.

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 'Create a new contact in IT Glue' with a specific verb and resource. It lists the parameters and expected return. While it doesn't explicitly distinguish from sibling tools like update_contact, the name and purpose are clear enough for basic understanding.

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. It doesn't mention that this tool is for creating, not updating, or any prerequisites like requiring an organization to exist. The description only lists parameters 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.

create_documentA

Create a new document in IT Glue.

Args: organization_id: Organization ID (required) name: Document name/title (required) content: Document content as HTML (required) document_folder_id: Optional folder ID to place document in public: Whether the document is publicly visible (default False)

Returns: JSON string with the created document

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
publicNo
contentYes
organization_idYes
document_folder_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations present, the description carries the full burden of behavioral disclosure. It clearly indicates a mutating operation ('Create') and states the return type ('JSON string'), but it does not mention authentication requirements, validation behavior, whether the operation can partially fail, or side effects beyond creating a document. This is adequate but not rich.

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

Conciseness5/5

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

The description is well-structured with clear Args and Returns sections, no redundant prose, and every sentence earns its place. It front-loads the core purpose and then packs parameter semantics into a compact, scannable list.

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?

All five parameters are documented with meanings, requiredness, and defaults, and the return type is stated as a JSON string. The description is sufficient for constructing a valid callache. It loses a point only because it does not mention the relationship to the JWT-based sibling tools or any authentication prerequisites, which would help an agent fully understand the invocation context.

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

Parameters5/5

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

The input schema has 0% description coverage, so the Args section fully compensates. It explains each parameter's meaning: organization_id is an Organization ID, content is 'Document content as HTML', document_folder_id is an optional placement folder, and public controls visibility with a default. It also marks required parameters, adding meaning beyond the raw 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 and resource: 'Create a new document in IT Glue.' It uses a specific verb plus resource and is readily distinguishable from get_document, update_document, delete_document, and search_documents. However, it does not differentiate itself from the sibling create_document_jwt, which likely performs a similar creation operation with different authentication.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool versus alternatives such as create_document_jwt or update_document. There are no stated conditions, exclusions, or hints about the intended context (e.g., authenticated session vs. JWT-based flow), leaving the agent to infer selection 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_document_jwtA

Create a new document with content using session authentication.

This tool uses session authentication (cookies + XSRF token from browser) to create documents with content. This is REQUIRED because IT Glue's public API doesn't persist document content.

Two-step process:

  1. Creates document shell via JWT/API

  2. Adds content via internal web API

If no valid session is cached, this will return an error asking you to run the session capture script.

Args: organization_id: Organization ID (required) name: Document name/title (required) content: Document content as HTML (required) document_folder_id: Optional folder ID to place document in public: Whether the document is publicly visible (default False)

Returns: JSON string with the created document

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
publicNo
contentYes
organization_idYes
document_folder_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations provided, the description carries the full behavioral burden and does so well. It discloses the session-auth mechanism (cookies + XSRF token), the two-step creation process, the reason the internal web API is needed, and the error condition for an expired/missing session. This goes well beyond a generic 'create' description.

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

Conciseness4/5

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

The description is relatively long but well-structured with a rationale, two-step process, error condition, args list, and return type. Each section earns its place given the tool's complexityasi. It could be tightened slightly, but nothing is fluff.

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

Completeness4/5

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

For a create operation with no annotations and no schema-level parameter descriptions, this description is nearly complete: it covers authentication, process, error handling, all parameters, and the return format. It doesn't explain how to obtain organization_id or document_folder_id, but those are discoverable through sibling tools and the output schema exists.

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?

Schema description coverage is 0%, so the description must compensate. It lists all five parameters with meaningful one-line explanations: content is HTML, public controls visibility, and document_folder_id places the document. It adds useful semantics beyond bare schema names, though organization_id could have been elaborated further.

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

Purpose5/5

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

The description states a specific verb, resource, and distinguishing mechanism: 'Create a new document with content using session authentication.' It explicitly explains why this tool is needed ('IT Glue's public API doesn't persist document content'), clearly separating it from siblings like create_document and update_document_jwt.

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

Usage Guidelines4/5

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

The description clearly communicates when this tool is required: whenever document content must persist through session authentication. It also explains the prerequisite of a valid cached session and the error behavior if that prerequisite is missing warning. However, it does not explicitly name alternatives or state when not to use this tool versus create_document.

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

create_flexible_assetA

Create a new flexible asset.

Args: organization_id: Organization ID (required) flexible_asset_type_id: Flexible asset type ID (required) traits: Dictionary of field values matching the type's schema. Keys should match field names, values should match field types.

Returns: JSON string with the created flexible asset

ParametersJSON Schema
NameRequiredDescriptionDefault
traitsYes
organization_idYes
flexible_asset_type_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

There are no annotations, so the description carries the behavioral burden. It clearly indicates a mutating creation operation and discloses the return value as a JSON string containing the created asset. It does not mention validation behavior, permission requirements, or what happens when trait values do not match the type schema, but the core behavior is transparent enough for a basic create 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 concise and well-structured: a one-line purpose statement, a compact Args block covering all parameters, and a short Returns line. No filler or redundant information is included, and the most important information is front-loaded.

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

Completeness4/5

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

For a create operation with three required parameters, the description supplies all necessary argument semantics and the return format. The dynamic nature of traits is acknowledged, though the description could be stronger by pointing the agent to sibling tools like get_flexible_asset_type or list_flexible_asset_fields to resolve the trait schema. Overall, an agent has enough information to make a correct call.

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?

Although schema description coverage is 0%, the Args section explicitly documents all three parameters: organization_id, flexible_asset_type_id, and traits. It adds crucial meaning to the generic 'traits' object by explaining that keys are field names and values must match the flexible asset type's schema. It stops short of describing how to discover the exact field names, but it compensates well for the schema's lack of descriptions.

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

Purpose5/5

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

The description uses a specific verb and resource: 'Create a new flexible asset.' This clearly distinguishes it from sibling tools like update_flexible_asset, delete_flexible_asset, list_flexible_assets, and unrelated create_* tools. No ambiguity remains about the operation or target.

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 intended use is implied by 'Create a new flexible asset' and the required arguments, but the description does not explicitly state when to choose this tool over alternatives or mention any exclusions. It provides no guidance about when not to use it or when a different flexible-asset tool is more appropriate.

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

create_locationB

Create a new location.

Args: organization_id: Organization ID (required) name: Location name (required) address_1: Street address line 1 address_2: Street address line 2 city: City name region_id: Region/state ID postal_code: Postal/ZIP code country_id: Country ID phone: Phone number fax: Fax number notes: Additional notes primary: Whether this is the primary location

Returns: JSON string with the created location

ParametersJSON Schema
NameRequiredDescriptionDefault
faxNo
cityNo
nameYes
notesNo
phoneNo
primaryNo
address_1No
address_2No
region_idNo
country_idNo
postal_codeNo
organization_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 must disclose behavioral traits, but it only states the return format ('JSON string with the created location'). It does not explain the side effects of setting primary=true, whether permissions are required, or what happens on duplicate names. This is a significant gap for a mutation tool.

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

Conciseness4/5

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

The description is well-structured: a one-sentence purpose, an Args list, and a Returns line. Every sentence serves a purpose, and there is no filler. It is longer than average due to the 12 parameters, but each entry is necessary because the schema lacks descriptions.

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 tool with 12 parameters, no annotations, and an output schema, the description covers parameter meanings and the return type adequately. However, it omits important context such as how to obtain valid region_id/country_id values (e.g., via list_regions/list_countries), what happens when primary is set, and whether address fields have dependencies. This makes the tool usable but not fully self-explanatory.

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?

Schema description coverage is 0%, so the description carries the burden of parameter documentation. It lists all 12 parameters with brief explanations, adding most value for less obvious fields like 'primary: Whether this is the primary location' and 'region_id: Region/state ID'. However, many explanations are nearly tautological (e.g., 'city: City name'), and no constraints or formats are provided.

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

Purpose4/5

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

The description starts with 'Create a new location.', which is a clear verb-resource statement that distinguishes this tool from its siblings (list_locations, update_location, delete_location, etc.). However, it gives no further detail about what a location means in this domain beyond the parameter names, so it stops short of being fully explicit.

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 update_location. It only lists arguments and a return type, leaving the agent to infer from the 'create' verb that this is for adding new locations. No prerequisites, exclusions, or alternative routing are mentioned.

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

create_organizationB

Create a new organization in IT Glue.

Args: name: Organization name (required) description: Organization description organization_type_id: Organization type ID organization_status_id: Organization status ID quick_notes: Quick notes for the organization

Returns: JSON string with the created organization

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
descriptionNo
quick_notesNo
organization_type_idNo
organization_status_idNo

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 says that a new organization is created and a JSON string is returned; it does not disclose permissions, validation behavior, duplicate-name handling, or effects of omitted optional fields.

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 well-structured with the purpose stated first, followed by an Args list and a Returns line. It is scannable and avoids unnecessary prose, though the Args section largely restates the schema.

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?

All parameters are listed and the return format is specified, with an output schema also present. However, operational context is missing, such as prerequisites for type/status IDs and behavior around optional fields, making the description adequate but not comprehensive.

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

Parameters3/5

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

The schema has 0% description coverage, and the Args section adds basic human-readable labels for all five parameters while marking name as required. This is helpful, but it does not explain where IDs come from, formats, or constraints beyond what the property names already imply.

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

Purpose5/5

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

The description states a specific verb and resource: 'Create a new organization in IT Glue.' It is immediately distinguishable from related siblings like update_organization, list_organizations, get_organization, and search_organizations.

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

Usage Guidelines2/5

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

No explicit guidance is given about when to use this tool versus alternatives. It does not mention that existing organizations should be updated via update_organization, nor that organization_type_id and organization_status_id may require lookups via list_organization_types or list_organization_statuses.

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

create_passwordA

Create a new password entry in IT Glue.

Args: organization_id: Organization ID (required) name: Password entry name (required) password: The password value (required) username: Associated username url: Associated URL password_category_id: Password category ID password_folder_id: Password folder ID notes: Additional notes resource_type: Related resource type (e.g., 'Configuration') resource_id: Related resource ID otp_secret: TOTP secret key (Base32 encoded, min 16 chars) for 2FA

Returns: JSON string with the created password entry (password value not included)

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNo
nameYes
notesNo
passwordYes
usernameNo
otp_secretNo
resource_idNo
resource_typeNo
organization_idYes
password_folder_idNo
password_category_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description carries the behavioral disclosure burden. It does disclose useful traits: return is a JSON string, the password value is not included, and otp_secret must be Base32 and at least 16 chars. However, it doesn't address general side effects beyond creation, authorization requirements, error behavior, or idempotency. Adequate but not rich.

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

Conciseness5/5

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

The description is compact and well-organizzed: a one-sentence purpose, an Args block, and a Returns line. Every line adds value, there is no filler, and the core purpose is front-loaded before parameter details.

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

Completeness4/5

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

For a tool with 11 parameters and 3 required, the description covers all parameters, required markers, and the return behavior, including the notable detail that the password value is not returned. It lacks explicit usage guidance and side-effect nuances, but the schema and output schema cover some of that burden. Strong overall, with minor gaps around prerequisites and alternatives.

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?

Schema description coverage is 0 %, so the desccription must compensate. It enumerates all 11 parameters, marks the three required ones, and adds meaningful extra context for otp_secret ('TOTP secret key (Base32 encoded, min 16 chars) for 2FA') and resource_type (e.g., 'Configuration'). Though terse, it gives agents semantics beyond bare schema types.

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

Purpose5/5

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

The description opens with 'Create a new password entry in IT Glue' – a specific verb, resource, and system. This clearly distinguishes it from sibling tools like update_password, delete_password, list_passwords, and get_password. There is no ambiguity about what the tool does.

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

Usage Guidelines3/5

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

The phrase 'Create a new password entry' implies use for new records, so an agent can infer when to call it versus update/delete siblings. However, it offers no explicit when-to-use or when-not-to-use guidance, no prerequisites (e.g., needing an existing organization_id or category/folder IDs), and never names alternative tools. Usage is implied rather than stated.

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

delete_checklistsA

Delete multiple checklists.

Args: checklist_ids: List of checklist IDs to delete

Returns: JSON string with deletion confirmation

ParametersJSON Schema
NameRequiredDescriptionDefault
checklist_idsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden, but it only states the action and the return value. It does not disclose that deletion is permanent, whether it cascades to associated tasks or templates, any permission requirements, or error behavior.

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

Conciseness5/5

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

The description is short and front-loaded, with the core action stated in one sentence and then minimal, clear Args and Returns sections. Every line earns its place and there is no filler.

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

Completeness3/5

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

For a simple one-parameter call, the description and existing output schema are mostly sufficient. However, for a destructive bulk operation with no annotations, the missing permanence/cascade caveats are a notable gap that an agent would benefit from before invoking it.

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?

Schema coverage is 0%, but the description explicitly defines checklist_ids as 'List of checklist IDs to delete,' adding meaning beyond the bare schema type and title. It fully conveys the single parameter's purpose, though details like empty-list validity or existence requirements are not addressed.

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

Purpose5/5

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

The opening sentence 'Delete multiple checklists' names a specific verb and resource, and 'multiple' plus the 'checklist_ids' parameter make the bulk nature clear. This distinguishes it from sibling tools like update_checklist, complete_checklist, or get_checklist.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool rather than alternatives, no prerequisites are mentioned, and there is no stated exclusion for single or task-level deletions. The description provides no routing information relative to the many sibling checklist tools.

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

delete_checklist_task_jwtB

Delete a checklist task using JWT authentication.

This tool uses JWT authentication because IT Glue's public API doesn't support task deletion.

Args: task_id: Task ID to delete

Returns: JSON string with deletion confirmation

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does disclose that the operation deletes a task, uses JWT authentication, and returns a JSON confirmation string. However, it does not mention potential side effects, irreversibility, permission requirements, or failure behavior.

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

Conciseness4/5

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

The description is well-structured with an Args section and Returns section, and it is reasonably concise. The JWT rationale is useful, though the point that JWT authentication is used appears twice, creating slight 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?

For a single-parameter destructive operation, the description covers the core purpose, the parameter, and the return shape, and an output schema exists. It lacks information about authentication prerequisites, idempotency, or what happens if the task does not exist, but the simplicity of the tool keeps this from being a major gap.

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

Parameters3/5

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

Schema description coverage is 0%, so the description is the only documentation for the single parameter. It documents task_id as 'Task ID to delete,' which clarifies the parameter's role, but this adds little beyond what the parameter name and schema already imply. It is adequate but not rich.

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

Purpose5/5

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

The description clearly states a specific operation ('Delete a checklist task') and the resource affected. It also notes the JWT authentication approach, which distinguishes this tool from sibling tools like delete_checklists and makes its unique role easy to identify.

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 explains why JWT authentication is used rather than the public API, but it gives no explicit guidance about when to choose this tool over alternatives, when not to use it, or what conditions are required before calling it. The intended use is mostly implied by the name and one-line operation.

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

delete_contactC

Delete a contact from IT Glue.

Args: contact_id: The IT Glue contact ID

Returns: JSON string with deletion confirmation

ParametersJSON Schema
NameRequiredDescriptionDefault
contact_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. It states the deletion action but does not disclose whether the operation is destructive/permanent, whether confirmation is required, or what happens to related data. The return value is mentioned ('JSON string with deletion confirmation') but no details about error cases or side effects.

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

Conciseness4/5

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

The description is concise and front-loaded with the action. The Args/Returns structure is clear and efficient, though the Returns line is somewhat redundant with the output schema.

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

Completeness2/5

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

For a destructive operation with no annotations, the description is incomplete. It doesn't warn about permanence, cascading effects, or required permissions. The output schema exists but the description doesn't explain what 'deletion confirmation' contains or how to interpret failures.

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 does mention 'contact_id: The IT Glue contact ID', which adds a bit of context beyond the schema's bare type definition, but it doesn't explain how to obtain the ID or any format constraints. Baseline 3 is appropriate given the minimal compensation.

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 a contact') and the resource ('from IT Glue'), which is specific and unambiguous. It doesn't explicitly differentiate from sibling tools like delete_password or delete_document, but the resource is named, so an agent can distinguish it.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, no prerequisites, and no mention of consequences (e.g., whether deletion is permanent or cascades). It simply states the action, 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.

delete_documentA

Delete a document from IT Glue.

Args: document_id: The document ID to delete

Returns: JSON string with deletion confirmation

ParametersJSON Schema
NameRequiredDescriptionDefault
document_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.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 states only the fact of deletion and the return format; it does not disclose irreversibility, required permissions, cascading effects, or whether deletion is a hard delete/archive. For a destructive operation, this is a significant gap.

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

Conciseness5/5

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

The description is compact and well-structured: a one-sentence purpose, an Args list, and a Returns line. There is no redundant language or filler; every sentence earns its place.

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

Completeness3/5

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

For a one-parameter destructive operation with no annotations, the description provides the essential input and return type. However, it omits behavioral safeguards such as permissions, irreversibility, and error behavior. The existence of an output schema reduces the need to detail return fields, but the missing safety context keeps it from being 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?

Schema description coverage is 0%, but the description compensates by naming document_id and explaining its role: 'The document ID to delete.' This adds meaning beyond the schema's bare integer type. It could provide more context about where the ID comes from, but for a single parameter it is sufficient.

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

Purpose5/5

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

The description begins with a direct verb-object statement: 'Delete a document from IT Glue.' It clearly identifies the resource and action, and the destructive verb distinguishes it from get_document, create_document, update_document, and list_documents among the siblings. The Args/Returns structure reinforces the purpose.

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

Usage Guidelines3/5

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

Usage is implied by the verb 'Delete' and the required document_id, but there is no explicit guidance on when to choose this over update_document or get_document, nor any mention of prerequisites or exclusions. The description does not state that this should be used for permanent removal or caution about destructiveness.

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

delete_flexible_assetC

Delete a flexible asset.

Args: asset_id: The flexible asset ID

Returns: JSON string with deletion confirmation

ParametersJSON Schema
NameRequiredDescriptionDefault
asset_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 an asset but does not disclose whether deletion is permanent, whether it requires special permissions, or what happens to associated relationships. The return value is mentioned ('JSON string with deletion confirmation') but no behavioral detail beyond that.

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 compact and front-loaded with the core action. The Args and Returns sections are minimal and useful. It could be slightly more structured, but every sentence earns its place.

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

Completeness2/5

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

For a destructive tool with no annotations and no output schema details, the description is thin. It lacks information about permanence, side effects, permissions, or error conditions. The single parameter is documented, but the overall context is insufficient for an agent to invoke this safely and correctly.

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

Parameters3/5

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

Schema description coverage is 0%, but the description explicitly documents the single parameter: 'asset_id: The flexible asset ID.' This adds meaning beyond the raw schema, which only says 'Asset Id' with type integer. However, it doesn't clarify the ID format or how to obtain it, so it's adequate but not rich.

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

Purpose4/5

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

The description states a clear verb and resource: 'Delete a flexible asset.' This distinguishes it from sibling tools like update_flexible_asset and create_flexible_asset, though it doesn't explicitly name them. The action is unambiguous.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, no prerequisites, and no mention of consequences (e.g., whether deletion is permanent or cascades to related items). The context is minimal and leaves usage entirely to inference.

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

delete_locationC

Delete a location.

Args: location_id: The location ID

Returns: JSON string with deletion confirmation

ParametersJSON Schema
NameRequiredDescriptionDefault
location_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?

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states that deletion returns a JSON confirmation string and does not warn about irreversibility, permission requirements, or potential side effects on related data. For a destructive operation, this level of transparency is insufficient.

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 compact and front-loaded with the primary action, followed by a clear Args/Returns structure. It is not bloated, though the parameter line is essentially a restatement of the schema and could have been used to add richer context.

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

Completeness2/5

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

For a destructive tool with no annotations, the description lacks essential safety and usage context. It does not mention preconditions, consequences of deletion, or how this tool relates to other location tools. The output schema may explain the return value, but it does not compensate for the missing behavioral and operational details.

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 has 0% description coverage, so the description must compensate for the parameter's meaning. It merely repeats 'The location ID', which adds no value beyond the schema's property title. It does not explain how to obtain a location_id, what format is expected, or any constraints associated with 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 opens with 'Delete a location', a specific verb and resource, making the core operation unambiguous. It does not explicitly differentiate itself from sibling delete tools, but naming the 'location' resource is enough to separate it from tools like delete_password or delete_contact.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives such as search_locations, get_location, or other delete operations. It also does not mention prerequisites, such as confirming the location exists or checking for related items, 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.

delete_passwordB

Delete a password entry from IT Glue.

Args: password_id: The IT Glue password ID

Returns: JSON string with deletion confirmation

ParametersJSON Schema
NameRequiredDescriptionDefault
password_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are present, so the description carries the full burden of behavioral disclosure. It does mention that a JSON string deletion confirmation is returned, but it does not note that deletion is permanent, whether permissions are required, or whether related references are affected. For a destructive tool, this is thin.

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 compact and front-loaded with a clear purpose sentence, followed by scannable Args and Returns sections. The Args block is somewhat redundant with the schema, but the structure is efficient and easy to parse.

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

Completeness3/5

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

For a single-parameter destructive tool this is minimally adequate: the agent knows the action, the required parameter, and that a deletion confirmation is returned, with an output schema also present. It lacks warnings about permanence or operational caveats that would make it 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. The line 'password_id: The IT Glue password ID' adds minimal context beyond the schema's 'Password Id' title but gives no format, source, or validation details. It is sufficient for a simple integer ID, but no more.

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

Purpose5/5

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

States a specific verb ('Delete') and resource ('password entry') scoped to IT Glue, making it unambiguous among the many delete_* siblings such as delete_contact, delete_document, and delete_location. The purpose is immediately clear.

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 gives no explicit comparison to alternatives like update_password or create_password, and no when-not-to-use guidance. The only signal is the implied use case: when a password entry needs to be removed.

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

get_all_reference_dataA

Get all reference data in a single call.

This is useful for caching reference data locally or understanding what options are available. Returns the first page of each type.

Returns: JSON string with all reference data types

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses that only the first page of each type is returned and that the result is a JSON string, which is meaningful behavioral detail. It could say more about payload size or authentication, but for a zero-parameter read-only aggregate, this is adequate.

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 concise, well-structured, and front-loaded with the main purpose. The usage guidance and return-type note each earn their place without redundancy.

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

Completeness4/5

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

For a tool with no parameters and an output schema, the description covers purpose, use cases, and pagination behavior. It is complete enough for an agent to invoke correctly, though the phrase 'all reference data types' could be more explicit about what types are included.

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?

There are zero parameters, so the baseline is 4. The description adds no parameter-specific meaning, but none is needed since the input schema is an empty object.

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 identifies the tool as retrieving all reference data in a single call, with a resource and action. It implicitly distinguishes itself from the many individual list_* sibling tools by emphasizing the aggregate nature, though it does not explicitly name a sibling.

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

Usage Guidelines4/5

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

It states useful scenarios: caching reference data locally or understanding available options. This provides clear context for when to use the tool, though it does not explicitly contrast it with alternatives like list_countries or list_regions.

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

get_checklistA

Get a specific checklist by ID.

Args: checklist_id: The checklist ID include_tasks: Whether to include checklist tasks

Returns: JSON string with checklist details

ParametersJSON Schema
NameRequiredDescriptionDefault
checklist_idYes
include_tasksNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the behavioral transparency burden. It explicitly discloses that the tool returns a 'JSON string with checklist details', which is useful because the agent knows to expect a serialized string. It does not mention error cases or authentication, but for a read-only ID lookup this is a reasonable level of disclosure.

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 compact and front-loaded: the core purpose appears in the first sentence, followed by a clean Args/Returns structure. There is no filler or redundant repetition of the tool name.

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

Completeness4/5

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

For a simple two-parameter retrieval tool with an output schema, the description covers the essential elements: what it does, what arguments it takes, and the return type. It could be more complete by mentioning how checklist_id is obtained or by noting alternatives, but no critical information needed to invoke the tool correctly is missing.

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?

Schema description coverage is 0%, so the description must compensate, and it does by explicitly listing checklist_id and include_tasks with a short explanation for each. It adds meaning beyond the bare schema by clarifying that include_tasks controls whether checklist tasks are included in the response.

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

Purpose5/5

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

The description opens with 'Get a specific checklist by ID', which clearly states the action, resource, and unique identifier scope. This distinguishes it from listing tools like list_checklists or get_organization_checklists, since it targets retrieval by ID.

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

Usage Guidelines3/5

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

The description implies the right use case: call it when you already have a checklist_id and want one specific checklist. It does not explicitly mention alternatives such as list_checklists or get_organization_checklists, nor does it state when not to use this tool, so the guidance is inferred rather than explicit.

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

get_checklist_templateB

Get a specific checklist template by ID.

Args: template_id: The checklist template ID

Returns: JSON string with template details

ParametersJSON Schema
NameRequiredDescriptionDefault
template_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries the behavioral disclosure burden. It does disclose the return type ('JSON string with template details'), which is useful. However, it does not state whether the operation is read-only, what errors may occur, or any permission requirements, leaving the burden only partially fulfilled.

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 short, front-loaded with the purpose, and includes separate Args and Returns sections. Every sentence earns its place with no unnecessary fluff.

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

Completeness3/5

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

For a simple getter with one parameter, the description provides the core purpose, the required argument, and the return format. However, with no annotations or usage guidance, it lacks context about error behavior, whether the operation is safe/read-only, and how the template ID should be obtained.

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 for the missing parameter documentation. It only restates 'The checklist template ID', which adds no real meaning beyond the parameter name and title. It does not explain where the ID comes from, how it relates to list_checklist_templates, or any constraints.

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

Purpose4/5

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

The description clearly states the operation is 'Get' and the resource is 'a specific checklist template' identified by ID. It is unambiguous, though it does not explicitly call out sibling tools like list_checklist_templates or get_checklist for differentiation.

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

Usage Guidelines3/5

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

The phrase 'by ID' implies the tool should be used when a specific template_id is already known, but there is no explicit guidance about when to use list_checklist_templates instead or how to obtain a template_id. Usage context is only implicit.

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

get_configurationC

Get a specific configuration by ID.

Args: configuration_id: The IT Glue configuration ID

Returns: JSON string with configuration details

ParametersJSON Schema
NameRequiredDescriptionDefault
configuration_idYes

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 the full burden of behavioral disclosure. It mentions the return type ('JSON string') but does not disclose potential errors, authentication requirements, or any side effects. For a read operation this is a moderate gap, but the lack of any behavioral context beyond the return format limits the score.

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 short and front-loaded with the core action. The Args/Returns structure is clear and wastes no words, though the Returns line is somewhat redundant with the output schema.

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

Completeness3/5

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

For a simple single-parameter getter with an output schema, the description is mostly adequate. It lacks usage guidance and any error/edge-case context, but the operation is straightforward and the output schema covers return structure. A 3 reflects the minimal viable completeness for this simple 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 description must compensate. It names the parameter (configuration_id) and states it is the IT Glue configuration ID, which adds a small amount of meaning beyond the schema's bare 'Configuration Id' title. However, it does not explain the format, constraints, or how to obtain the ID, so compensation is incomplete.

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

Purpose4/5

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

The description states a specific verb ('Get') and resource ('configuration by ID'), which clearly identifies the operation. It does not explicitly differentiate from siblings like list_configurations or search_configurations, but the 'by ID' qualifier makes the purpose reasonably distinct.

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_configurations or search_configurations. The description simply states what it does without any context or exclusions, leaving the agent to infer usage.

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

get_configuration_relationshipsA

Get all items related to a specific configuration (device/asset).

This is a convenience method for a common use case.

Args: configuration_id: The configuration ID

Returns: JSON string with all related items

ParametersJSON Schema
NameRequiredDescriptionDefault
configuration_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

There are no annotations, so the description carries the full burden. It does disclose the return behavior ('Returns: JSON string with all related items'), which is useful for a getter. However, it doesn't mention anything about read-only status, permissions, pagination, or what 'all related items' means in practice, leaving some behavioral ambiguity.

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 concise and well-structured: a clear one-sentence purpose, a brief convenience context, then Args and Returns sections. Every sentence earns its place, though the convenience note is slightly redundant with the tool's purpose. The front-loading is good.

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

Completeness3/5

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

For a simple one-parameter getter with an output schema, this is adequate. It covers the core purpose, parameter, and return type. However, it doesn't differentiate from the generic list_related_items sibling, nor does it state preconditions or potential failure modes, leaving some gaps in an agent's ability to fully determine when and how to invoke it.

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 calling configuration_id 'the configuration ID' and linking configuration to 'device/asset,' which goes beyond the schema's bare integer type. Yet it doesn't explain how to obtain a valid configuration_id or any format expectations, so the compensation is only partial.

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

Purpose5/5

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

The description clearly states a specific verb and resource: 'Get all items related to a specific configuration (device/asset).' The parenthetical clarifies what a configuration is, and the tool is easily distinguishable from sibling relationship tools like get_contact_relationships and get_flexible_asset_relationships based on the configuration focus.

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 says 'This is a convenience method for a common use case,' which provides some usage context, but it never explicitly names alternatives or says when NOT to use this tool. An agent would need to infer that this is the configuration-specific version of list_related_items, but no direct guidance or exclusion is given.

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

get_contactA

Get a specific contact by ID.

Args: contact_id: The IT Glue contact ID

Returns: JSON string with contact details

ParametersJSON Schema
NameRequiredDescriptionDefault
contact_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/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 provides the output type ('JSON string with contact details') and the verb 'Get' implies read-only, but it does not explicitly state no side effects, error behavior for missing IDs, or authentication requirements.

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

Conciseness5/5

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

The description is concise and front-loaded, with a clear one-sentence purpose followed by well-labelled Args and Returns sections. No filler or redundant 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?

For a simple one-parameter getter, the description covers purpose, parameter, and return type. However, with no annotations, it lacks explicit handling of not-found cases, read-only confirmation, and guidance on when to use this tool instead of list_contacts or search_contacts.

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%, and the description adds 'The IT Glue contact ID' to explain contact_id. This provides minimal semantic context beyond the schema's title and type, but it does not elaborate on how to obtain the ID or any constraints beyond being an integer.

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

Purpose5/5

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

The description clearly states the verb and resource: 'Get a specific contact by ID.' It differentiates from sibling tools like list_contacts and search_contacts by specifying retrieval by a single ID, so an agent can tell it apart without opening schemas.

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

Usage Guidelines3/5

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

Usage is implied: 'Get a specific contact by ID' suggests this tool is for when you already have the contact_id. However, it does not explicitly contrast with list_contacts or search_contacts, nor does it state when not to use it.

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

get_contact_relationshipsA

Get all items related to a specific contact.

This is a convenience method for a common use case.

Args: contact_id: The contact ID

Returns: JSON string with all related items

ParametersJSON Schema
NameRequiredDescriptionDefault
contact_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does state that the tool returns 'a JSON string with all related items,' which is useful, but it does not describe edge cases, empty results, authorization needs, or whether the response is fully unfiltered. For a read-like 'get' tool this is adequate but not rich.

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

Conciseness4/5

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

The description is short, front-loaded with purpose, and includes a structured Args/Returns section. The 'convenience method' sentence adds a mild usage hint without being overly verbose, so nearly every part earns its place.

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

Completeness4/5

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

For a single-required-parameter tool with an output schema available, the description covers the core purpose and return format well. The main missing context is clearer guidance about when to use this versus sibling relationship tools, but the tool is simple enough that an agent can likely invoke it correctly.

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

Parameters2/5

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

The description only repeats 'contact_id: The contact ID,' which adds little beyond the schema's property name and integer type. With schema description coverage at 0%, the description should compensate by explaining where the ID comes from, what kind of contact ID is expected, or providing an example, but it does not.

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

Purpose5/5

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

The description uses a specific verb ('Get') and resource ('all items related to a specific contact'), making the tool's scope immediately clear. It distinguishes itself from sibling tools like get_configuration_relationships and get_flexible_asset_relationships by explicitly targeting contact relationships.

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

Usage Guidelines3/5

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

The phrase 'convenience method for a common use case' implies when this might be used, but the description does not explicitly state when to prefer it over alternatives such as list_related_items or the other relationship tools. There are no clear when-to-use or when-not-to-use conditions, leaving usage to be inferred.

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

get_documentB

Get a specific document by ID.

Args: document_id: The document ID

Returns: JSON string with document details including content

ParametersJSON Schema
NameRequiredDescriptionDefault
document_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. It states the return is a JSON string with document details including content, but doesn't disclose potential errors, permissions, or whether the document content is fully returned or truncated. For a read operation, this is a moderate gap.

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

Conciseness4/5

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

The description is compact and front-loaded with the core purpose. The Args/Returns structure is clear and wastes no words. It could be slightly more informative, but it is appropriately sized.

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

Completeness3/5

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

The tool has one required parameter and an output schema, so the description doesn't need to explain return structure in detail. It covers the basic call pattern. However, it doesn't mention error cases or any prerequisites, which for a simple get-by-ID tool is a minor gap.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It does explain that document_id is the document ID, which adds minimal meaning beyond the schema's type and title. It doesn't clarify the ID format or source, but for a simple integer ID this is adequate.

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

Purpose4/5

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

The description states a specific verb ('Get') and resource ('a specific document by ID'), which clearly distinguishes it from list_documents and search_documents. It doesn't explicitly name sibling alternatives, but the resource and ID-based retrieval are clear enough.

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: call this when you have a document ID and need a single document's details. It doesn't explicitly state when to use list_documents or search_documents instead, but the ID-based nature is a clear contextual signal.

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

get_document_folderC

Get a specific document folder by ID.

Args: folder_id: The document folder ID

Returns: JSON string with folder details

ParametersJSON Schema
NameRequiredDescriptionDefault
folder_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 discloses that it returns a JSON string with folder details, but it doesn't mention whether the folder is fetched from a specific organization context, whether it requires authentication, or what happens if the folder_id is invalid. The return format is mentioned, which is some credit, but behavioral traits beyond the basic operation are largely absent.

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 short and front-loaded with the main purpose. The Args and Returns sections are structured and easy to parse. No wasted words, though the Returns line is somewhat redundant with the output schema.

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

Completeness3/5

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

For a simple single-parameter getter with an output schema, the description is mostly adequate. It lacks context about when to use it versus list_document_folders, and doesn't mention any prerequisites or error behavior. Given the tool's simplicity, this is a minor gap, but the missing usage guidance prevents a higher score.

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 does name the parameter (folder_id) and its meaning ('The document folder ID'), which adds a bit of semantic value beyond the raw schema. However, it doesn't provide details like where to find the folder_id, format constraints, or how it relates to other resources. Baseline 3 is appropriate because the description adds minimal but non-zero meaning.

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

Purpose4/5

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

The description states a specific verb ('Get') and resource ('document folder by ID'), which clearly identifies the operation. It doesn't explicitly differentiate from sibling tools like list_document_folders or get_document, but the resource and ID-based retrieval are clear enough to distinguish it from most 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 on when to use this tool versus alternatives such as list_document_folders or get_organization_documents. The description simply states what it does without any context about when it is the right choice.

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

get_domainB

Get a specific domain by ID.

Args: domain_id: The domain ID

Returns: JSON string with domain details

ParametersJSON Schema
NameRequiredDescriptionDefault
domain_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the burden; it does state that this is a fetch operation returning a JSON string of domain details. It does not disclose not-found/error behavior or access requirements, but for a simple read-by-ID tool the basic behavior is adequately characterized.

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 short, front-loaded with the action, and uses a clear Args/Returns structure. The Args line is slightly redundant with the property name, so it is not flawless, but there is no real 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?

For a one-parameter fetch tool with an output schema, the description is minimally adequate: the resource, ID parameter, and return format are present. It is incomplete because it leaves usage-versus-sibling decisions and error behavior to 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%, so the description must compensate. The Args line (domain_id: The domain ID) merely restates the property name and adds no practical detail about where the ID comes from, its format, or its relationship to organization/domain resources.

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

Purpose4/5

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

The description uses a clear verb ('Get'), a specific resource ('domain'), and the retrieval criterion ('by ID'), which distinguishes it from list/search siblings in broad terms. It is not a 5 because it never explicitly contrasts with sibling tools like list_domains or search_domains.

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

Usage Guidelines3/5

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

The phrase 'by ID' implicitly tells an agent to use this when a domain identifier is already known rather than searching or listing. However, it gives no explicit when-not guidance and does not mention any alternative tools.

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

get_flexible_assetC

Get a specific flexible asset by ID.

Args: asset_id: The flexible asset ID

Returns: JSON string with the flexible asset details including all traits

ParametersJSON Schema
NameRequiredDescriptionDefault
asset_idYes

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?

Annotations are absent, so the description carries the full burden of behavioral disclosure. It states the return type (JSON string with details) but does not mention that it is a read-only operation, any permission requirements, or what happens if the asset does not exist. The lack of side-effect disclosure and error behavior is a gap.

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

Conciseness4/5

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

The description is concise and well-structured with a clear summary, args, and returns sections. It front-loads the purpose and avoids redundant text. The Returns sentence adds useful context about the output format, though it may duplicate output schema 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 simple get-by-ID tool, the description covers the basic input and output, but it lacks guidance on when to use this tool versus siblings, potential error scenarios, or prerequisites like authentication. Given the breadth of related flexible asset tools, this omission reduces completeness for an agent.

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

Parameters1/5

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

Schema description coverage is 0%, so the description must compensate. It only restates 'asset_id: The flexible asset ID,' which adds no new meaning beyond the parameter name and type. It fails to explain how to obtain the ID, any format constraints, or the relationship to other tools. This is insufficient given the zero coverage.

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

Purpose5/5

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

The description states the action clearly: 'Get a specific flexible asset by ID.' It specifies a verb (Get), resource (flexible asset), and selection criterion (by ID), which distinguishes it from sibling list and search tools. No ambiguity in purpose.

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

Usage Guidelines2/5

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

The description does not explicitly mention when to use this tool versus alternatives like list_flexible_assets or search_flexible_assets. It only implies that you need an asset ID, but provides no exclusions or alternative routing. The user must infer that this is for known IDs, which is insufficient.

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

get_flexible_asset_relationshipsC

Get all items related to a specific flexible asset.

This is a convenience method for a common use case.

Args: flexible_asset_id: The flexible asset ID

Returns: JSON string with all related items

ParametersJSON Schema
NameRequiredDescriptionDefault
flexible_asset_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 present, so the description carries full responsibility for behavioral disclosure. It only states the tool 'gets all items related' and returns a 'JSON string'. It doesn't mention error behavior for invalid IDs, whether results are limited/paginated, what types of related items are included, or any permissions needed. This is minimal for a read operation with no annotation support.

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

Conciseness4/5

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

The description is brief and to the point, with the core action front-loaded. The Args and Returns sections are minimal but not bloated. It earns points for being concise, though it sacrifices substance for brevity.

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

Completeness2/5

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

Despite having an output schema, the description doesn't elaborate on the nature of 'related items' or the structure of the returned JSON beyond stating it's a string. It lacks context about how this relates to the generic list_related_items or other relationship getters, and it doesn't cover edge cases or limits. For a tool with zero annotations and no param docs, this is incomplete.

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

Parameters1/5

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

Schema coverage is 0%, and the description's Args section just repeats the parameter name ('flexible_asset_id: The flexible asset ID') without adding meaning beyond the schema's title and type. The description fails to explain how the ID is used or any format expectations, leaving the agent with no additional semantic 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 tool's function: 'Get all items related to a specific flexible asset.' It uses a specific verb and resource, and the name reinforces the flexible asset context. However, it doesn't explicitly differentiate from the sibling 'list_related_items' or other relationship getters (e.g., get_configuration_relationships), though the name makes the distinction obvious.

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 phrase 'convenience method for a common use case' vaguely implies it's a shortcut but provides no explicit guidance on when to use this tool versus list_related_items or the configuration/contact-specific relationship tools. No when-not conditions or alternatives are named.

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

get_flexible_asset_typeB

Get a specific flexible asset type by ID.

Args: type_id: The flexible asset type ID include_fields: Whether to include field definitions

Returns: JSON string with the flexible asset type details

ParametersJSON Schema
NameRequiredDescriptionDefault
type_idYes
include_fieldsNo

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, the description carries the full burden of behavioral disclosure. It only states that it returns a JSON string and does not cover error handling, permission requirements, rate limits, or any side effects. While 'get' implies a read operation, this is not explicitly stated, and there is no mention of what happens if the type_id does not exist.

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

Conciseness4/5

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

The description is concise and well-structured with an Args and Returns section. It front-loads the primary purpose and includes only essential information without redundancy. The format is clean and easy to parse.

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

Completeness3/5

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

The description is adequate for a simple getter but lacks contextual detail. It does not explain when to use include_fields, how to handle errors, or what 'field definitions' refers to. Since an output schema exists, return structure is covered, but the absence of usage context and behavioral details makes it only minimally complete for a tool with no annotations.

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 a brief semantic for each parameter: type_id is 'The flexible asset type ID' and include_fields is 'Whether to include field definitions'. This adds clarity beyond the schema's types and titles, but it does not elaborate on what 'field definitions' entails or provide any constraints or format details. Given the schema coverage is 0%, the description compensates minimally but not fully.

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

Purpose5/5

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

The description states a clear verb ('Get') and resource ('specific flexible asset type by ID'), which distinguishes it from siblings like list_flexible_asset_types (which retrieves multiple) and get_flexible_asset (which retrieves an asset, not a type). The purpose is unambiguous.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives such as list_flexible_asset_types or get_flexible_asset. It also does not explain when to set include_fields to true or false, leaving the agent to infer the intended usage from the parameter name alone.

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

get_locationA

Get a specific location by ID.

Args: location_id: The location ID

Returns: JSON string with location details

ParametersJSON Schema
NameRequiredDescriptionDefault
location_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden of behavioral disclosure. It communicates a read operation and states that the return value is a JSON string with location details, but it does not mention not-found/error behavior or authentication requirements. For a simple getter this is minimally adequate.

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 short, front-loaded, and structured with concise Args and Returns sections. Every sentence contributes useful information without filler.

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

Completeness4/5

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

For a one-parameter read operation with an output schema, this description provides enough information to invoke the tool correctly. It lacks explicit alternative usage and error-case details, but those are not essential for a simple point lookup.

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

Parameters3/5

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

The schema has one required integer parameter with no description coverage. The tool description's Args section restates 'location_id: The location ID', which adds little beyond the schema title, but the parameter is a self-explanatory opaque ID and does not require extensive additional semantics.

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

Purpose5/5

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

The description states the verb 'Get', the resource 'location', and the access pattern 'specific ... by ID'. This clearly distinguishes it from collection-oriented siblings like list_locations and search_locations.

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

Usage Guidelines3/5

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

The phrase 'by ID' implies the caller must already know the location ID, but the description does not explicitly name alternatives such as search_locations or list_locations, nor does it state when not to use this tool. Usage guidance is present only by implication.

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

get_organizationB

Get a specific organization by ID.

Args: organization_id: The IT Glue organization ID

Returns: JSON string with organization details

ParametersJSON Schema
NameRequiredDescriptionDefault
organization_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. It states it returns a JSON string with organization details, but doesn't disclose behavior like whether it returns null/error for missing IDs, whether it requires authentication, or any rate limits. For a read operation, the lack of annotations makes this a notable gap.

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

Conciseness4/5

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

The description is compact and front-loaded with the core purpose. The Args/Returns structure is clear and wastes no words, though the Returns line is somewhat redundant with the output schema.

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

Completeness3/5

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

For a simple single-parameter read tool with an output schema, the description is mostly complete. However, with no annotations and no mention of error behavior or authentication, an agent might not know how to handle a missing or invalid ID. The output schema covers return structure, so that gap is acceptable.

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 explicitly documents the parameter 'organization_id: The IT Glue organization ID', adding meaning beyond the bare schema property. It doesn't add format details (e.g., integer range), but for a single simple parameter this is adequate.

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

Purpose4/5

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

The description states a specific verb ('Get') and resource ('a specific organization by ID'), which clearly distinguishes it from list_organizations and search_organizations. It doesn't explicitly name the sibling alternatives, but the resource and ID-based lookup are clear enough.

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

Usage Guidelines3/5

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

The description implies this is for fetching a single organization by ID, which is a clear context. However, it doesn't explicitly state when to use this versus list_organizations or search_organizations, nor does it mention any exclusions or prerequisites.

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

get_organization_checklistsB

Get all checklists for a specific organization.

Args: organization_id: The organization ID completed: Filter by completion status include_tasks: Whether to include checklist tasks page: Page number (starts at 1) page_size: Number of results per page (max 1000) output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with the organization's checklists

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
completedNo
page_sizeNo
save_to_fileNo
include_tasksNo
output_formatNocompact
organization_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description carries full behavioral burden. It does not state whether the operation is read-only, what side effects occur (beyond the optional save_to_file parameter), or any authentication/permission requirements. It also implies 'Get all' but introduces pagination parameters, creating ambiguity about whether the tool returns a single page or all results. No error handling or response format details beyond the return type are given.

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 well-structured as a docstring with Args and Returns sections. It is concise without redundancy, each line adds value. Slightly longer than necessary but efficiently organized, making it easy to scan.

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 covers parameters and return format, but lacks details on sorting, additional filters, or behavior for empty results. The 'Get all' vs pagination ambiguity is a notable gap. Since an output schema exists, return field details are not needed, but the description could clarify whether the tool returns a single page or all pages. Overall, it is adequate but incomplete for a tool with 7 parameters.

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

Parameters5/5

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

The description adds substantial meaning to every parameter beyond the schema. It explains each parameter's purpose, defaults, and options (e.g., output_format with three choices, page_size max, save_to_file behavior). Since schema description coverage is 0%, the description fully compensates and even adds usage details like 'starts at 1' and 'max 1000'.

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

Purpose4/5

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

States a clear verb and resource: 'Get all checklists for a specific organization.' The scope is explicit via 'organization_id'. While it doesn't explicitly name sibling alternatives, the name itself differentiates from list_checklists (all) and get_checklist (single), and the description clarifies the organizational scoping.

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 list_checklists or get_checklist. It does not mention any conditions, exclusions, or recommended contexts. The sibling list shows multiple checklist-related tools, but the description fails to differentiate usage, leaving the agent to infer based on names.

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

get_organization_documentsA

Get all documents for a specific organization.

Args: organization_id: The organization ID folder_id: Optional folder filter page: Page number (starts at 1) page_size: Number of results per page (max 1000) output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with the organization's documents

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
folder_idNo
page_sizeNo
save_to_fileNo
output_formatNocompact
organization_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It usefully discloses the return type, output_format behavior, and the save_to_file side effect of writing a temp file. However, it does not clarify the apparent tension between 'get all documents' and paginated page/page_size parameters, nor does it describe error or permission 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 opens with a one-line purpose, then uses a clean Args block and a Returns line. Every sentence adds useful information, and the structure is scannable. Despite being longer than many descriptions, it is efficient because all parameter details matter.

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

Completeness4/5

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

For a tool with six parameters and no annotations, the description covers inputs, output format, and unusual file-saving behavior well. It is missing guidance on choosing among sibling tools and edge-case behavior, but what is needed to make a correct call is largely present.

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

Parameters5/5

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

Schema description coverage is 0%, and the description fully compensates by documenting all six parameters: organization_id, folder_id, page starting at 1, page_size max of 1000, allowed output_format values, and save_to_file behavior. This is exactly the semantic enrichment an agent needs beyond the bare schema.

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

Purpose5/5

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

The description states a specific verb and resource: 'Get all documents for a specific organization.' This clearly distinguishes it from generic document tools like list_documents or get_document by adding the organization scope. The purpose is immediately understandable.

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

Usage Guidelines2/5

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

There is no explicit guidance about when to use this tool versus alternatives such as list_documents, search_documents, or get_document. The organization-scoped purpose implies usage, but no conditions or exclusions are stated. An agent must infer when this is the right choice over sibling tools.

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

get_organization_domainsA

Get all domains for a specific organization.

Args: organization_id: The organization ID page: Page number (starts at 1) page_size: Number of results per page (max 1000) output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with the organization's domains

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
page_sizeNo
save_to_fileNo
output_formatNocompact
organization_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It covers output format variants, pagination behavior, page_size limits, and the save_to_file side effect that writes to a temp file and returns its path. This is meaningful behavioral context beyond a simple 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 Args/Returns structure is clear and front-loaded with the tool's purpose. Every parameter line adds semantic value beyond the schema, with no filler or redundancy.

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

Completeness5/5

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

The description fully covers the input parameters, output behavior, output format options, and file-saving side effect. For a read-only domain retrieval tool with an output schema available, nothing essential for correct invocation is missing.

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

Parameters5/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 documents every parameter and adds details the schema lacks: page starts at 1, page_size max is 1000, output_format has enumerated values and a default, and save_to_file explains its side effect. This is excellent parameter-level guidance.

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

Purpose5/5

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

The description states a specific action and resource: getting all domains for a specific organization. This clearly distinguishes it from global domain tools like list_domains, get_domain, and search_domains among the siblings.

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

Usage Guidelines3/5

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

The phrase 'for a specific organization' implies when this tool should be used, but the description does not explicitly mention alternatives or exclusion conditions. Usage guidance is present but left to inference rather than stated directly.

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

get_organization_flexible_assetsA

Get all flexible assets for an organization.

Args: organization_id: The organization ID flexible_asset_type_id: Optional filter by type include_archived: Whether to include archived assets page: Page number (starts at 1) page_size: Number of results per page (max 1000) output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with the organization's flexible assets

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
page_sizeNo
save_to_fileNo
output_formatNocompact
organization_idYes
include_archivedNo
flexible_asset_type_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full behavioral burden. It discloses pagination parameters, archived filtering, output_format behaviors, and the save_to_file side effect of writing to a temp file and returning its path. It stops short of covering permissions, rate limits, or error behavior, but it gives enough for a safe read-oriented call.

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 front-loaded with a one-line purpose and then uses a clean Args/Returns structure where each parameter has exactly one explanatory line. There is no filler or repetition of schema defaults beyond what adds clarity.

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

Completeness5/5

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

The tool has 7 parameters)Skip and only 1 required, with no annotations and a 0% schema description coverage. The description covers all parameters, pagination constraints, output format options, the save_to_file path, and the return type. Combined with the existing output schema, this is enough for an agent to invoke the tool correctly.

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

Parameters5/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, and it does. Every parameter gets meaningful prose: organization_id is the required scope, flexible_asset_type_id is a filter, page starts at 1, page_size max is 1000, output_format lists all valid values, and save_to_file explains the temp-file behavior.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'Get all flexible assets for an organization.' This clearly separates it from siblings like get_flexible_asset (single asset) and search_flexible_assets (search behavior), and the organization scope distinguishes it from list_flexible_assets.

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 use when an agent needs organization-scoped flexible assets, and it clearly states the required organization_id. However, it never explicitly tells the agent when to prefer this over list_flexible_assets, search_flexible_assets, or get_flexible_asset, nor does it state when not to use it.

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

get_organization_locationsA

Get all locations for a specific organization.

Args: organization_id: The organization ID page: Page number (starts at 1) page_size: Number of results per page (max 1000) output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with the organization's locations

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
page_sizeNo
save_to_fileNo
output_formatNocompact
organization_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

No annotations exist, so the description carries the full burden. It does add useful behavior: output_format choices (full/compact/summary) and save_to_file saving to a temp file with path return for jq. However, the phrase 'all locations' is ambiguous alongside pagination parameters (page, page_size) — it does not clarify whether a single call returns all results or if the agent must paginate, which is a meaningful behavioral gap.

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

Conciseness4/5

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

The description is well-structured with a one-line summary followed by Args and Returns sections. It is a bit longer than strictly necessary, but each parameter explanation carries useful information and the format is scannable.

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?

Although the description covers all parameters, it leaves a critical ambiguity: pagination behavior under 'Get all locations.' It does not state whether the tool auto-paginates or returns a single page, nor how output_format interacts with save_to_file ('full results' vs compact/summary). Without annotations or an output schema visible, this gap could cause an agent to misuse the tool or incorrectly assume a single call returns everything.

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

Parameters5/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, and it does thoroughly: organization_id is explained, page, page_size with a max of 1000, output_format with enumerated values and default, and save_to_file with its behavioral effect of saving to a temp file and returning a path. Every parameter receives semantic meaning 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 states a specific verb and resource: 'Get all locations for a specific organization.' This clearly distinguishes it from get_location (single location) and implies organization scoping. However, it does not explicitly name sibling tools like list_locations or search_locations, so the differentiation is implicit rather than explicit.

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 requiring an organization_id and being organization-scoped, which suggests it is the right choice when locations are needed for a known organization. However, it provides no explicit guidance on when to use this tool versus sibling tools like list_locations or search_locations, and no exclusion criteria.

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

get_passwordA

Get a specific password by ID.

Args: password_id: The IT Glue password ID show_password: Whether to include the actual password value

Returns: JSON string with password details

ParametersJSON Schema
NameRequiredDescriptionDefault
password_idYes
show_passwordNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It does disclose that show_password controls whether the actual password value is included and that the result is a JSON string. However, it does not mention security implications, permission requirements, or that this is a read-only operation, which would be useful for a sensitive password resource.

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 compact, front-loaded with the core purpose, and uses a clear Args/Returns structure. Every line contributes useful information without unnecessary filler.

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

Completeness4/5

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

For a simple two-parameter retrieval tool, the description covers the essential behavior, parameters, and return type. It lacks explicit mention of error cases or authorization assumptions, but the presence of an output schema and the simplicity of the tool make this reasonably complete.

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

Parameters5/5

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

Schema description coverage is 0%, but the description fully compensates by explaining each parameter: password_id is the IT Glue password ID and show_password indicates whether to include the actual password value. This adds meaningful semantic information beyond the bare schema types.

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

Purpose5/5

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

The description states a specific verb and resource: "Get a specific password by ID." This clearly distinguishes it from siblings like list_passwords, search_passwords, update_password, and delete_password, which all have different operations.

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

Usage Guidelines4/5

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

The phrase "by ID" clearly indicates this tool is for retrieving a single known password rather than listing or searching. It does not explicitly mention when not to use it or name alternatives, but the context is clear enough for an agent to select it appropriately.

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

jwt_clear_tokenA

Clear the cached JWT token.

Use this if you need to re-authenticate with a different account or if the token is causing issues.

Returns: Confirmation message

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the burden of explaining side effects. It clearly states the cached JWT token is cleared and that this relates to re-authentication, and it discloses the return type (confirmation message). It could additionally clarify whether the token is also invalidated server-side or whether the current session is immediately logged out, but the core behavior is transparent.

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 short, front-loaded with the main action, and contains only useful context. The use-case guidance and return note are each valuable, with no filler or repetition.

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

Completeness5/5

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

For a zero-parameter utility with an output schema already present, the description provides adequate context: what is cleared, when to use it, and what the response will be. Nothing critical is missing for an agent to invoke this tool correctly.

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

Parameters4/5

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

The tool has zero parameters, so there is no parameter ambiguity. The description correctly focuses on behavior rather than inputs; a score of 4 reflects the baseline for a no-parameter tool.

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

Purpose5/5

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

The description states a specific action ('Clear') on a specific resource ('the cached JWT token'), which is immediately understandable. It also gives concrete use cases (re-authenticate with a different account, token issues) that make the tool's purpose distinct from generic session-clearing tools.

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

Usage Guidelines4/5

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

The description explicitly says when to use this tool: when re-authenticating with a different account or when the token is causing issues. It does not mention when not to use it or point to an alternative like session_clear, so it falls just short of full usage guidance.

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

jwt_token_statusA

Check the status of the cached JWT token.

Returns information about the currently cached JWT token including whether it's valid, when it expires, and the authenticated user.

Returns: JSON string with token status

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the behavioral disclosure burden. It explicitly states return information (validity, expiration, user) and the return format, which implies a read-only status operation. It could mention edge cases like absence of a token, but the core behavior is transparent.

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 short, front-loaded with the main purpose, and each line adds meaningful detail about the output. No redundant or filler content.

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

Completeness5/5

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

For a zero-parameter status-check tool with an output schema, the description covers what an agent needs: what it checks, what it returns, and in what format. Nothing essential is missing.

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 parameterscars, so parameter semantics are trivially satisfied. The baseline for 0 parameters is 4, and the description does not need to explain any input fields.

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

Purpose5/5

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

Description clearly states the specific action ('Check the status') and resource ('cached JWT token'), and specifies what is returned: validity, expiration, and authenticated user. This distinguishes it from jwt_clear_token and other session-related tools.

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

Usage Guidelines4/5

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

The context is clear: use this tool when you need to inspect the cached JWT token's status. It does not explicitly name alternatives or exclusions, but the purpose is specific enough to guide selection without ambiguity.

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

list_checklistsA

List checklists from IT Glue.

Args: organization_id: Filter by organization ID completed: Filter by completion status assignee_id: Filter by assignee user ID checklist_template_id: Filter by template ID include_tasks: Whether to include checklist tasks page: Page number (starts at 1) page_size: Number of results per page (max 1000) output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with list of checklists

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
completedNo
page_sizeNo
assignee_idNo
save_to_fileNo
include_tasksNo
output_formatNocompact
organization_idNo
checklist_template_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations present, the description carries the full behavioral burden. It discloses meaningful behaviors beyond the schema: output_format variants ('full', 'compact', 'summary'), the page_size maximum of 1000, and the save_to_file side effect of writing a temp file and returning its path. It does not mention authentication or rate limits, but for a read/list tool this is sufficient.

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 well-structured and efficient: a one-line summary, an aligned Args section, and a Returns note. Every line carries useful information, with no filler or repetition.

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

Completeness4/5

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

For a 9-parameter listing tool with an output schema, the description is largely complete: all parameters are explained, output_format defaults and options are given, save_to_file behavior is described, and the return type is stated. The only notable gap is sibling-tool routing guidance, which is captured in its own dimension.

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

Parameters5/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 fully, and it does: every parameter is documented (organization_id, completed, assignee_id, checklist_template_id, include_tasks, page, page_size, output_format, save_to_file). It adds concrete allowed values for output_format and a max constraint for page_size.

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 first sentence is a clear verb+resource statement: 'List checklists from IT Glue.' The parameter list further clarifies that this is a general listing/filtering tool. It does not explicitly distinguish itself from siblings like get_checklist or list_incomplete_checklists, so it doesn't earn a 5.

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

Usage Guidelines3/5

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

The description implies usage through the available filters (organization_id, completed, assignee_id, checklist_template_id), but it never states when to prefer this tool over alternatives such as list_incomplete_checklists or get_organization_checklists. There are no explicit when/when-not or alternative-mentioning guidelines.

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

list_checklist_templatesA

List all checklist templates.

Checklist templates are reusable checklists that can be instantiated for specific organizations. Use these template IDs when creating checklists with create_checklist(checklist_template_id=...).

Args: page: Page number (starts at 1) page_size: Number of results per page (max 1000) output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with list of checklist templates

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
page_sizeNo
save_to_fileNo
output_formatNocompact

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden. It discloses pagination semantics, page_size maximum, output_format variants, and the save_to_file side effect of writing full results to a temp file. This is strong transparency for a read-only list operation, though it does not mention authentication or rate limits.

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 well-structured with a clear opening line, a short explanatory note about templates, a compact Args section, and a Returns line. Every sentence adds useful information without unnecessary fluff.

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

Completeness5/5

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

For a list operation with no annotations, the description covers all relevant calling details: pagination, output format, file-saving behavior, and return type. Since an output schema exists, detailed return field documentation is not required. The combination of the Args documentation and example usage makes the tool safe and straightforward to invoke.

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

Parameters5/5

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

Schema description coverage is 0%, but the description fully documents all four parameters: page starting at 1, page_size max 1000, output_format with enumerated valid values and default, and save_to_file behavior. It adds essential meaning that the input schema alone lacks.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'List all checklist templates.' It clearly distinguishes templates from instances by explaining they are reusable checklists instantiated for organizationsholistically, and it references create_checklist for using template IDs. This removes ambiguity against sibling tools like list_checklists or get_checklist_template.

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 explains what checklist templates are used for and tells the agent to pass template IDs to create_checklist. However, it does not explicitly state when to use this tool versus alternatives like list_checklists or get_checklist_template. The usage context is implied rather than directly contrasted with siblings.

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

list_configurationsA

List configurations (devices/assets) from IT Glue.

Args: organization_id: Filter by organization ID name: Filter by configuration name (partial match) hostname: Filter by hostname primary_ip: Filter by primary IP address serial_number: Filter by serial number configuration_type_id: Filter by configuration type ID configuration_status_id: Filter by configuration status ID page: Page number (starts at 1) page_size: Number of results per page (max 1000) output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with list of configurations

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
pageNo
hostnameNo
page_sizeNo
primary_ipNo
save_to_fileNo
output_formatNocompact
serial_numberNo
organization_idNo
configuration_type_idNo
configuration_status_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations provided, the description carries the burden of behavioral disclosure. It adequately explains the save_to_file option (saving to temp file and returning path for jq) and the output_format variants, which adds value. However, it does not explicitly state that this is a read-only operation or mention any rate limits, pagination limits beyond max page_size, or potential side effects. It is not misleading, but it leaves some behavioral aspects unaddressed.

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 well-structured with an 'Args' section listing each parameter and a separate 'Returns' section. It is front-loaded with the core purpose and avoids extraneous wording. Though it lists many parameters, each line is concise and no unnecessary repetition appears, making it appropriately sized.

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 complexity (11 parameters, no output schema provided), the description covers the key aspects: it explains all parameters, the return type (JSON string), and the special save_to_file behavior. It does not discuss error handling, failover, or broader usage context, but for a list operation it is fairly complete. The lack of explicit differentiation from siblings is more of a usage guideline gap than a completeness one.

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

Parameters5/5

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

The schema provides no descriptions for any parameters (0% coverage), so the description fully compensates by explaining each of the 11 parameters in a clear, contextually relevant way (e.g., 'Filter by organization ID', 'page_size: Number of results per page (max 1000)'). It also clarifies the default for output_format and the purpose of save_to_file, going beyond mere type definitions.

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

Purpose4/5

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

The description clearly states the tool lists configurations from IT Glue, with a specific verb and resource. It also clarifies that configurations refer to devices/assets. However, it does not explicitly differentiate itself from the sibling search_configurations, which could serve a similar listing purpose with different filtering semantics.

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

Usage Guidelines2/5

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

The description does not provide any guidance on when to use this tool versus the many sibling search/list tools. It lists filter parameters but gives no indication of when a search_configurations or get_configuration would be more appropriate, nor any exclusions or prerequisites.

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

list_configuration_statusesA

List all configuration statuses.

Configuration statuses indicate the state of a device/asset (e.g., Active, Inactive, Decommissioned).

Args: name: Filter by name (partial match) page: Page number (starts at 1) page_size: Number of results per page (max 1000)

Returns: JSON string with list of configuration statuses

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
pageNo
page_sizeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses pagination behavior (page starts at 1, page_size max 1000), partial-match filtering by name, and the return format (JSON string with a list). It does not discuss authorization or rate limits, but for a simple list operation the provided behavioral detail is solid.

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

Conciseness5/5

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

The description is well-organized with a short intro, a clarifying definition, an Args block, and a Returns block. Every sentence adds value and the structure makes the information easy to scan.

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

Completeness5/5

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

For a simple paginated list tool with an output schema and no required parameters, the description is complete. It covers purpose, parameter semantics, pagination limits, and return format. Nothing essential is missing for an agent to invoke it successfully.

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

Parameters5/5

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

The schema has 0% description coverage, but the description explicitly documents all three parameters: name is a partial-match filter, page starts at 1, and page_size caps at 1000. This fully compensates for the schema gap and adds meaning beyond raw property names and defaults.

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

Purpose5/5

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

The description uses a specific verb and resource—'List all configuration statuses'—and then clarifies what configuration statuses are (state of a device/asset with examples). This distinguishes it from sibling reference-data tools like list_configuration_types and list_organization_statuses.

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

Usage Guidelines3/5

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

The description implies when to use the tool: when a caller needs configuration statuses representing device/asset states such as Active, Inactive, or Decommissioned. However, it gives no explicit guidance on when not to use it or how it compares to related list_* reference tools.

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

list_configuration_typesA

List all configuration types.

Configuration types categorize devices/assets (e.g., Server, Workstation, Network Device, Printer).

Args: name: Filter by name (partial match) page: Page number (starts at 1) page_size: Number of results per page (max 1000)

Returns: JSON string with list of configuration types

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
pageNo
page_sizeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries the behavioral disclosure burden. It clarifies this is a list/read operation, which implies non-destructive behavior, and it documents pagination parameters. However, it does not disclose whether results are paginated, what the default response size is, whether the list is ordered, or whether the returned JSON string contains only the requested fields or full objects.

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 compact and front-loaded with the core purpose, followed by a useful definition and terse parameter documentation. Every sentence earns its place, though the Args/Returns section slightly overlaps with schema property names; still, it is helpful given 0% 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?

The tool is a simple list endpoint with three optional params and an output schema, so the description covers the core calling contract well. It lacks returned-response details like default ordering, total count, or whether pagination metadata is included, and it does not mention common filtering behavior or relationship to sibling list tools.

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?

Schema description coverage is 0%, so the description must compensate. It explicitly defines all three parameters: name as a partial-match filter, page as starting at 1, and page_size with a max of 1000. This adds meaning beyond the raw schema types and defaults, though it could further clarify the exact shape of the returned list or whether filtering is case-insensitive.

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

Purpose4/5

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

The description states a specific verb ('List') and resource ('configuration types') and adds a clarifying definition of what configuration types are (device/asset categories), which helps distinguish this from list_configurations. However, it does not explicitly differentiate itself from list_flexible_asset_types or list_models, which are also listing-type tools.

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 conveys that this tool lists configuration types and mentions the categorization purpose, so an agent can infer when it needs a list of device classes. It does not explicitly mention alternatives like search_configurations or list_configurations, nor does it provide when-not-to-use guidance, leaving some ambiguity.

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

list_contactsA

List contacts from IT Glue.

Args: organization_id: Filter by organization ID first_name: Filter by first name (partial match) last_name: Filter by last name (partial match) title: Filter by job title (partial match) contact_type_id: Filter by contact type ID important: Filter by important flag page: Page number (starts at 1) page_size: Number of results per page (max 1000) output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with list of contacts

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
titleNo
importantNo
last_nameNo
page_sizeNo
first_nameNo
save_to_fileNo
output_formatNocompact
contact_type_idNo
organization_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It clearly implies a read-only listing operation and explains output_format and save_to_file side effects, but it does not explicitly state non-destructive behavior or address authentication, rate limits, or result truncation.

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 compact and well structured: a clear one-line purpose, a bulleted Args list, and a one-line Returns statement. There is no filler or unnecessary repetition of schema defaults.

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

Completeness4/5

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

For a 10-parameter list tool with no annotations, the description documents every parameter and the return type. It does not specify whether filters combine with AND or OR, nor does it explain when to choose this over search_contacts, which leaves minor usability gaps.

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

Parameters5/5

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

Schema description coverage is 0%, so the parameter descriptions provide the only meaningful semantics beyond names and types. Every parameter is explained with its purpose, including partial-match behavior, pagination, output format choices, and the save_to_file behavior.

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 opens with 'List contacts from IT Glue', stating a specific verb and resource, and further clarifies the filter dimensions. It does not explicitly contrast with sibling search_contacts, so an agent must infer the difference between a broad listing and a targeted search.

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

Usage Guidelines2/5

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

There is no guidance on when to use list_contacts versus search_contacts or get_contact. The pagination and filter parameters imply a list workflow, but the description does not state when this tool should be preferred or when an alternative is more appropriate.

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

list_contact_typesA

List all contact types.

Contact types categorize contacts (e.g., Primary, Technical, Billing, Emergency).

Args: name: Filter by name (partial match) page: Page number (starts at 1) page_size: Number of results per page (max 1000)

Returns: JSON string with list of contact types

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
pageNo
page_sizeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations present, the description carries the burden of behavioral disclosure. It documents filter semantics ('name: Filter by name (partial match)'), pagination behavior ('page starts at 1'), and limits ('max 1000'). It also states the return format. It does not explicitly disclose read-only status or auth requirements, but the list verb makes the operation's nature reasonably clear.

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 well structured with a lead sentence, a brief explanatory note with examples, and a compact Args section. It is front-loaded with the core purpose. The 'Returns: JSON string with list of contact types' line is slightly redundant given the output schema, but it is short and not harmful.

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

Completeness4/5

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

For a straightforward reference-list operation, the description covers the core purpose, parameter semantics, pagination, and return format. It could add sorting behavior or default pagination details, but those defaults are already in the schema, and the tool is simple enough that nothing critical is missing.

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

Parameters5/5

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

The input schema has 0% description coverage, so the description must compensate fully. It does: it explains name as a partial-match filter, specifies that page numbering starts at 1, and caps page_size at 1000. This adds meaningful semantics beyond the bare schema properties.

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

Purpose4/5

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

The description states a clear verb and resource: 'List all contact types.' It also adds domain context by explaining that contact types categorize contacts with examples. It does not explicitly differentiate itself from similar reference-data siblings like list_configuration_types or list_organization_types, so it stops short of a 5.

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

Usage Guidelines2/5

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

The description implies this tool is for retrieving contact type reference data, but it gives no explicit guidance on when to use it versus alternative sibling tools. It does not mention exclusions, prerequisites, or a preferred condition for selecting this tool over similar list tools.

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

list_countriesB

List all countries.

Countries are used when specifying location addresses.

Args: name: Filter by name (partial match) page: Page number (starts at 1) page_size: Number of results per page (max 1000)

Returns: JSON string with list of countries

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
pageNo
page_sizeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It discloses that the tool returns a JSON string with a list of countries, which is useful. However, it doesn't mention pagination behavior beyond parameter names, potential rate limits, or whether the list is exhaustive or filtered by default. The description is adequate but not rich.

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

Conciseness4/5

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

The description is concise and well-structured: a one-line summary, a context sentence, and a clear Args/Returns breakdown. Every sentence earns its place. It could be slightly more compact, but it's appropriately sized for a simple list 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?

The tool is simple, has no required parameters, and has an output schema, so the description doesn't need to explain return values in detail. It covers the purpose, parameters, and return type. However, it lacks guidance on when to use this vs. sibling list tools and doesn't mention any edge cases like empty results or pagination limits beyond the max page_size.

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 does explain each parameter: name filters by partial match, page starts at 1, page_size max 1000. This adds meaning beyond the schema, which only provides types and defaults. However, it doesn't clarify the default page_size behavior or the exact format of the name filter (e.g., case sensitivity), so it's not fully compensating.

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

Purpose4/5

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

The description states a clear verb and resource: 'List all countries.' It also adds context that countries are used when specifying location addresses, which helps distinguish it from other list tools. However, it doesn't explicitly differentiate from sibling tools like list_regions or list_locations, so it loses a point.

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 saying countries are used when specifying location addresses, which gives a hint about when to use it. However, it doesn't explicitly state when to use this tool versus alternatives like list_regions or list_locations, nor does it mention any exclusions or alternatives.

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

list_document_foldersA

List document folders from IT Glue.

Args: organization_id: Filter by organization ID parent_folder_id: Filter by parent folder ID page: Page number (starts at 1) page_size: Number of results per page (max 1000) output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with list of document folders

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
page_sizeNo
save_to_fileNo
output_formatNocompact
organization_idNo
parent_folder_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden and largely meets it: it discloses output_format variants, the save_to_file temp-file behavior returning a path for jq, and that the tool returns a JSON string list. It does not mention authentication, rate limits, or implicit scoping, but for a read-only list tool these gaps are minor.

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

Conciseness5/5

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

One clear purpose sentence followed by a tight, structured Args block and a one-line Returns note. Every sentence adds information; there is no filler or repetition.

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

Completeness4/5

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

For a no-required-parameter listing tool with an output schema, the description is nearly complete: all parameters, defaults, return type, and file-saving behavior are covered. It only lacks routing guidance to related document/folder tools, which is a separate usage gap rather than a schema/behavior gap.

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

Parameters5/5

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

Schema descriptions are absent (0% coverage), and the description compensates fully by explaining every parameter: organization_id, parent_folder_id, page, page_size, output_format, and save_to_file. It even enumerates output_format values and notes page_size max 1000, which is more semantic detail than the raw schema provides.

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

Purpose5/5

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

The description states a concrete action ('List') and resource ('document folders from IT Glue'), immediately distinguishing it from sibling list_documents (documents vs folders) and get_document_folder (plural listing vs single fetch). No ambiguity about what the tool returns.

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

Usage Guidelines2/5

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

No when-to-use guidance or alternatives are given. An agent must infer from the name that this is for enumerating folders, and there is no direction toward get_document_folder, list_documents, search_documents, or get_organization_documents when a different granularity or search is needed.

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

list_documentsA

List documents from IT Glue.

Args: organization_id: Filter by organization ID name: Filter by document name (partial match) document_folder_id: Filter by folder ID page: Page number (starts at 1) page_size: Number of results per page (max 1000) output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with list of documents

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
pageNo
page_sizeNo
save_to_fileNo
output_formatNocompact
organization_idNo
document_folder_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses output_format options and the save_to_file side effect, which is helpful. However, it does not explicitly state that the operation is read-only or describe any authentication or rate-limit implications. The read-only nature is implied by 'list' but not made explicit, leaving some ambiguity 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.

Conciseness4/5

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

The description is well-structured with a concise main sentence followed by an Args list and Returns. The parameter explanations are necessary given the lack of schema descriptions, so the length is justified. It is front-loaded with the core purpose, making it easy to scan. Slightly verbose due to parameter details, but appropriate for the coverage gap.

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 covers parameters, output format, and the save_to_file feature, and an output schema exists for return values. However, it fails to contextualize when to use this tool versus search_documents, which is a key decision an agent must make. This missing usage guidance leaves the tool incomplete for effective selection and invocation.

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

Parameters5/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 fully explain each parameter. It does so comprehensively: each of the seven parameters is described with its purpose, and output_format includes allowed values (full, compact, summary) and a default. page_size is given a max (1000), and save_to_file behavior is explained. This adds substantial 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 tool lists documents from IT Glue with a specific verb and resource. It provides parameter details that clarify scope, but it does not distinguish itself from the sibling search_documents tool, which likely serves a similar purpose. This is a minor gap, so a 4 is appropriate.

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 list_documents versus search_documents or other list tools. It lists filter parameters but does not mention exclusions, alternatives, or conditions that would steer an agent toward the appropriate tool. This is a significant omission given the existence of a search_documents sibling.

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

list_domainsA

List domains from IT Glue.

Args: organization_id: Filter by organization ID name: Filter by domain name (partial match) page: Page number (starts at 1) page_size: Number of results per page (max 1000) output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with list of domains

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
pageNo
page_sizeNo
save_to_fileNo
output_formatNocompact
organization_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral burden. It transparently explains output_format options, the save_to_file behavior including returning a temp file path for jq processing, and the JSON return type. This is strong behavioral disclosure for a straightforward listing 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 well-structured as a short summary followed by an Args list and a Returns line. Each parameter earns its place by adding semantic value, and there is no filler or redundancy. It is informative without being bloated.

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

Completeness5/5

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

Given the 6 optional parameters, 0% schema coverage, and no annotations, the description provides all the information needed to invoke the tool correctly: filter behavior, pagination bounds, output formats, and return value handling. The output schema exists and covers field-level details, so the description is complete for this tool's complexity.

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

Parameters5/5

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

The schema has 0% description coverage, so the description must compensate, and it does thoroughly. Every parameter is explained with meaningful semantics: organization_id filtering, partial name matching, pagination semantics, output_format variants, and the side effect of save_to_file. This exceeds what the bare schema provides.

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

Purpose4/5

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

The description clearly states the verb and resource: 'List domains from IT Glue.' It is unambiguous about what the tool does, but it does not explicitly distinguish itself from sibling tools like search_domains or get_organization_domains, so it misses the top score for 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 instead of the related search_domains, get_domain, or get_organization_domains tools. The Args section documents how to filter and paginate, but it never states the appropriate usage context or exclusions.

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

list_expiring_domainsA

List domains expiring within a specified number of days.

Args: days: Number of days to look ahead (default 30) organization_id: Optional organization filter page: Page number (starts at 1) page_size: Number of results per page (max 1000) output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with domains expiring soon

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
pageNo
page_sizeNo
save_to_fileNo
output_formatNocompact
organization_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral disclosure burden. It does well by explaining output formats, pagination parameters, and the save_to_file side effect of writing to a temp file and returning its path for jq processing. It does not address auth, rate limits, or explicitly state read-only behavior, but 'list' plus the described return handling make the main behavioral profile clear.

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 front-loaded with a one-sentence purpose, then organized into a compact Args list and Returns line. Every line adds useful information; there is no filler or redundancy.

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?

The description covers all parameters, defaults, output variants, and the save_to_file workflow, and an output schema exists to cover return structure. Minor gaps remain, such as ordering, exact date semantics, and whether organization_id filters globally or just narrows results, but these are not severe given the available structured data.

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

Parameters5/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 fully, and it does. Every parameter is explained with meaning, defaults, and relevant constraints, including output_format values and page_size max of 1000 which are not present in the bare schema.

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

Purpose5/5

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

The description opens with a specific verb-resource pair: 'List domains expiring within a specified number of days.' This clearly distinguishes it from generic domain tools like list_domains, search_domains, and get_domain by adding the time-bound expiration scope.

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

Usage Guidelines3/5

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

The description implies when to use the tool (when you need domains expiring within a lookahead window), but it does not explicitly mention alternatives or exclusion criteria. It gives clear context but leaves it to the agent to infer that list_domains or search_domains might be better for unfiltered or query-based domain lookups.

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

list_flexible_asset_fieldsA

List field definitions for a flexible asset type.

Note: This uses the include mechanism on the flexible asset type endpoint since IT Glue doesn't expose a direct /flexible_asset_fields filter endpoint.

Args: flexible_asset_type_id: The flexible asset type ID output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with list of field definitions including name_key for trait mapping

ParametersJSON Schema
NameRequiredDescriptionDefault
save_to_fileNo
output_formatNocompact
flexible_asset_type_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses the include mechanism workaround, output format options, and the save_to_file behavior. However, it doesn't explicitly state read-only nature or mention any permissions or rate limits, but for a list operation the context is largely covered.

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 structured with a clear purpose sentence, a relevant implementation note, and an Args section. It is slightly lengthy but every part earns its place; the note is useful context. Front-loaded with the main verb.

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?

The description covers parameters, output format, and the save_to_file behavior. An output schema exists, so return details are partially handled. It lacks pagination or error handling, but for a list tool this is adequate. Overall complete enough for correct invocation.

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

Parameters5/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 explains each parameter: flexible_asset_type_id, output_format with enumerated values, and save_to_file with its effect. This adds meaningful semantic detail beyond the bare schema.

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

Purpose5/5

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

The description clearly states the verb 'List' and the resource 'field definitions for a flexible asset type,' distinguishing it from sibling tools like list_flexible_asset_types which list types. The note about using the include mechanism further clarifies what it does.

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

Usage Guidelines3/5

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

The description implies usage for retrieving field definitions of a flexible asset type but does not explicitly contrast with alternatives or provide when-not conditions. It mentions the include mechanism but no exclusions or alternative tool names, so guidance is only implied.

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

list_flexible_assetsA

List flexible asset instances.

Args: flexible_asset_type_id: Filter by flexible asset type organization_id: Filter by organization name: Filter by name (partial match) archived: Filter by archived status page: Page number (starts at 1) page_size: Number of results per page (max 1000) output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with list of flexible assets

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
pageNo
archivedNo
page_sizeNo
save_to_fileNo
output_formatNocompact
organization_idNo
flexible_asset_type_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden. It discloses output_format options, default compact behavior, page numbering, max page_size, partial-match name filtering, and save_to_file's side effect of writing a temp file and returning its path. It stops short of stating read-only behavior or error handling, but core output and side-effect behavior are transparent.

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 organized as a one-line summary, an Args list, and a Returns line. Each entry adds non-redundant information, and the first sentence states the core purpose immediately. The length is justified by the need to document eight parameters absent from the schema.

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

Completeness4/5

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

For a list tool with eight optional parameters and no schema descriptions or annotations, the description covers filtering semantics, output formats, and return type well. The main missing context is how this tool relates to sibling list/search variants, which is a selection concern rather than an invocation blocker.

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

Parameters5/5

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

Schema description coverage is 0%, so the description is the only documentation for all eight parameters. It defines each filter's meaning, notes partial matching for name, documents page numbering, caps page_size, enumerates output_format values, and explains save_to_file behavior. This fully compensates for the empty schema descriptions.

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

Purpose4/5

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

The description opens with 'List flexible asset instances,' a specific verb and resource. It clearly identifies this as the plural listing counterpart to get_flexible_asset and distinguishes from list_flexible_asset_types via 'instances,' though it does not explicitly name or contrast with those 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 given for when to use this tool instead of search_flexible_assets, get_organization_flexible_assets, or get_flexible_asset. The parameter list implies filtering use cases, but the agent must infer the boundary between 'list' and 'search' variants. This is a clear gap for a tool with many list/search siblings.

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

list_flexible_asset_typesA

List all flexible asset type definitions (schemas).

Flexible asset types define the structure/schema for custom documentation like "Server Documentation", "Network Diagrams", "Vendor Contacts", etc.

Args: enabled: Filter by enabled status page: Page number (starts at 1) page_size: Number of results per page (max 1000) output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with list of flexible asset types

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
enabledNo
page_sizeNo
save_to_fileNo
output_formatNocompact

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description itself discloses important behavior: output_format selects full/compact/summary, save_to_file creates a temp file and returns its path, and the return is a JSON string. It does not cover auth, rate limits, or explicit read-only reassurance, but the disclosed output and side-effect behavior goes beyond the bare 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 front-loaded with the key purpose, then uses a clean Args list with each parameter getting exactly one relevant line. The explanatory line about flexible asset types earns its place by establishing domain context, and there is no filler.

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 five parameters, no annotations, and an output schema that can cover return shape, the description covers the inputs, the output mode, and an important side effect. It is slightly incomplete around when to select this tool over nearby siblings and around the meaning of 'enabled', but it is otherwise sufficient for a competent agent.

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

Parameters5/5

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

Schema description coverage is 0%, and the description compensates by documenting all five parameters, including page start at 1, page_size max 1000, output_format allowed values and default, and the save_to_file side effect. This is the primary source of parameter meaning for the agent.

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

Purpose5/5

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

Opens with 'List all flexible asset type definitions (schemas)', a specific verb and resource that clearly separates this from sibling tools like list_flexible_assets (asset instances) and list_flexible_asset_fields. The examples ('Server Documentation', 'Network Diagrams') further ground what a flexible asset type is.

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

Usage Guidelines3/5

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

No explicit when-to-use or when-not-to-use guidance is given, and no alternative tools are named. The intent is implied by the examples and the 'List all...' phrasing, but the description leaves the agent to infer when this tool is preferable to get_flexible_asset_type, list_flexible_assets, or search_flexible_assets.

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

list_incomplete_checklistsA

List incomplete checklists, optionally filtered by organization.

Args: organization_id: Optional organization ID filter overdue_only: If True, only return checklists past their due date page: Page number (starts at 1) page_size: Number of results per page (max 1000) output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with list of incomplete checklists

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
page_sizeNo
overdue_onlyNo
save_to_fileNo
output_formatNocompact
organization_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It discloses that the tool returns a JSON string, supports pagination, and has a save_to_file mode that writes to a temp file and returns a path. However, it doesn't disclose potential side effects of save_to_file (e.g., temp file cleanup), rate limits, or whether the operation is read-only. The save_to_file behavior is a notable side effect that is only partially explained.

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 well-structured with an Args list and Returns line, front-loading the core purpose. Every parameter earns its place. Slight redundancy: the Returns line repeats 'list of incomplete checklists' from the first sentence, and the parameter explanations could be tightened, but overall it's efficient.

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

Completeness4/5

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

Given the tool has 6 optional parameters, no annotations, and an output schema exists, the description covers the key behavioral aspects: filtering, pagination, output format selection, and file-saving side effect. It doesn't explain the return value structure in detail, but the output schema presumably covers that. The main gap is the lack of explicit read-only/safety context and temp-file lifecycle, but for a list tool this is reasonably 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?

Schema description coverage is 0%, so the description must compensate. It does: it explains each parameter's meaning (organization_id filter, overdue_only, page, page_size, output_format with its three enum-like values, save_to_file with its temp-file behavior). This adds substantial meaning beyond the bare schema, though it doesn't specify max page_size value (schema says max 1000, description omits that) and doesn't detail the 'full' vs 'compact' field differences.

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

Purpose4/5

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

The description states a specific verb and resource ('List incomplete checklists') and mentions an optional organization filter, which distinguishes it from the broader list_checklists sibling. However, it doesn't explicitly contrast with sibling tools like get_checklist or complete_checklist, so it's clear but not fully differentiated.

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 by listing filter options (organization_id, overdue_only) and output options, but it doesn't explicitly state when to use this tool versus alternatives like list_checklists or get_organization_checklists. The context is clear enough for a list operation, but no exclusions or alternative routing are provided.

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

list_locationsB

List locations from IT Glue.

Args: organization_id: Filter by organization ID name: Filter by location name (partial match) city: Filter by city region_id: Filter by region/state ID country_id: Filter by country ID primary: Filter by primary location status page: Page number (starts at 1) page_size: Number of results per page (max 1000) output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with list of locations

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNo
nameNo
pageNo
primaryNo
page_sizeNo
region_idNo
country_idNo
save_to_fileNo
output_formatNocompact
organization_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It discloses some behaviors: save_to_file saves results to a temp file and returns a path for jq processing, and output_format changes the shape of results. However, it does not mention auth requirements, rate limits, side effects, or that this is a read-only operation. The absence of any annotation makes this a moderate gap.

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

Conciseness4/5

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

The description is well-structured with a clear purpose line followed by an Args list and a Returns line. It is not overly verbose, and each parameter earns its place. The front-loading of the purpose and the organized parameter list make it easy to scan. A few extra words could be trimmed, but overall it is appropriately concise.

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

Completeness4/5

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

For a tool with 10 parameters and an output schema present, the description covers all parameters and states the return type. It does not mention error handling, edge cases, or usage examples, but for a listing tool this is fairly complete. The presence of an output schema reduces the need to describe return structure, and the description provides enough context to call the tool correctly.

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

Parameters4/5

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

Schema coverage is 0%, so the description must explain parameters, and it does. Each parameter is listed with a brief filter description (e.g., 'Filter by organization ID', 'Filter by location name (partial match)'). It also explains page_size max, output_format options, and save_to_file behavior. This goes beyond the schema's types and defaults, though it lacks examples or deeper constraints.

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

Purpose4/5

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

The description clearly states 'List locations from IT Glue' with a specific verb and resource. It distinguishes the tool by its name from siblings like search_locations and get_location, but does not explicitly explain when to use this list tool versus a search. The purpose is unambiguous, though sibling differentiation relies on the tool name rather than the description.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as search_locations or get_location. It does not mention scenarios where listing is appropriate or where searching would be better. There is no explicit 'when not to use' or reference to 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.

list_manufacturersA

List all manufacturers.

Manufacturers are used when creating configurations to specify the device manufacturer (e.g., Dell, HP, Cisco).

Args: name: Filter by name (partial match) page: Page number (starts at 1) page_size: Number of results per page (max 1000)

Returns: JSON string with list of manufacturers

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
pageNo
page_sizeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

There are no annotations, so the description carries the full burden for behavioral disclosure. It does provide some useful behavioral details: name is a partial-match filter, page starts at 1, page_size max is 1000, and the return is a JSON string. However, it does not mention authentication, rate limits, or explicitly state that the operation is read-only (though 'List' implies it). For a simple list tool, this is adequate but lacks richer 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 tightly structured: a one-line purpose, a single context sentence, a concise Args list, and a Returns line. There is no fluff; each section earns its place, and the key action is front-loaded. Formatting is clean and scannable.

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

Completeness5/5

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

For a simple list tool with three optional parameters and an output schema present, the description provides all essential information: purpose, parameter semantics, and return format. Pagination constraints and the partial-match filtering are covered. There is no missing critical detail for an agent to call this tool correctly, given the output schema fills in return structure.

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

Parameters5/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 does so thoroughly: the Args section explains that 'name' is a partial match filter, 'page' starts at 1, and 'page_size' returns up to 1000 results. These details go far beyond the schema's bare type/default information and give the agent everything needed to use the parameters correctly.

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 opens with 'List all manufacturers,' which is a specific verb and resource. It adds context that manufacturers are used when creating configurations to specify the device manufacturer (e.g., Dell, HP, Cisco), making the purpose relatable. However, it does not explicitly differentiate this 'list' tool from the sibling 'search_manufacturers,' so the purpose is clear but sibling differentiation is left to the user.

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 sentence 'Manufacturers are used when creating configurations to specify the device manufacturer' implies a use case: when an agent is building a configuration and needs a manufacturer reference. But it gives no explicit guidance on when to choose this tool over a sibling like search_manufacturers, and mentionot contain when-not-to-use guidance. The usage is implied rather than stated, so 3 is appropriate.

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

list_modelsB

List all models.

Models are used when creating configurations to specify the device model (e.g., PowerEdge R740, ProLiant DL380).

Args: manufacturer_id: Filter by manufacturer ID name: Filter by name (partial match) page: Page number (starts at 1) page_size: Number of results per page (max 1000)

Returns: JSON string with list of models

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
pageNo
page_sizeNo
manufacturer_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 the full burden of behavioral disclosure. It only states that the tool lists models and returns a JSON string, implying read-only behavior, but does not explicitly state side effects, permissions, rate limits, or pagination behavior beyond parameter limits. This is minimal disclosure for a tool with zero annotation coverage.

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

Conciseness4/5

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

The description is well-structured with clear sections: purpose, args, and returns. Each sentence serves a purpose, and the device model explanation is useful context. It is appropriately sized for a list endpoint with four optional parameters.

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 four optional parameters and an output schema, the description covers the key aspects: function, parameter meanings, and return type. However, it misses guidance on when to choose list_models over search_models, which is a notable gap for a filtered-vs-unfiltered pair. Pagination defaults are in the schema, so not needed in prose.

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?

Schema description coverage is 0%, so the description must compensate. It does so effectively by listing all four parameters with meaningful descriptions: 'Filter by manufacturer ID', 'Filter by name (partial match)', 'Page number (starts at 1)', and 'Number of results per page (max 1000)'. This adds semantic 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 verb and resource: 'List all models' and provides context that models are device models used in configurations. It distinguishes from search_models by emphasizing 'all models' rather than filtered search, though it does not explicitly name the sibling alternative.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives like search_models or list_manufacturers. The description simply states the action without explaining conditions, exclusions, or scenarios where a different tool would be more appropriate.

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

list_operating_systemsA

List all operating systems.

Operating systems are used when creating configurations to specify the device's OS (e.g., Windows Server 2019, Ubuntu 22.04).

Args: name: Filter by name (partial match) platform: Filter by platform (e.g., 'Windows', 'Linux', 'macOS') page: Page number (starts at 1) page_size: Number of results per page (max 1000)

Returns: JSON string with list of operating systems

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
pageNo
platformNo
page_sizeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the behavioral burden. It states the tool lists all OSes and returns a JSON string, and it documents filter and pagination parameters (partial match, max page_size), which adds some behavior. It does not disclose filter combination logic, sorting, total-count behavior, authentication, or data freshness, though for a simple read-only list this is only partially incomplete.

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 front-loaded with the core action and uses a compact Args section; every line is informative. The platform examples and max page_size earn their place, though the introductory sentence about configuration creation is somewhat redundant with purpose and could be trimmed.

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 this is a low-complexity list operation with an output schema, the description covers the core action, all parameters with semantics, and the return type. It lacks explicit guidance on when to choose list_operating_systems over search_operating_systems and on filter combination, but it is otherwise sufficient for an agent to call the tool correctly.

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

Parameters4/5

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

Schema description coverage is 0%, so the description is the only source of parameter meaning. It adds 'partial match' for name, platform examples ('Windows', 'Linux', 'macOS'), 'page number (starts at 1),' and 'max 1000' for page_size, which are not in the schema. It could further clarify whether filters combine and the default page_size, but it compensates well 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 opens with 'List all operating systems,' a clear verb-resource pair, and adds examples of OS values and the purpose (used when creating configurations). It implies a distinction from the sibling search_operating_systems by emphasizing 'all,' but it never explicitly names or contrasts that sibling.

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 mentions that operating systems are used when creating configurations, which hints at a relevant use case, but it gives no explicit when-to-use/when-not-to-use guidance and does not contrast with search_operating_systems or other reference-data tools. This is only implied usage, not clear routing.

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

list_organizationsA

List organizations from IT Glue.

Args: name: Filter by organization name (partial match) organization_type_id: Filter by organization type ID organization_status_id: Filter by organization status ID page: Page number (starts at 1) page_size: Number of results per page (max 1000) output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with list of organizations

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
pageNo
page_sizeNo
save_to_fileNo
output_formatNocompact
organization_type_idNo
organization_status_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It discloses the output format options ('full', 'compact', 'summary') and the save_to_file behavior (saves to temp file and returns path for jq processing), which is useful. However, it doesn't disclose pagination behavior beyond page/page_size, rate limits, or what happens with large result sets. The return is described as a JSON string, which is basic.

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 well-structured with a one-line summary followed by a compact Args list and a Returns line. Every parameter is explained in a single line. It is slightly longer than necessary but each sentence earns its place. The front-loaded summary is clear.

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

Completeness4/5

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

Given the tool has 7 optional parameters, no annotations, and no output schema details beyond 'JSON string', the description covers the key behavioral aspects: filters, pagination, output format, and file-saving option. It doesn't explain the exact structure of the returned JSON, but the output schema exists (has output schema: true), so that burden is partially shifted. Missing explicit guidance on when to use save_to_file vs output_format, but overall adequate.

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?

Schema description coverage is 0%, so the description must compensate. It does: it explains each parameter's meaning (e.g., 'Filter by organization name (partial match)', 'Number of results per page (max 1000)', 'Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only)'). This adds significant meaning beyond the bare schema property names and defaults.

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

Purpose4/5

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

The description states a specific verb and resource: 'List organizations from IT Glue.' This clearly distinguishes it from get_organization (single fetch) and search_organizations (search semantics), though it doesn't explicitly name those siblings. The 'List' verb plus the resource is clear enough.

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

Usage Guidelines3/5

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

The description implies usage for listing organizations with optional filters, but it does not explicitly state when to use this tool versus search_organizations or get_organization. The presence of sibling tools like search_organizations suggests a distinction, but the description doesn't articulate it. No exclusions or alternative routing are provided.

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

list_organization_statusesA

List all organization statuses.

Organization statuses indicate the state of an organization (e.g., Active, Inactive, Onboarding).

Args: name: Filter by name (partial match) page: Page number (starts at 1) page_size: Number of results per page (max 1000)

Returns: JSON string with list of organization statuses

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
pageNo
page_sizeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It does disclose the read-only listing behavior, JSON string return format, partial-match filtering, and page_size maximum. However, it does not clarify pagination semantics or ordering, and 'List all' combined with pagination is slightly ambiguous.

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 efficient and well-structured: a clear summary line, one sentence of domain context, a compact Args block, and a Returns line. Every sentence earns its place with no redundant filler.

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

Completeness4/5

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

For a simple enumeration tool with an output schema and all parameters documented, the description is nearly complete. It covers the return format, filter behavior, and pagination constraints. The main missing piece is explicit alternative guidance, which is minor for this low-complexity tool.

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

Parameters5/5

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

Schema description coverage is 0%, but the description fully compensates by documenting all three parameters: name supports partial match, page starts at 1, and page_size has a max of 1000. These details add real meaning beyond the bare input schema.

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

Purpose5/5

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

The description states a specific verb and resource: 'List all organization statuses.' It also adds clarifying examples (Active, Inactive, Onboarding) and distinguishes the tool from siblings like list_organization_types and list_configuration_statuses by clearly targeting organization statuses.

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

Usage Guidelines3/5

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

Usage is implied by the tool name and description—if an agent needs organization statuses, this is the tool. However, there is no explicit guidance about when to choose it over related reference-data tools such as list_organization_types, list_configuration_statuses, or get_all_reference_data.

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

list_organization_typesA

List all organization types.

Organization types categorize organizations (e.g., Customer, Prospect, Vendor, Internal).

Args: name: Filter by name (partial match) page: Page number (starts at 1) page_size: Number of results per page (max 1000)

Returns: JSON string with list of organization types

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
pageNo
page_sizeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations present, the description carries the behavioral burden. It discloses that results are returned as a JSON string, that name filtering is a partial match, and that page and page_size control pagination with a maximum page size of 1000. It does not mention ordering or empty-result behavior, but for a simple list operation this is reasonably transparent.

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

Conciseness4/5

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

The description is front-loaded with the purpose, adds a brief explanatory sentence, and organizes parameters and return value in labeled sections. It is focused and free of filler, though the Args block partially duplicates schema property names.

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

Completeness4/5

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

For a simple reference-list tool with zero required parameters and an output schema, the description covers the essential information: resource, optional filter, pagination, and return type. It lacks explicit guidance about ordering, archived/inactive types, or when to choose sibling list tools, but these are minor gaps for a basic listing endpoint.

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?

Schema description coverage is 0%, so the description must compensate. It does: name is documented as a partial-match filter, page is said to start at 1, and page_size is explicitly capped at 1000. These details add real meaning beyond the bare schema, though default values are correctly left to the schema.

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

Purpose5/5

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

The description opens with the specific verb and resource: 'List all organization types,' and immediately clarifies what organization types are with concrete examples (Customer, Prospect, Vendor, Internal). This clearly distinguishes it from sibling reference-list tools such as list_contact_types or list_configuration_statuses.

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

Usage Guidelines3/5

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

Usage is implied: call this when you need the list of organization types, optionally filtered by name and paginated. However, it never explicitly says when to prefer this over sibling tools like get_all_reference_data or other list_*_types tools, and provides no exclusion criteria.

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

list_password_categoriesA

List all password categories.

Password categories organize passwords by type (e.g., Admin, User, Service Account, API Key).

Args: name: Filter by name (partial match) page: Page number (starts at 1) page_size: Number of results per page (max 1000)

Returns: JSON string with list of password categories

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
pageNo
page_sizeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the burden of behavioral disclosure. It only notes that it returns a JSON string and includes pagination parameters, but does not mention permissions, side effects, error handling, or whether the operation is safe. The user must infer it is 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 concise and well-structured: a one-line summary, a brief contextual definition, then a clear Args section followed by Returns. It is front-loaded with the main purpose and each sentence earns its place.

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

Completeness3/5

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

Given the tool's simplicity, an output schema exists, and the description covers parameters and return type. However, it lacks usage guidance and any safety/permission context, and no annotations are present to fill that gap. For a low-risk read tool it is adequate but not fully complete.

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

Parameters4/5

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

Schema coverage is 0%, so the description compensates by explaining each parameter: name is a partial-match filter, page starts at 1, and page_size has a maximum of 1000. This goes beyond the bare schema and provides practical usage details.

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

Purpose5/5

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

The description clearly states 'List all password categories' – a specific verb and resource. It further explains what a password category is and separates it from password-specific list tools like list_passwords because it deals with categories, not the passwords themselves.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as search_passwords or list_passwords. The description does not mention conditions where one should pick this tool over others, nor does it describe when not to use it.

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

list_passwordsA

List passwords from IT Glue (without password values).

Args: organization_id: Filter by organization ID name: Filter by password name (partial match) password_category_id: Filter by password category ID url: Filter by URL page: Page number (starts at 1) page_size: Number of results per page (max 1000) output_format: Output format - "full" (all fields), "compact" (key fields only), or "summary" (counts and IDs only). Default: compact save_to_file: If True, saves full results to a temp file and returns the path for jq processing

Returns: JSON string with list of passwords (password values not included)

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNo
nameNo
pageNo
page_sizeNo
save_to_fileNo
output_formatNocompact
organization_idNo
password_category_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden. It clearly discloses that password values are not included, that output_format changes field richness, and that save_to_file persists results to a temp file and returns its path. It does not explicitly mention that the operation is read-only, but the verb 'list' implicitly conveys this.

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 opens with a concise, information-dense summary, then uses a clean Args list with one-line semantics per parameter)Skip The Returns section is brief. No redundant filler, and all sentences earn their place.

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

Completeness4/5

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

The description covers all parameters, return type, and the file-saving edge case, which is sufficient for choosing inputs. It lacks explicit comparison with sibling list/search tools and does not describe pagination iteration behavior, but those are minor gaps given the strengths elsewhere.

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

Parameters5/5

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

Schema description coverage is 0%, but the description fully compensates by documenting every parameter with meaningful context: filter semantics, pagination defaults (page starts at 1, max page_size 1000), output_format options, and save_to_file behavior. This goes well 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?

States a specific verb and resource: 'List passwords from IT Glue' with the critical caveat 'without password values.' This distinguishes it from get_password which implies retrieving a single record including values, though it does not explicitly compare itself with search_passwords.

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 get_password or search_passwords, despite these siblings being present. While the parameter list implies filtering use cases, there is no explicit when/when-not guidance, leaving the agent to infer.

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

list_regionsA

List regions/states for a country.

Regions are used when specifying location addresses.

Args: country_id: Country ID to get regions for name: Filter by name (partial match) page: Page number (starts at 1) page_size: Number of results per page (max 1000)

Returns: JSON string with list of regions

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
pageNo
page_sizeNo
country_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden. It discloses the return format, partial-match filtering, and pagination constraints, but it does not mention error behavior, required authorization, or result ordering for a read operation without 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 compact and well-structured: purpose first, then args, then return type. Every sentence adds value, and the parameter list is easy to scan without unnecessary fluff.

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

Completeness4/5

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

For a simple reference-data list tool with one required parameter and pagination, the description covers the essentials: what it lists, the key filtering behavior, pagination limits, and return format. It could add a pointer to list_countries for obtaining valid country_id values, but the tool is otherwise complete enough to invoke correctly.

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

Parameters5/5

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

Schema description coverage is 0%, so the description fully compensates by explaining every parameter: country_id, partial-match name filtering, page starting at 1, and page_size max 1000. This is exactly the semantic information an agent needs beyond the raw schema.

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

Purpose5/5

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

The description states a specific verb and resource: 'List regions/states for a country.' This clearly distinguishes the tool from sibling list tools like list_locations and list_countries, and the country_id parameter makes its scope unambiguous.

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

Usage Guidelines3/5

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

The description gives implied usage context: regions are needed when specifying location addresses. However, it does not explicitly state when to prefer this tool over alternatives or when not to use it, leaving some inference to the agent.

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

search_configurationsA

Search for configurations by name or hostname.

Args: query: Search query string (matches name or hostname) organization_id: Optional organization ID to limit search limit: Maximum number of results (default 10, max 100) output_format: Output format - "full", "compact" (default), or "summary" save_to_file: If True, saves full results to a temp file for jq processing

Returns: JSON string with matching configurations

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes
save_to_fileNo
output_formatNocompact
organization_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description must carry the full behavioral disclosure burden. It mentions the return type (JSON string), output format options, and the optional save_to_file behavior, which is useful. However, it does not explicitly state that the operation is read-only, nor does it disclose any authentication or rate-limit considerations. This is a moderate gap given the absence of annotations.

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

Conciseness4/5

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

The description is well-structured with an initial summary line, an Args section, and a Returns line. It is concise and front-loads the core purpose. While the parameter explanations are a bit lengthy, they are necessary given the schema's lack of descriptions. It avoids unnecessary fluff.

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 moderate complexity (5 parameters, no annotations, no schema descriptions), the description is fairly complete. It covers all parameters and the return type. It doesn't detail the output schema structure, but that's acceptable since an output schema exists. It could mention error cases or result ordering, but overall it provides sufficient information for correct invocation.

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

Parameters5/5

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

The input schema has zero parameter descriptions, so the description fully compensates by explaining each parameter: query matches name or hostname, organization_id limits search, limit has default/max, output_format lists valid values, and save_to_file behavior is described. This adds significant meaning beyond the bare schema and clearly guides 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 tool's purpose: 'Search for configurations by name or hostname.' It specifies a verb, resource, and search criteria. While it doesn't explicitly differentiate from siblings like list_configurations or get_configuration, the search-by-query nature is implied and distinct enough. A 4 is appropriate because it's specific but could more explicitly state when to use search vs. list.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention that list_configurations lists all configurations or that get_configuration retrieves a single one. The usage is only implied through the parameter descriptions (e.g., 'query' suggests searching). No explicit conditions, exclusions, or alternative routing are given.

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

search_contactsA

Search for contacts by name.

Args: query: Search query string (searches first and last name) organization_id: Optional organization ID to limit search limit: Maximum number of results (default 10, max 100) output_format: Output format - "full", "compact" (default), or "summary" save_to_file: If True, saves full results to a temp file for jq processing

Returns: JSON string with matching contacts

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes
save_to_fileNo
output_formatNocompact
organization_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/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 discloses the save_to_file behavior (writing results to a temp file) and mentions the output_format options, which add value beyond the schema. However, it does not state that the operation is read-only, nor does it mention error handling, rate limits, or any side effects. This is a moderate disclosure, not comprehensive.

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 well-structured with a clear opening statement, a concise argument list with each parameter on its own line, and a brief return note. No fluff or redundant wording. It is easy to scan and information-dense.

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 five parameters, an output schema, and no annotations, the description covers all parameter semantics and return format adequately. It does not discuss edge cases, sorting order, or authentication, but for a search tool this may be acceptable. The presence of an output schema reduces the need to explain return structure in detail. The only notable omission is a clear indication that the tool is read-only.

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

Parameters5/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 fully explain each parameter. It does so effectively: query (searches first and last name), organization_id (limits by org), limit (default 10, max 100), output_format (lists allowed values), and save_to_file (explains purpose for jq). This is a complete, meaningful explanation that compensates for the missing schema descriptions.

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

Purpose4/5

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

The description clearly states the action ('Search for contacts by name') and the resource (contacts). It does not explicitly differentiate from sibling tools like list_contacts or get_contact, but the inclusion of a query parameter and search semantics makes the purpose reasonably clear. The lack of sibling differentiation prevents a 5.

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

Usage Guidelines2/5

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

The description provides parameter details but no explicit guidance on when to use this tool versus alternatives. It does not mention that search_contacts is for query-based searches while list_contacts is for broad listing, nor does it note any exclusions or prerequisites. Agents must infer usage from the name and parameter structure.

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

search_documentsB

Search for documents by name.

Args: query: Search query string organization_id: Optional organization filter limit: Maximum number of results (default 10, max 100) output_format: Output format - "full", "compact" (default), or "summary" save_to_file: If True, saves full results to a temp file for jq processing

Returns: JSON string with matching documents

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes
save_to_fileNo
output_formatNocompact
organization_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the burden. It discloses the save_to_file side effect and the output_format defaults, which is helpful. However, it does not state whether the operation is read-only, whether a valid organization_id is required when filtering, or how pagination/limits behave, leaving some behavioral uncertainty.

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 structured with an Args/Returns layout, is reasonably sized, and each line is purposeful. The first sentence is an effective summary, though the Returns section barely adds value because an output schema exists.

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?

An output schema exists, which covers return structure, and the required parameter is obvious. Still, for a search tool with 5 parameters and many document-related siblings, it would benefit from clarifying search scope, sorting, and when list_documents should be preferred, so completeness is adequate but not rich.

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 0% description coverage, so the description's parameter explanations add value. It covers all five parameters, but it is terse, especially for output_format and save_to_file, where the meaning of 'full', 'compact', and 'summary', or the temp file path for jq, are not made concrete.

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

Purpose4/5

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

The description states a clear verb ('Search') and a resource ('documents by name'), so an agent can tell this is a document search tool. It doesn't explicitly distinguish it from sibling tools like list_documents or get_document, but the 'by name' qualifier adds some 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?

The description gives no guidance on when to use this tool versus alternatives such as list_documents or get_organization_documents. It also does not explain when the optional filters or output_format should be chosen, leaving the agent to infer usage from parameter names alone.

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

search_domainsA

Search for domains by name.

Args: query: Search query string organization_id: Optional organization filter limit: Maximum number of results (default 10, max 100) output_format: Output format - "full", "compact" (default), or "summary" save_to_file: If True, saves full results to a temp file for jq processing

Returns: JSON string with matching domains

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes
save_to_fileNo
output_formatNocompact
organization_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full transparency burden. It adds useful behavioral details: output_format variants, the default, and save_to_file writing full results to a temp file for jq processing. It does not explicitly state read-only status, auth needs, or temp-file cleanup, but the search semantics and return/side-effect details are reasonably transparent.

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

Conciseness5/5

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

The description is well-structured: one front-loaded purpose sentence followed by compact parameter docs and a return line. There is no filler, and the parameter descriptions are necessary because the schema provides no descriptions.

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

Completeness4/5

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

For a search tool with five parameters and an output schema, the description covers all parameters and the return type. It is slightly incomplete in that it does not explain the differences between 'full', 'compact', and 'summary' output, nor does it provide auth or safety context—though the latter is not strictly required for a read-oriented search operation.

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

Parameters5/5

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

Schema description coverage is 0%, so all parameter meaning must come from the description. It explains query semantics, optional organization filtering, the limit maximum of 100, output_format options, and save_to_file's purpose—adding substantial value beyond the bare type/default information in the input schema.

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

Purpose5/5

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

The description starts with a specific verb-resource pair: 'Search for domains by name.' This clearly states what the tool does and distinguishes it from sibling tools like list_domains and get_domain, which likely cover listing and individual retrieval rather than name-based search.

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

Usage Guidelines3/5

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

The description implies when to use the tool—when you need to find domains by name—but it never explicitly mentions sibling alternatives or says when not to use them. An agent must infer the choice between search_domains, list_domains, get_organization_domains, and list_expiring_domains.

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

search_flexible_assetsA

Search for flexible assets by name.

Args: query: Search query string flexible_asset_type_id: Optional type filter organization_id: Optional organization filter limit: Maximum number of results (default 10, max 100) output_format: Output format - "full", "compact" (default), or "summary" save_to_file: If True, saves full results to a temp file for jq processing

Returns: JSON string with matching flexible assets

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes
save_to_fileNo
output_formatNocompact
organization_idNo
flexible_asset_type_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/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 mentions the save_to_file parameter but does not explain its side effect (writing results to a temp file). It does not clarify that the operation is read-only, nor does it explain the output_format options ('full', 'compact', 'summary') or their implications. The search nature suggests a read operation, but this is not stated explicitly. The return type is given as a JSON string, but there is no detail on potential side effects or variations in 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 uses a clear docstring format: a one-sentence purpose, followed by Args and Returns sections. It is front-loaded with the core action and keeps each parameter description short. No extraneous content, though the docstring style adds some verbosity relative to a single-line description. Overall, it is appropriately sized and organized for quick scanning.

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

Completeness2/5

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

With six parameters, no annotations, and an output schema that is not detailed in the description, the tool is moderately complex. The description does not explain the meaning or behavior of output_format values ('full', 'compact', 'summary'), nor does it describe what save_to_file actually does (e.g., file location, format). It also omits any pagination or limit behavior beyond 'default 10, max 100' implied in the parameter. Given the absence of annotations, this is insufficient for an agent to fully grasp the tool's behavior and edge cases.

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% description coverage, but the description's Args section provides a brief explanation for each of the six parameters: query, flexible_asset_type_id, organization_id, limit, output_format, and save_to_file. This adds meaning beyond the schema, which only lists types and defaults. The explanations are concise but sufficient to understand the purpose of each parameter. This compensates well for the lack of schema descriptions, though it could go deeper into accepted values or constraints.

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

Purpose5/5

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

The description begins with a clear verb and resource: 'Search for flexible assets by name.' This distinguishes it from sibling tools like list_flexible_assets (which likely lists all) and get_flexible_asset (which retrieves by ID). The purpose is immediately understandable and specific.

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 it is for searching by name, but it does not explicitly state when to use this tool versus alternatives such as list_flexible_assets or get_flexible_asset. There is no when-not-to-use guidance or mention of alternative tools, leaving the decision to inference from the tool name. This meets the 'implied usage' bar but lacks explicit routing.

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

search_locationsB

Search for locations by name.

Args: query: Search query string organization_id: Optional organization filter limit: Maximum number of results (default 10, max 100) output_format: Output format - "full", "compact" (default), or "summary" save_to_file: If True, saves full results to a temp file for jq processing

Returns: JSON string with matching locations

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes
save_to_fileNo
output_formatNocompact
organization_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

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

No annotations are present, so the description carries the burden for behavioral disclosure. It does disclose a notable side effect: save_to_file writes full results to a temp file, which is useful. It also lists output format options and states the return type. However, it does not mention whether the operation is read-only, how the temp file is handled, or any other behavioral traits such as rate limits or permissions.

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 well-structured with a one-sentence summary followed by a clear Args list and a Returns line. It is efficient and front-loaded. A small amount of redundancy exists with schema defaults, but the overall structure is easy to scan and parse.

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

Completeness3/5

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

For a search tool with five parameters and an output schema, the description covers the main behaviors and parameter semantics, but lacks usage guidance and fails to address potential concerns like empty results, error behavior, or whether results are paginated. It is minimally viable but has clear gaps 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?

Schema description coverage is 0%, so the description must compensate. The Args section documents all five parameters with meaningful context: query, organization_id as optional filter, limit with a max, output_format with allowed values and default, and save_to_file behavior. This adds value beyond the bare schema property names.

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 begins with a clear, specific statement: 'Search for locations by name.' This identifies both the action and the resource, and distinguishes it from list_locations and get_location, which retrieve without searching by name. It does not explicitly contrast itself with sibling search_* tools, but the resource is clearly stated.

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 search_locations versus alternatives like list_locations, get_organization_locations, or search_* tools for other resources. It does not state exclusions, prerequisites, or preferred scenarios. The only implied guidance is the word 'search' in the first sentence.

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

search_manufacturersB

Search for manufacturers by name.

Args: query: Search query string limit: Maximum number of results (default 10, max 100)

Returns: JSON string with matching manufacturers

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/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 for behavioral disclosure. It says 'Search' and 'Returns JSON string,' but does not disclose matching semantics such as partial vs exact match, case sensitivity, empty results, or whether the operation is read-only.

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 compact and well-structured: a first-line purpose, clearly separated args, and a returns section. Every sentence earns its place with no filler.

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

Completeness3/5

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

With an output schema present, the return format does not need much explanation. However, the description still lacks information about search behavior, and the lack of annotations leaves the tool's side-effect profile and relationship to list_manufacturers unclear.

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 no parameter descriptions (0% coverage). The description adds minor value by framing query as a 'search query string' and by stating limit's max of 100, but most of the parameter meaning still rests on their names and types.

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 a specific verb and resource: 'Search for manufacturers by name.' The 'by name' qualifier distinguishes it from list_manufacturers, though it does not explicitly name or contrast that sibling.

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?

There is no explicit when-to-use or when-not-to-use guidance. The 'by name' phrasing implies this tool is for name-based lookup rather than listing all manufacturers, but no alternatives or exclusions are mentioned.

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

search_modelsA

Search for models by name.

Args: query: Search query string manufacturer_id: Optional manufacturer filter limit: Maximum number of results (default 10, max 100)

Returns: JSON string with matching models

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes
manufacturer_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description must carry the disclosure burden. It clearly indicates a read-style search and notes that output is a JSON string, but it doesn't mention matching behavior (exact vs partial), pagination, or any access constraints.

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

Conciseness4/5

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

The description is compact and front-loaded with the purpose, followed by a clear Args section and Returns line. Every line earns its place, though the parameter explanations could be slightly tighter without losing value.

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

Completeness4/5

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

For a simple 3-parameter search tool, the description covers all inputs, defaults, limits, and the return type, and an output schema exists to fill in response details. It lacks only search-behavior nuances and usage differentiation, which are captured by the usage and behavioral dimensions.

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

Parameters5/5

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

Schema description coverage is 0%, but the description fully compensates by explaining all three parameters: query, optional manufacturer filter, and limit with default and maximum (100). It adds the max limit constraint that the schema does not expose, making the arguments actionable.

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 starts with 'Search for models by name,' a specific verb and resource, so an agent knows exactly what operation this is. It doesn't explicitly distinguish this from sibling resource searches like search_manufacturers or list_models, but the unique 'models' resource makes confusion unlikely.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool instead of alternatives such as list_models, list_manufacturers, or search_manufacturers. The description only lists arguments and gives no context about use cases or exclusions.

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

search_operating_systemsA

Search for operating systems by name.

Args: query: Search query string limit: Maximum number of results (default 10, max 100)

Returns: JSON string with matching operating systems

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It discloses that the tool returns a JSON string of matching operating systems and clarifies the limit behavior, but it does not describe matching semantics (e.g., exact vs. substring, case sensitivity) or error handling. This is minimal but acceptable for a simple search 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 concise and well-structured: a front-loaded purpose sentence, a compact Args block, and a Returns line. Every sentence earns its place with no fluff.

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

Completeness4/5

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

For a simple two-parameter tool with an output schema, the description covers the required input and the general return shape. The main gap is not explicitly routing to list_operating_systems for unfiltered browsing, but this is a minor omission given the tool's low complexity.

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?

Schema description coverage is 0%, so the description must compensate. It defines query as a search query string and states that limit controls the maximum number of results with a default of 10 and max of 100, adding meaningful semantics beyond the schema's type/title/default.

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

Purpose4/5

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

The description states a specific verb (Search), a resource (operating systems), and the search scope (by name), which clearly conveys what the tool does. It does not explicitly contrast with the sibling list_operating_systems, so it stops short of a 5.

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

Usage Guidelines3/5

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

The phrase 'by name' implies this is for finding specific operating systems rather than listing all, and the sibling list_operating_systems suggests the alternative. However, the description never explicitly says when to use this tool versus the list sibling or any other search tool.

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

search_organizationsA

Search for organizations by name.

Args: query: Search query string limit: Maximum number of results (default 10, max 100) output_format: Output format - "full", "compact" (default), or "summary" save_to_file: If True, saves full results to a temp file for jq processing

Returns: JSON string with matching organizations

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes
save_to_fileNo
output_formatNocompact

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden, and it does so well: it discloses output_format choices, a save_to_file side effect that writes a temp file, and the JSON string return type. It does not mention read-only status or temp file cleanup, but the search semantics imply non-destructive behavior.

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

Conciseness5/5

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

The one-sentence summary is immediately followed by a clean Args/Returns breakdown. Every line adds information (defaults, max, format options, side effect) with no filler, making it easy to scan.

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

Completeness4/5

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

For a four-parameter search tool with an output schema, the description covers all parameters, the return type, and the one notable side effect. It could be more complete by explicitly contrasting with list_organizations and get_organization, but an agent has enough to call it correctly.

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

Parameters5/5

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

Schema description coverage is 0%, and the description fully compensates by documenting every parameter: the query string, the limit default and maximum, the three output_format values, and the save_to_file effect. This gives an agent actionable meaning beyond the bare schema types and defaults.

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

Purpose5/5

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

States a specific verb ('Search') and resource ('organizations') with a clear filter ('by name'), distinguishing it from list/get/create/update organization siblings. The concise one-line summary tells an agent exactly what this tool does.

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

Usage Guidelines3/5

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

The name and summary imply this tool is for name-based lookup rather than listing all organizations or fetching by ID, but it never explicitly names alternatives like list_organizations or get_organization or states when not to use it. Usage guidance is left to inference.

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

search_passwordsA

Search for passwords by name.

Args: query: Search query string organization_id: Optional organization ID to limit search limit: Maximum number of results (default 10, max 100) output_format: Output format - "full", "compact" (default), or "summary" save_to_file: If True, saves full results to a temp file for jq processing

Returns: JSON string with matching passwords (password values not included)

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes
save_to_fileNo
output_formatNocompact
organization_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden. It clearly states that password values are not included in results, which is a critical safety disclosure. It also mentions the side effect of save_to_file writing full results to a temp file. It does not mention permissions or rate limits, but for a read operation it provides sufficient transparency about its behavior and boundaries.

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 compact and well-structured, starting with a one-line summary and then listing Args and Returns. Every sentence adds value, with no fluff or repetition. It front-loads the core purpose and keeps parameter details succinct.

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?

The description covers all parameters, provides defaults and constraints, describes the return format (JSON string without password values), and notes the save_to_file side effect. Given the output schema is present (though not shown), further detail on return structure is unnecessary. Minor gaps like pagination or sorting are not critical for basic usage, so a 4 is appropriate.

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

Parameters5/5

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

Given 0% schema description coverage, the description fully compensates by explaining each parameter: query, organization_id for limiting search, limit with default and max, output_format with explicit allowed values, and save_to_file for temp file saving. This adds meaningful context beyond the bare schema types and defaults, making the parameter semantics clear and self-sufficient.

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

Purpose5/5

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

The description states a specific verb and resource: 'Search for passwords by name.' It clearly identifies the search field (name) and distinguishes from sibling search tools for other resources like organizations or contacts. The purpose is unambiguous and does not require reading the schema.

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 does not explicitly mention when to use this tool versus list_passwords or get_password. It implies usage when you have a query string to search by name, but no alternative routing or exclusions are provided. This is implied usage rather than explicit guidance, scoring a 3.

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

session_browser_closeA

Close the persistent Chromium browser if it's open.

Use this to manually close the browser when you're done with document operations that require session authentication. Only needed when browser persistence is enabled.

Returns: Confirmation message

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It discloses that the operation is conditional on the browser being open and conveys the persistent, session-authentication context. However, it does not explain consequences such as loss of the authenticated session or how this differs from clearing tokens or using session_clear.

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 concise: three short sentences plus a returns line, with the primary action front-loaded. Every clause adds scope, usage context, or return information without redundancy or filler.

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

Completeness4/5

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

For a zero-parameter close tool with an output schema, the description covers the main action, the open/closed condition, and the manual-use trigger. A minor gap is the lack of explicit guidance on choosing between this and the sibling browser_close tool, but overall it is adequate.

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

Parameters4/5

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

The tool has zero parameters and schema coverage is 100% (vacuously), so there is nothing the description needs to explain about parameters. The baseline 4 applies because no parameter semantics are required.

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 opens with a specific action and resource: closing the persistent Chromium browser, and adds the idempotent condition 'if it's open.' It clearly communicates what the tool does, though it does not explicitly differentiate itself from the sibling browser_close tool beyond using the word 'persistent.'

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

Usage Guidelines4/5

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

The description states when to use the tool: manually close the browser after document operations requiring session authentication, and gives the condition 'Only needed when browser persistence is enabled.' It provides clear usage context, but does not explicitly name alternatives or state when not to use it, such as the relationship to browser_close.

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

session_browser_keep_openA

Enable or disable browser persistence for session authentication.

When enabled (True), the Chromium browser window stays open after capturing session data. This is useful when you have multiple document operations - you only need to log in once per session.

When disabled (False, the default), the browser closes automatically after each session capture.

Note: This is separate from jwt_browser_keep_open which controls the Chromium browser for JWT/checklist operations.

Args: enabled: True to keep browser open after auth, False to close it

Returns: Confirmation of the new setting

ParametersJSON Schema
NameRequiredDescriptionDefault
enabledYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are provided, so the description carries the behavioral burden. It clearly discloses what happens when enabled vs disabled, the default state, and notes the separation from the JWT browser setting. It doesn't discuss security implications or whether the change applies to future sessions, but coverage is strong for the tool's simplicity.

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 well-structured and front-loaded: a clear summary, behavioral breakdown, use case, sibling distinction, argument definition, and return note. Every sentence adds information and there is no significant fluff.

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

Completeness5/5

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

For a one-boolean-parameter configuration toggle with no output schema and no annotations, the description is complete. It explains the behavior, the default, the motivating use case, the distinction from a similar setting, and the expected return. An agent has enough to invoke it correctly.

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

Parameters4/5

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

The schema only exposes a boolean 'enabled' with no description, while the tool's description explicitly defines True as 'keep browser open after auth' and False as 'close it,' and even notes the default. This adds meaningful semantic value beyond the bare schema.

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

Purpose5/5

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

States a specific verb ('Enable or disable') and a specific resource ('browser persistence for session authentication'). It also explicitly distinguishes itself from the JWT browser control, so an agent can tell it apart from related browser/session tools without opening the schema.

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

Usage Guidelines4/5

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

Provides clear usage context: enabling is useful for multiple document operations so the user only logs in once, and the default behavior is explained. It does not enumerate explicit 'when not to use' conditions beyond the JWT separation, but the guidance is sufficient for this simple toggle.

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

session_browser_statusA

Check the current session browser persistence status.

Returns information about:

  • Whether browser persistence is enabled for session auth

  • Whether a Chromium browser is currently open

Returns: JSON string with browser status

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly conveys a read-only status check and specifies the JSON return format. It stops short of explicitly stating that the tool has no side effects, but 'Check current status' strongly implies it.

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

Conciseness4/5

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

The description is concise, front-loaded with the main purpose, and organized with bullets for readability. The repeated 'Returns:' section adds a small amount of redundancy but does not materially hurt clarity.

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

Completeness4/5

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

For a no-argument status tool with an output schema present, the description provides enough information to invoke the tool correctly. It could be more complete by explaining when to prefer this tool over browser_status or session_status, but that gap is primarily a usage-guideline issue.

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

Parameters4/5

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

The tool has zero parameters and 100% schema coverage, so there is no parameter ambiguity to resolve. The description reinforces that this is a status-only operation requiring no arguments.

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

Purpose4/5

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

The description uses a specific verb ('Check') and names a specific resource ('current session browser persistence status'), and the bullet list clarifies exactly what information is returned. It does not explicitly differentiate itself from sibling tools like browser_status or session_status, so it falls short of a 5.

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

Usage Guidelines2/5

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

The description states what the tool does but gives no guidance on when to use it versus closely related siblings such as browser_status, session_status, session_browser_keep_open, or session_browser_close. No exclusions or alternative-selection conditions are provided.

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

session_clearA

Clear the cached session for document operations.

Use this if you need to re-authenticate or if the session is causing issues.

Returns: Confirmation message

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses that it clears a cached session and that re-authentication may be needed, which implies a destructive effect on the session. However, it doesn't mention permissions, whether other sessions are affected, or whether this also invalidates associated tokens, so it is only partially transparent.

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 very brief and to the point: a single-core statement, a usage condition, and a returns note. Every sentence serves a purpose and there is no filler, 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.

Completeness4/5

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

For a zero-parameter tool with a simple return (confirmation message), the description covers the operation, when to use it, and the return format. It could additionally mention side effects or relation to sibling session tools, but given the low complexity, it is sufficiently 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 zero parameters, so the schema already fully documents the input (none). The description correctly avoids inventing parameter details. A baseline of 4 is appropriate because no parameter explanation is needed.

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

Purpose4/5

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

The description clearly states the action: 'Clear the cached session for document operations.' This identifies a specific verb and a resource (cached session for document operations), which makes the purpose clear. It doesn't explicitly contrast with siblings like jwt_clear_token, but the resource scope gives enough differentiation.

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

Usage Guidelines4/5

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

The description provides explicit conditions: 'Use this if you need to re-authenticate or if the session is causing issues.' This is a clear context for when to invoke the tool. However, it doesn't name alternatives or provide exclusions, such as 'use jwt_clear_token for token-specific issues,' so it stops short of a 5.

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

session_statusA

Check the status of the cached session for document operations.

Returns information about the currently cached session including tenant subdomain and age.

Note: This checks for cached session data but cannot validate server-side session state. If operations fail with auth errors, run capture_session.sh to re-authenticate.

Returns: JSON string with session status

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses the tool's limitation (cannot validate server-side session state), the kind of information returned, and the action to take if auth fails. It does not explicitly state side effects (likely none) or network behavior, but for a status-check tool this is sufficient.

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 well-structured with a clear purpose, a note on limitations, and a returns section. It is not overly verbose and front-loads the main function. The note adds important context without unnecessary fluff, though it could be slightly tightened.

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

Completeness4/5

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

For a zero-parameter tool with an output schema, the description is fairly complete. It explains what the tool does, what it returns, and includes a practical caveat about server-side validation. It doesn't mention error handling or edge cases, but given the tool's simplicity and the presence of an output schema, it covers the essentials.

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, so schema coverage is 100% and there is nothing for the description to explain about parameters. The description adds value by detailing what the status includes (tenant subdomain and age), which goes beyond the empty schema. Baseline for 0 params is 4, and the extra context justifies maintaining that score.

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

Purpose5/5

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

The description clearly states the verb ('Check'), the resource ('cached session for document operations'), and what it returns ('tenant subdomain and age'). It distinguishes itself from sibling session tools like jwt_token_status or session_browser_status by focusing specifically on cached session data for document operations.

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

Usage Guidelines4/5

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

The description provides context on when to use it (checking cached session) and explicitly warns that it cannot validate server-side state, advising re-authentication via capture_session.sh if auth errors occur. However, it does not explicitly compare to sibling tools like session_browser_status or jwt_token_status, so the usage guidance is clear but not exhaustive.

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

uncomplete_checklistB

Mark a checklist as incomplete.

Args: checklist_id: The checklist ID

Returns: JSON string with the updated checklist

ParametersJSON Schema
NameRequiredDescriptionDefault
checklist_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior2/5

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

With no annotations, the description carries full responsibility for behavioral disclosure. It mentions the action and return value but omits any side effects (e.g., whether it is a write operation, idempotency, permission requirements, or error conditions). It adds only a minimal statement about returning the updated checklist, which is helpful but insufficient for a mutation tool without annotation support.

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

Conciseness5/5

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

The description is compact and well-structured: a clear one-line action, an Args section, and a Returns section. Every element earns its place, and the action is front-loaded. No wasted words or redundant 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?

The tool is simple (one integer parameter) and an output schema exists, so the description does not need to detail return structure. It does state the return is a JSON string with the updated checklist, which is useful. However, it lacks any context about prerequisites (e.g., checklist must exist) or relationship to sibling tools (e.g., inverse of complete_checklist). For a simple tool, it is minimally adequate but not thorough.

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

Parameters1/5

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

Schema description coverage is 0%, so the description must compensate. The only parameter, checklist_id, is described as 'The checklist ID' which simply restates the schema property name and adds no additional meaning (no format, examples, constraints, or relationship to other data). This is effectively redundant with the schema.

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

Purpose5/5

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

The description states a specific action ('Mark a checklist as incomplete') on a clear resource (checklist). It is the inverse of the sibling 'complete_checklist' and distinct from the more general 'update_checklist'. The purpose is unambiguous and easily distinguished 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?

The description provides no guidance on when to use this tool versus alternatives. It does not mention that 'complete_checklist' is the opposite, nor does it advise using 'update_checklist' for other fields. There is no explicit when/when-not context, 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.

uncomplete_checklist_task_jwtA

Mark a checklist task as not completed using JWT authentication.

Args: task_id: Task ID to mark as incomplete

Returns: JSON string with the updated task

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are present, so the description carries the behavioral burden. It does disclose JWT authentication and that the tool returns a JSON string with the updated task, but it does not address potential side effects, permission requirements, or reversibility beyond the obvious state change.

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 compact and well-structured with a purpose sentence plus Args and Returns sections. It contains no filler, and the key action is front-loaded.

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

Completeness4/5

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

For a one-parameter mutation tool with an output schema, the description covers the action, authentication mode, and return shape adequately. It could include more sibling context, but that gap is already captured in the usage guidelines dimension.

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?

Schema description coverage is 0%, but the description gives task_id a clear semantic role: 'Task ID to mark as incomplete.' For a single integer parameter, this is sufficient to understand what value to provide, though it adds no format or constraint details beyond the schema.

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

Purpose4/5

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

The description clearly states the action ('Mark a checklist task as not completed') and the resource, making the tool's purpose understandable. It differentiates from the completion tool by wording ('not completed') but does not explicitly name sibling alternatives like complete_checklist_task_jwt or uncomplete_checklist.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as complete_checklist_task_jwt, update_checklist_task_jwt, or uncomplete_checklist. It only implies JWT-based usage without stating prerequisites, exclusions, or decision criteria.

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

update_checklistC

Update an existing checklist.

Args: checklist_id: The checklist ID name: New checklist name description: New checklist description completed: Mark checklist as completed/incomplete due_date: New due date (YYYY-MM-DD) assignee_id: New assignee user ID restricted: New restricted status

Returns: JSON string with the updated checklist

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
due_dateNo
completedNo
restrictedNo
assignee_idNo
descriptionNo
checklist_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 present, so the description must disclose behavior. It mentions returning a JSON string but does not clarify whether null parameters mean 'leave unchanged' or 'set to null', whether updates are partial or full, or any side effects. This is a significant transparency gap for a mutation tool.

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

Conciseness4/5

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

The description is well-organized with an Args section and a Returns note. Each parameter is on its own line, and there is no fluff. It is compact and easy to scan.

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?

Seven parameters with zero schema coverage require a thorough description. While every parameter is named, the missing update semantics (null behavior, whether all fields are overwritten, interaction with complete_checklist/uncomplete_checklist) leave agents unable to use the tool safely and correctly. The output schema exists, so return details are less critical, but the behavioral gaps remain.

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%, and the description compensates by listing each parameter and its meaning (e.g., 'New checklist name'). However, it does not explain null/optional semantics, which is critical for update operations, and it omits type details already in the schema.

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

Purpose4/5

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

The description states 'Update an existing checklist' with a clear verb and resource. It is distinct from list/get/delete siblings, though it does not explicitly differentiate from complete_checklist or uncomplete_checklist which also modify checklist state.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus complete_checklist, uncomplete_checklist, or delete_checklists. The description only defines the operation without providing selection criteria, prerequisites, or exclusions.

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

update_checklist_task_jwtA

Update an existing checklist task using JWT authentication.

This tool uses JWT authentication because IT Glue's public API doesn't support task modification.

Args: task_id: Task ID to update (required) name: New task name description: New task description due_date: New due date in ISO format (YYYY-MM-DD) assignee_id: New assignee user ID position: New position/order in the list completed: New completion status

Returns: JSON string with the updated task

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
task_idYes
due_dateNo
positionNo
completedNo
assignee_idNo
descriptionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral disclosure burden. It discloses the auth mechanism and why it is needed, states that the operation updates an existing task, and explicitly says the return value is a JSON string with the updated task. It does not mention token failure behavior or permissions, but it is substantially transparent for a targeted update 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 front-loaded with a clear one-sentence purpose, gives a concise justification for the JWT approach, and then uses a clean Args/Returns structure. There is no filler or redundant explanation, and each line adds either semantic or contextual value.

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 covers the resource, auth rationale, every parameter, and the return format, which is a solid baseline. However, it does not clarify partial-update semantics — whether omitting an optional field leaves it unchanged or clears it — and it does not mention prerequisites like having a valid JWT token. Given zero schema coverage and no annotations, these are meaningful gaps for an agent calling the tool correctly.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It lists all seven parameters with one-line glosses, and adds useful specifics like ISO date format, position/order meaning, and completed status. However, several entries simply restate the property names, and optionality is only marked for task_id despite the rest being nullable defaults in the schema.

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

Purpose4/5

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

The description states a specific verb ('Update'), a specific resource ('existing checklist task'), and the authentication mechanism (JWT). It is clearly not a generic 'process' or ambiguous operation, but it does not explicitly differentiate itself from overlapping siblings like complete_checklist_task_jwt and uncomplete_checklist_task_jwt, especially since 'completed' is also an updatable field.

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 JWT rationale implies this is the correct path when modifying checklist tasks because the public API doesn't support it, which gives some contextual signal. However, the description does not explicitly say when to prefer this tool over alternatives such as complete_checklist_task_jwt, uncomplete_checklist_task_jwt, or update_checklist, nor does it provide exclusions.

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

update_configurationB

Update an existing configuration in IT Glue.

Args: configuration_id: The IT Glue configuration ID name: New configuration name hostname: New hostname primary_ip: New primary IP address mac_address: New MAC address serial_number: New serial number asset_tag: New asset tag configuration_type_id: New configuration type ID configuration_status_id: New configuration status ID manufacturer_id: New manufacturer ID model_id: New model ID operating_system_id: New operating system ID operating_system_notes: New OS notes notes: New general notes

Returns: JSON string with the updated configuration

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
notesNo
hostnameNo
model_idNo
asset_tagNo
primary_ipNo
mac_addressNo
serial_numberNo
manufacturer_idNo
configuration_idYes
operating_system_idNo
configuration_type_idNo
operating_system_notesNo
configuration_status_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?

With no annotations provided, the description must fully disclose behavior. It only states the action and return format, but does not mention partial update semantics (whether omitted fields are left unchanged or reset), authentication requirements, failure modes, or side effects. The return description is minimal ('JSON string with the updated configuration') and insufficient for a mutation tool.

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

Conciseness3/5

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

The description is structured with an overview, Args section, and Returns, but the Args list is lengthy and repetitive, essentially restating parameter names with 'New' prefixes. The purpose line is concise, but the rest could be tightened without losing meaning. It is not overly verbose but not exemplary.

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

Completeness2/5

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

For a tool with 14 parameters, zero schema descriptions, and no annotations, this description is incomplete. It does not explain the behavior of partial updates (e.g., whether null values are ignored), does not provide examples, and gives only a sparse return format. An agent would need additional context to use this tool confidently.

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

Parameters2/5

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

The input schema has no descriptions (0% coverage), and the description's parameter list provides only trivial 'New X' phrases that simply repeat the parameter names (e.g., 'name: New configuration name'). It does not clarify any constraints, formats, or relationships between fields, and it 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.

Purpose5/5

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

The description states the precise action ('Update') and resource ('existing configuration in IT Glue'), which clearly differentiates it from create_configuration (which would create a new one) and read-only tools like get_configuration. No ambiguity about what this tool does.

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

Usage Guidelines3/5

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

The description implies the tool is for modifying an existing configuration (by saying 'existing'), but it does not explicitly contrast it with create_configuration, nor does it mention when not to use it. The use case is reasonably clear from the verb and 'existing' keyword, but explicit guidance about alternatives is missing.

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

update_contactC

Update an existing contact in IT Glue.

Args: contact_id: The IT Glue contact ID first_name: New first name last_name: New last name contact_type_id: New contact type ID location_id: New location ID title: New job title important: New important flag notes: New notes contact_emails: New list of email objects contact_phones: New list of phone objects

Returns: JSON string with the updated contact

ParametersJSON Schema
NameRequiredDescriptionDefault
notesNo
titleNo
importantNo
last_nameNo
contact_idYes
first_nameNo
location_idNo
contact_emailsNo
contact_phonesNo
contact_type_idNo

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 behavioral disclosure burden. It states that the tool updates a contact and returns the updated contact, but it does not explain partial-update semantics: are omitted fields left unchanged or set to null? It also omits permissions, validation, and error behavior, which is important for a mutation tool.

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

Conciseness4/5

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

The description is front-loaded with the purpose, then organizes parameters in an Args block and ends with a Returns line. It is compact for a 10-parameter tool and contains no fluff. It loses a point because several parameter lines are mechanical restatements of the schema property names.

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?

This is a 10-parameter mutation tool with no annotations and no schema descriptions. Although an output schema exists, the description still leaves critical invocation details unclear: what happens to omitted fields, what shape email/phone objects must have, and how to distinguish this tool from create_contact/delete_contact. An agent could make a basic call, but not reliably a correct one in ambiguous cases.

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 for the schema's silence. It does list all 10 parameters, but most entries merely restate the schema titles with a 'New' prefix. The nested contact_emails and contact_phones parameters lack any object shape or field guidance, which is a meaningful 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 opening sentence is specific: 'Update an existing contact in IT Glue.' It names the verb and resource clearly, and the word 'existing' hints that this is not the create tool. However, it never explicitly contrasts with sibling tools like create_contact or delete_contact, so it stops short of 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 Guidelines3/5

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

The description implies the usage context: use this when you need to update an existing contact. The word 'existing' is a mild condition that separates it from creating a contact. But it provides no explicit guidance about alternatives, such as using create_contact for new contacts or get_contact/search_contacts for reads.

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

update_documentC

Update an existing document.

Args: document_id: The document ID name: New document name content: New document content document_folder_id: New folder ID public: New public visibility status

Returns: JSON string with the updated document

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
publicNo
contentNo
document_idYes
document_folder_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description must fully disclose behavior. It only states 'Update an existing document' and lists parameters, but does not explain critical traits: whether it performs a partial update (only fields provided are changed) or overwrites the entire document, what happens if document_id does not exist, whether special permissions are required, or if changes are reversible. This is a significant gap for a mutation tool.

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

Conciseness4/5

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

The description is concise and well-structured: a clear one-line purpose, followed by a formatted argument list, and a return statement. It avoids unnecessary filler. However, it could include more behavioral context without becoming verbose, so it is not maximally 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?

Given the tool has 5 parameters, only one required, and no annotations, the description is incomplete. It does not explain partial update behavior, error handling, or the meaning of null parameters. The output schema exists but is not shown here; the description does mention the return format, but that is insufficient for a mutation tool. An agent would lack essential information to use it correctly.

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

Parameters2/5

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

The schema has 0% description coverage, so the description must compensate. It lists each parameter with a brief label ('New document name', 'New folder ID'), which adds minimal value beyond the schema titles. It does not clarify that all parameters except document_id are optional and default to null, nor does it explain how null values are treated (ignored vs. clearing fields). This leaves ambiguity about the update semantics.

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 an existing document.' It lists the specific fields to update (name, content, folder, visibility), which distinguishes it from create and delete operations. However, it does not differentiate from sibling tools like update_document_jwt or other update tools, so it doesn't fully distinguish within the tool family.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives like create_document, delete_document, or update_document_jwt. There is no mention of prerequisites, such as needing an existing document_id, or when a partial update is appropriate. The description simply states the action 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_document_jwtA

Update an existing document's content using session authentication.

This tool uses session authentication (cookies + XSRF token from browser) to update document content. This is REQUIRED because IT Glue's public API doesn't persist document content.

If no valid session is cached, this will return an error asking you to run the session capture script.

Args: organization_id: Organization ID (required - needed for internal API) document_id: The document ID (required) name: Document name (required - needed for update) content: New document content as HTML (required) public: Whether the document is publicly visible (default False)

Returns: JSON string with the updated document

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
publicNo
contentYes
document_idYes
organization_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations provided, the description carries the behavioral burden well. It discloses the authentication mechanism (cookies + XSRF token), the fact that session auth is required, and the failure behavior when no session exists. It does not discuss reversibility, side effects beyond the update, or permission requirements, but the core behavior is transparent.

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 well-structured: a one-line summary, a short rationale for the auth requirement, an error-condition note, a clear Args block, and a Returns line. Every sentence adds useful information; there is no filler or repetition of the schema.

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

Completeness5/5

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

Given the moderate complexity of 5 parameters and an output schema, the description is complete. It covers why the tool exists, how authentication works, what to do on session failure, all parameter meanings, and the return type. An agent has enough context to invoke it correctly and interpret failure.

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

Parameters5/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, and it does. Every parameter is explained beyond its name: organization_id is 'needed for internal API', content is specified as HTML, public has its default, and name is marked as required for the update. This is exactly the kind of semantic addition agents need.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'Update an existing document's content using session authentication.' It clearly identifies the tool's action and distinguishes it from the sibling update_document by emphasizing the required session-auth mechanism.

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

Usage Guidelines4/5

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

The description explicitly states this tool is REQUIRED because the public API doesn't persist document content, giving clear rationale for choosing this variant. It also explains the error condition when no session is cached and directs the user to run the session capture script. However, it does not explicitly name an alternative or state when not to use this tool.

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

update_flexible_assetA

Update an existing flexible asset.

Args: asset_id: The flexible asset ID traits: Updated field values (merged with existing traits) archived: Set archived status

Returns: JSON string with the updated flexible asset

ParametersJSON Schema
NameRequiredDescriptionDefault
traitsNo
archivedNo
asset_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

No annotations are present, so the description carries the behavioral burden. It usefully discloses that traits are 'merged with existing traits,' indicating a partial update rather than wholesale replacement, and that the response is a JSON string. It does not address null semantics for archived or error behavior, but the main behavioral nuance is covered.

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 compact and well-structured with Args and Returns sections. Every line contributes meaning, and there is no redundant or filler text.

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

Completeness4/5

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

For a simple three-parameter update tool, the description covers the core operation, merge behavior, archival status, and return format. It does not explain how to discover valid trait fields for a given flexible asset type, but this is a minor gap given the surrounding flexible asset sibling tools.

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?

Schema description coverage is 0%, so the Args section is essential and covers all three parameters. It adds meaning beyond the raw schema: asset_id is the target ID, traits are merged field values, and archived sets archival status. More detail about valid trait keys would be helpful, but the provided definitions are functional.

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

Purpose5/5

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

Description states a specific verb and resource: 'Update an existing flexible asset.' It lists the relevant arguments and return value, making the tool's purpose clear and distinguishing it from the many create/get/delete/search flexible asset siblings.

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?

Using 'existing' implies this tool modifies an already-created flexible asset rather than creating one, but there is no explicit guidance about when to prefer this tool over create_flexible_asset, search_flexible_assets, or other update tools. Context is clear but exclusions and alternatives are not stated.

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

update_locationB

Update an existing location.

Args: location_id: The location ID name: New location name address_1: New street address line 1 address_2: New street address line 2 city: New city name region_id: New region/state ID postal_code: New postal/ZIP code country_id: New country ID phone: New phone number fax: New fax number notes: New notes primary: New primary status

Returns: JSON string with the updated location

ParametersJSON Schema
NameRequiredDescriptionDefault
faxNo
cityNo
nameNo
notesNo
phoneNo
primaryNo
address_1No
address_2No
region_idNo
country_idNo
location_idYes
postal_codeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It clearly states the tool updates an existing location and returns a JSON string with the updated location, which is helpful. However, it does not explain whether unspecified fields are preserved or cleared (partial vs. full update), what permissions are required, or what side effects may occur, leaving important mutation behavior ambiguous.

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 well-structured with a front-loaded purpose statement followed by an Args section and a Returns section. It contains no obvious filler, but the parameter list is long and somewhat mechanical; it earns its place because it documents all 12 parameters, though it could be more compact.

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 12-parameter complexity and the absence of annotations, the description is reasonably complete: it names all parameters, labels them as new values, and states the return type. The main gap is the lack of partial-update semantics and validation behavior, which are critical for an update tool with many optional fields, so the picture is not fully complete.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It lists every parameter with a one-line explanation (e.g., 'New region/state ID'), adding some meaning beyond the schema titles. Still, most explanations closely mirror the property names, and the description does not clarify constraints, formats, or the exact semantics of fields like 'primary.'

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 opens with 'Update an existing location,' a clear verb and resource that distinguishes it from create/delete/get tools. However, it does not explicitly differentiate itself from sibling tools such as create_location or delete_location, relying instead on the tool name and the verb 'update.'

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 instead of alternatives like create_location, delete_location, or search_locations. There are no exclusions, prerequisites, or scenario-based instructions; the only implied usage is 'when you want to modify a location,' which must be inferred.

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

update_organizationA

Update an existing organization in IT Glue.

Args: organization_id: The IT Glue organization ID name: New organization name description: New organization description organization_type_id: New organization type ID organization_status_id: New organization status ID quick_notes: New quick notes

Returns: JSON string with the updated organization

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
descriptionNo
quick_notesNo
organization_idYes
organization_type_idNo
organization_status_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/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 operation is an update and that it returns a JSON string, but it does not disclose whether omitted fields are preserved or cleared, what happens on invalid IDs, authentication needs, or other side effects beyond the basic mutation.

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 efficiently formatted with a clear purpose sentence, an Args block covering all six parameters, and a Returns line. There is no filler or redundant repetition of schema type 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?

The description covers the operation, all parameters, and the return value, which is minimally viable. However, it lacks explicit update semantics for optional fields, does not mention that organization_type_id and organization_status_id likely come from list_organization_types/list_organization_statuses, and gives no usage guidance. These gaps make it adequate but not 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?

Schema description coverage is 0%, so the description must compensate. It provides a one-line meaning for every parameter, such as 'New organization name' and 'New organization type ID,' which adds value beyond the bare schema fields. It does not explain null-vs-omit semantics, but the schema's defaults partially cover that.

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

Purpose5/5

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

The opening sentence, 'Update an existing organization in IT Glue,' clearly states the verb and resource, and the word 'existing' distinguishes this from sibling create_organization. The parameter list reinforces that it modifies fields on an existing org.

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

Usage Guidelines2/5

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

The description gives no guidance on when to prefer this tool over create_organization, get_organization, or search_organizations. The only signal is the word 'Update,' which implies modification but does not explicitly address alternatives or prerequisites.

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

update_passwordA

Update an existing password entry in IT Glue.

Args: password_id: The IT Glue password ID name: New password entry name password: New password value username: New username url: New URL password_category_id: New password category ID password_folder_id: New password folder ID notes: New notes otp_secret: TOTP secret key (Base32 encoded, min 16 chars) for 2FA

Returns: JSON string with the updated password entry (password value not included)

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNo
nameNo
notesNo
passwordNo
usernameNo
otp_secretNo
password_idYes
password_folder_idNo
password_category_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description carries the full behavioral burden. It does disclose a genuinely useful trait beyond the schema: the response is a JSON string and 'password value not included,' which tells the agent it will not receive the secret back. However, it does not state partial-update semantics (whether unprovided fields remain unchanged), behavior when password_id does not exist, or any permission/authentication requirements, which matter for a mutating tool.

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

Conciseness4/5

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

The description is front-loaded with a one-sentence purpose, followed by a compact name:meaning arg list and a single Returns line, with no filler. The length is justified by the schema having zero parameter descriptions, and the arg list format maps exactly to the input schema property names.

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 9-parameter mutation tool with no annotations, no schema descriptions, and an output schema present, the description covers the essentials: purpose, every parameter, and the return format. It is incomplete on update semantics (does it patch only provided fields?), error behavior, and explicit guidance among the many password-related sibling tools, which an agent would need to call it confidently.

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?

Schema description coverage is 0%, so the description fully compensates by documenting all 9 parameters with clear one-line meanings, including the 'New...' qualifiers that distinguish replacement values from the target identifier. The otp_secret entry adds valuable format details (Base32 encoded, min 16 chars), though the other lines mostly restate the parameter names with minimal additional constraint or format guidance.

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

Purpose5/5

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

The opening sentence, 'Update an existing password entry in IT Glue,' uses a specific verb plus resource and explicitly scopes to existing entries, which cleanly separates it from create_password, delete_password, get_password, and search_passwords among the siblings. The operation and target are unambiguous.

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

Usage Guidelines3/5

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

Usage context is only implied: the verb 'update' plus 'existing password entry' suggests it is for modifying an entry rather than creating, retrieving, or deleting one. There is no explicit when-to-use statement, no exclusions, and no mention of the direct alternative create_password, so the agent must infer selection from the name and opening sentence alone.

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

upload_file_to_itglueA

Upload a file to IT Glue Documents (GlueFiles).

This uploads a file to an organization's Documents section using session authentication. Supports any file type.

If no valid session is cached, this will return an error asking you to run the session capture script.

Args: organization_id: Organization ID to upload to (required) file_path: Local path to the file to upload (required) filename: Override filename (optional, defaults to original filename)

Returns: JSON string with upload result

ParametersJSON Schema
NameRequiredDescriptionDefault
filenameNo
file_pathYes
organization_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral disclosure burden. It reveals session-authentication reliance, the error and fallback when no valid session exists, the support for any file type, and the JSON string return. It does not explicitly say whether an upload overwrites existing files, but 'upload a file' strongly implies an additive create 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 tightly organized: a one-sentence purpose, a brief clarification of scope and file-type support, a session-caveat warning, and clearly labeled Args/Returns sections. There is no repetition or filler, and the most important information is front-loaded.

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?

The definition covers purpose, session prerequisites, error behavior, parameters, and return type. Combined with the available output schema, this is sufficient for an agent to invoke the tool correctly. It could add explicit guidance on file replacement behavior or differentiation from create_document, but those are optional refinements rather than missing essentials.

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?

Schema description coverage is 0%, so the description must compensate. It does: file_path is explained as 'local path to the file', filename is described as an override with a default to the original name, and organization_id is given a clear target meaning. This adds real semantic value beyond the bare schema titles.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'Upload a file to IT Glue Documents (GlueFiles).' It further narrows the target to 'an organization's Documents section.' There is no sibling upload tool, so this is immediately distinguishable from document read/create/update/delete siblings.

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 clearly implies the tool is for uploading files into an organization's Documents, but it never explicitly states when to prefer this over create_document or other document-related siblings. It does provide a prerequisite caveat about the session capture script, but that is a precondition rather than a comparison with alternatives.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 105 tool updatesv0.1.0
    • First observedbrowser_close
    • First observedbrowser_keep_open
    • First observedbrowser_status
    • First observedcomplete_checklist
    • First observedcomplete_checklist_task_jwt
    • First observedcreate_checklist_from_template_jwt
    • First observedcreate_checklist_jwt
    • First observedcreate_checklist_task_jwt
    • First observedcreate_configuration
    • First observedcreate_contact
    • First observedcreate_document
    • First observedcreate_document_jwt
    • First observedcreate_flexible_asset
    • First observedcreate_location
    • First observedcreate_organization
    • First observedcreate_password
    • First observedcreate_related_item
    • First observeddelete_checklist_task_jwt
    • First observeddelete_checklists
    • First observeddelete_contact
    • First observeddelete_document
    • First observeddelete_flexible_asset
    • First observeddelete_location
    • First observeddelete_password
    • First observeddelete_related_items
    • First observedget_all_reference_data
    • First observedget_checklist
    • First observedget_checklist_template
    • First observedget_configuration
    • First observedget_configuration_relationships
    • First observedget_contact
    • First observedget_contact_relationships
    • First observedget_document
    • First observedget_document_folder
    • First observedget_domain
    • First observedget_flexible_asset
    • First observedget_flexible_asset_relationships
    • First observedget_flexible_asset_type
    • First observedget_location
    • First observedget_organization
    • First observedget_organization_checklists
    • First observedget_organization_documents
    • First observedget_organization_domains
    • First observedget_organization_flexible_assets
    • First observedget_organization_locations
    • First observedget_password
    • First observedjwt_clear_token
    • First observedjwt_token_status
    • First observedlist_checklist_templates
    • First observedlist_checklists
    • First observedlist_configuration_statuses
    • First observedlist_configuration_types
    • First observedlist_configurations
    • First observedlist_contact_types
    • First observedlist_contacts
    • First observedlist_countries
    • First observedlist_document_folders
    • First observedlist_documents
    • First observedlist_domains
    • First observedlist_expiring_domains
    • First observedlist_flexible_asset_fields
    • First observedlist_flexible_asset_types
    • First observedlist_flexible_assets
    • First observedlist_incomplete_checklists
    • First observedlist_locations
    • First observedlist_manufacturers
    • First observedlist_models
    • First observedlist_operating_systems
    • First observedlist_organization_statuses
    • First observedlist_organization_types
    • First observedlist_organizations
    • First observedlist_password_categories
    • First observedlist_passwords
    • First observedlist_regions
    • First observedlist_related_items
    • First observedsearch_configurations
    • First observedsearch_contacts
    • First observedsearch_documents
    • First observedsearch_domains
    • First observedsearch_flexible_assets
    • First observedsearch_locations
    • First observedsearch_manufacturers
    • First observedsearch_models
    • First observedsearch_operating_systems
    • First observedsearch_organizations
    • First observedsearch_passwords
    • First observedsession_browser_close
    • First observedsession_browser_keep_open
    • First observedsession_browser_status
    • First observedsession_clear
    • First observedsession_status
    • First observeduncomplete_checklist
    • First observeduncomplete_checklist_task_jwt
    • First observedupdate_checklist
    • First observedupdate_checklist_task_jwt
    • First observedupdate_configuration
    • First observedupdate_contact
    • First observedupdate_document
    • First observedupdate_document_jwt
    • First observedupdate_flexible_asset
    • First observedupdate_location
    • First observedupdate_organization
    • First observedupdate_password
    • First observedupdate_related_item
    • First observedupload_file_to_itglue

TDQS

B3/5.0

Scored across 105 tools

Disambiguation2/5

The core list/get/search/create/update/delete tools are distinct, but multiple pairs overlap: create_document/create_document_jwt and update_document/update_document_jwt appear to do the same thing with different auth mechanisms, and get_organization_* tools duplicate list_* with an organization filter. With 105 tools, an agent can easily select the wrong variant.

Naming Consistency3/5

Most resource tools follow a clear list_/get_/search_/create_/update_/delete_ pattern, but auth/session utilities like jwt_clear_token, session_clear, and browser_keep_open break the verb_noun convention. The _jwt suffix is also applied inconsistently, as seen in create_checklist_jwt versus update_checklist, and delete_checklists uses a plural form.

Tool Count1/5

105 tools is far beyond the typical MCP scope and includes many overlapping auth variants, convenience wrappers, and list-versus-get duplicates. Even a comprehensive IT Glue integration could express this surface with far fewer tools.

Completeness3/5

Core resources like contacts, passwords, configurations, flexible assets, locations, and documents have strong CRUD coverage, but organizations and configurations lack delete operations and domains are read-only. Several valid resource types such as tickets and SSL certificates are absent except as related-item references.

Maintenance

ActivityActive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Connects AI assistants to IT Glue, the MSP documentation platform. Browse organizations, read and write documents and flexible assets, and answer natural-language questions via semantic vector search (OpenAI/Azure embeddings). Viewer/editor/admin roles gate tool access; bring-your-own-key applies IT Glue's native permissions. Runs over stdio or HTTP; Docker image available.
    27
    33 npm
    5
    MIT
  • A
    license
    C
    quality
    C
    maintenance
    Enables AI assistants to manage GLPI inventory, tickets, and CIA security fields via its REST API.
    9
    10 npm
    ISC
  • A
    license
    A
    quality
    C
    maintenance
    Provides Claude with access to IT Glue documentation and asset management, enabling searching and retrieval of organizations, configurations, passwords, documents, and more.
    24
    Apache 2.0