Skip to main content
Glama
TICnine

Autotask MCP Server

by TICnine

Autotask MCP Server

Build Status codecov License Node.js

Give your AI assistant direct access to Autotask. Search tickets, create time entries, look up companies, manage projects โ€” all through natural language. No more copy-pasting between browser tabs and chat windows.

This is a Model Context Protocol (MCP) server that connects Claude (or any MCP-compatible AI) to your Autotask PSA environment. Your AI assistant gets 39 tools covering the operations MSP teams use daily: ticket triage, time logging, company lookups, project management, billing review, and more.

If you run an MSP on Autotask and you're tired of the context-switching tax, this is for you.

Part of the MSP Claude Plugins ecosystem โ€” a growing suite of AI integrations for the MSP stack including Datto RMM, IT Glue, HaloPSA, ConnectWise Automate, NinjaOne, Huntress, and more. Built by MSPs, for MSPs.

One-Click Deployment

Deploy to DO

Deploy to Cloudflare Workers

Related MCP server: SyncroMSP MCP Server

Quick Start

Claude Desktop โ€” download, open, done:

  1. Download autotask-mcp.mcpb from the latest release

  2. Open the file (double-click or drag into Claude Desktop)

  3. Enter your Autotask credentials when prompted (Username, Secret, Integration Code)

No terminal, no JSON editing, no Node.js install required.

Claude Code (CLI):

claude mcp add autotask-mcp \
  -e AUTOTASK_USERNAME=your-user@company.com \
  -e AUTOTASK_SECRET=your-secret \
  -e AUTOTASK_INTEGRATION_CODE=your-code \
  -- npx -y github:wyre-technology/autotask-mcp

See Installation for Docker and from-source methods.

Features

  • ๐Ÿ”Œ MCP Protocol Compliance: Full support for MCP resources and tools

  • ๐Ÿ› ๏ธ Comprehensive API Coverage: 39 tools spanning companies, contacts, tickets, projects, billing items, time entries, notes, attachments, and more

  • ๐Ÿ” Advanced Search: Powerful search capabilities with filters across all entities

  • ๐Ÿ“ CRUD Operations: Create, read, update operations for core Autotask entities

  • ๐Ÿ”„ ID-to-Name Mapping: Automatic resolution of company and resource IDs to human-readable names

  • โšก Intelligent Caching: Smart caching system for improved performance and reduced API calls

  • ๐Ÿ”’ Secure Authentication: Enterprise-grade API security with Autotask credentials

  • ๐ŸŒ Dual Transport: Supports both stdio (local) and HTTP Streamable (remote/Docker) transports

  • ๐Ÿ“ฆ MCPB Packaging: One-click installation via MCP Bundle for desktop clients

  • ๐Ÿณ Docker Ready: Containerized deployment with HTTP transport and health checks

  • ๐Ÿ“Š Structured Logging: Comprehensive logging with configurable levels and formats

  • ๐Ÿงช Test Coverage: Comprehensive test suite with 80%+ coverage

Table of Contents

Installation

Option 1: MCPB Bundle (Claude Desktop)

The simplest method โ€” no terminal, no JSON editing, no Node.js install required.

  1. Download autotask-mcp.mcpb from the latest release

  2. Open the file (double-click or drag into Claude Desktop)

  3. Enter your Autotask credentials when prompted (Username, Secret, Integration Code)

For Claude Code (CLI), one command:

claude mcp add autotask-mcp \
  -e AUTOTASK_USERNAME=your-user@company.com \
  -e AUTOTASK_SECRET=your-secret \
  -e AUTOTASK_INTEGRATION_CODE=your-code \
  -- npx -y github:wyre-technology/autotask-mcp

Option 2: Docker

Local (stdio โ€” for Claude Desktop or Claude Code):

{
  "mcpServers": {
    "autotask": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "-e", "MCP_TRANSPORT=stdio",
        "-e", "AUTOTASK_USERNAME=your-user@company.com",
        "-e", "AUTOTASK_SECRET=your-secret",
        "-e", "AUTOTASK_INTEGRATION_CODE=your-code",
        "--entrypoint", "node",
        "ghcr.io/wyre-technology/autotask-mcp:latest",
        "dist/entry.js"
      ]
    }
  }
}

Remote (HTTP Streamable โ€” for server deployments):

docker run -d \
  --name autotask-mcp \
  -p 8080:8080 \
  -e AUTOTASK_USERNAME="your-user@company.com" \
  -e AUTOTASK_SECRET="your-secret" \
  -e AUTOTASK_INTEGRATION_CODE="your-code" \
  --restart unless-stopped \
  ghcr.io/wyre-technology/autotask-mcp:latest

# Verify
curl http://localhost:8080/health

Clients connect to http://host:8080/mcp using MCP Streamable HTTP transport.

Gateway Mode (for MCP Gateway deployments):

When deploying behind an MCP Gateway that injects credentials via HTTP headers:

docker run -d \
  --name autotask-mcp \
  -p 8080:8080 \
  -e AUTH_MODE=gateway \
  --restart unless-stopped \
  ghcr.io/wyre-technology/autotask-mcp:latest

The gateway injects credentials via headers:

  • X-API-Key: Autotask username

  • X-API-Secret: Autotask secret

  • X-Integration-Code: Autotask integration code

See Gateway Mode for details.

Option 3: From Source (Development)

git clone https://github.com/wyre-technology/autotask-mcp.git
cd autotask-mcp
npm ci && npm run build

Then point your MCP client at dist/entry.js:

{
  "mcpServers": {
    "autotask": {
      "command": "node",
      "args": ["/path/to/autotask-mcp/dist/entry.js"],
      "env": {
        "AUTOTASK_USERNAME": "your-user@company.com",
        "AUTOTASK_SECRET": "your-secret",
        "AUTOTASK_INTEGRATION_CODE": "your-code"
      }
    }
  }
}

Prerequisites

  • Valid Autotask API credentials (API user email, secret, integration code)

  • MCP-compatible client (Claude Desktop, Claude Code, etc.)

  • Docker (for Option 2) or Node.js 18+ (for Option 3)

Configuration

Environment Variables

Create a .env file with your configuration:

# Required Autotask API credentials (Local Mode)
AUTOTASK_USERNAME=your-api-user@example.com
AUTOTASK_SECRET=your-secret-key
AUTOTASK_INTEGRATION_CODE=your-integration-code

# Optional configuration
# AUTOTASK_API_URL is auto-detected from AUTOTASK_USERNAME via Autotask's
# unauthenticated zoneInformation endpoint on first connect. Only set this
# explicitly to override auto-detection (e.g. for an on-prem proxy).
# AUTOTASK_API_URL=https://webservices2.autotask.net/atservicesrest/
MCP_SERVER_NAME=autotask-mcp

# Authentication mode
AUTH_MODE=env               # env (local), gateway (hosted)

# Transport (stdio for local/desktop, http for remote/Docker)
MCP_TRANSPORT=stdio          # stdio, http
MCP_HTTP_PORT=8080           # HTTP transport port (only used when MCP_TRANSPORT=http)
MCP_HTTP_HOST=0.0.0.0        # HTTP transport bind address

# Logging
LOG_LEVEL=info          # error, warn, info, debug
LOG_FORMAT=simple       # simple, json

# Environment
NODE_ENV=production

Gateway Mode

When deployed behind an MCP Gateway (e.g., mcp.wyre.ai), the server operates in gateway mode where credentials are injected via HTTP headers on each request.

Enable Gateway Mode:

AUTH_MODE=gateway
MCP_TRANSPORT=http

Expected Headers:

Header

Description

X-API-Key

Autotask API username (email)

X-API-Secret

Autotask API secret key

X-Integration-Code

Autotask integration code

X-API-URL

(Optional) Custom Autotask API URL

Health Check Response (Gateway Mode):

{
  "status": "ok",
  "transport": "http",
  "authMode": "gateway",
  "timestamp": "2026-02-05T10:00:00.000Z"
}

For detailed migration instructions, see the Migration Guide.

๐Ÿ’ก Pro Tip: Copy the above content to a .env file in your project root.

Autotask API Setup

  1. Create API User: In Autotask, create a dedicated API user with appropriate permissions

  2. Generate Secret: Generate an API secret for the user

  3. Integration Code: Obtain your integration code from Autotask

  4. Permissions: Ensure the API user has read/write access to required entities

For detailed setup instructions, see the Autotask API documentation.

Usage

Command Line

# Start the MCP server (stdio transport, for piping to an MCP client)
node dist/entry.js

# Start with HTTP transport
MCP_TRANSPORT=http node dist/index.js

MCP Client Configuration

See Installation for all setup methods.

API Reference

Resources

Resources provide read-only access to Autotask data:

  • autotask://companies - List all companies

  • autotask://companies/{id} - Get specific company

  • autotask://contacts - List all contacts

  • autotask://contacts/{id} - Get specific contact

  • autotask://tickets - List all tickets

  • autotask://tickets/{id} - Get specific ticket

  • autotask://time-entries - List time entries

Tools

The server provides 39 tools for interacting with Autotask:

Company Operations

  • autotask_search_companies - Search companies with filters

  • autotask_create_company - Create new company

  • autotask_update_company - Update existing company

Contact Operations

  • autotask_search_contacts - Search contacts with filters

  • autotask_create_contact - Create new contact

Ticket Operations

  • autotask_search_tickets - Search tickets with filters

  • autotask_get_ticket_details - Get full ticket details by ID

  • autotask_create_ticket - Create new ticket

Time Entry Operations

  • autotask_create_time_entry - Log time entry

  • autotask_search_time_entries - Search time entries with filters (resource, ticket, project, date range)

Billing Items (Approve and Post Workflow)

  • autotask_search_billing_items - Search approved and posted billing items

  • autotask_get_billing_item - Get specific billing item by ID

  • autotask_search_billing_item_approval_levels - Search multi-level approval records for time entries

Project Operations

  • autotask_search_projects - Search projects with filters

  • autotask_create_project - Create new project

Resource Operations

  • autotask_search_resources - Search resources (technicians/users)

Note Operations

  • autotask_get_ticket_note / autotask_search_ticket_notes / autotask_create_ticket_note

  • autotask_get_project_note / autotask_search_project_notes / autotask_create_project_note

  • autotask_get_company_note / autotask_search_company_notes / autotask_create_company_note

Attachment Operations

  • autotask_get_ticket_attachment - Get ticket attachment

  • autotask_search_ticket_attachments - Search ticket attachments

Financial Operations

  • autotask_get_expense_report / autotask_search_expense_reports / autotask_create_expense_report

  • autotask_get_quote / autotask_search_quotes / autotask_create_quote

  • autotask_search_invoices - Search invoices

  • autotask_search_contracts - Search contracts

Configuration Items

  • autotask_search_configuration_items - Search configuration items (assets)

Task Operations

  • autotask_search_tasks - Search project tasks

  • autotask_create_task - Create project task

Utility Operations

  • autotask_test_connection - Test API connectivity

Example Tool Usage

// Search for companies
{
  "name": "autotask_search_companies",
  "arguments": {
    "searchTerm": "Acme Corp",
    "isActive": true,
    "pageSize": 10
  }
}

// Create a new ticket
{
  "name": "autotask_create_ticket",
  "arguments": {
    "companyID": 12345,
    "title": "Server maintenance request",
    "description": "Need to perform monthly server maintenance",
    "priority": 2,
    "status": 1
  }
}

ID-to-Name Mapping

The Autotask MCP server includes intelligent ID-to-name mapping that automatically resolves company and resource IDs to human-readable names, making API responses much more useful for AI assistants and human users.

Automatic Enhancement

All search and detail tools automatically include an _enhanced field with resolved names:

{
  "id": 12345,
  "title": "Sample Ticket",
  "companyID": 678,
  "assignedResourceID": 90,
  "_enhanced": {
    "companyName": "Acme Corporation",
    "assignedResourceName": "John Smith"
  }
}

How It Works

ID-to-name mapping is applied automatically to all search and detail tool results. No additional tools are needed โ€” the _enhanced field is added transparently to every response that contains company or resource IDs.

Performance Features

  • Smart Caching: Names are cached for 30 minutes to reduce API calls

  • Bulk Operations: Efficient batch lookups for multiple IDs

  • Graceful Fallback: Returns "Unknown Company (123)" if lookup fails

  • Parallel Processing: Multiple mappings resolved simultaneously

Testing Mapping

Test the mapping functionality:

npm run test:mapping

For detailed mapping documentation, see docs/mapping.md.

HTTP Transport

The server supports the MCP Streamable HTTP transport for remote deployments (e.g., Docker, cloud hosting). Set MCP_TRANSPORT=http to enable it.

# Start with HTTP transport
MCP_TRANSPORT=http MCP_HTTP_PORT=8080 node dist/index.js

The HTTP transport exposes:

  • POST /mcp โ€” MCP Streamable HTTP endpoint

  • GET /health โ€” Health check (returns {"status":"ok"})

Clients must send requests to /mcp with Accept: application/json, text/event-stream headers per the MCP Streamable HTTP specification.

Docker Deployment

The Docker image uses HTTP transport by default (port 8080) with a built-in health check.

Using Pre-built Image from GitHub Container Registry

The Docker image defaults to HTTP transport on port 8080 โ€” suitable for remote/server deployments where clients connect over the network.

# Pull the latest image
docker pull ghcr.io/wyre-technology/autotask-mcp:latest

# Run container with HTTP transport (default)
docker run -d \
  --name autotask-mcp \
  -p 8080:8080 \
  -e AUTOTASK_USERNAME="your-api-user@example.com" \
  -e AUTOTASK_SECRET="your-secret-key" \
  -e AUTOTASK_INTEGRATION_CODE="your-integration-code" \
  --restart unless-stopped \
  ghcr.io/wyre-technology/autotask-mcp:latest

# Verify it's running
curl http://localhost:8080/health

For stdio usage with Claude Desktop, see Installation Option 2.

Quick Start (From Source)

# Clone repository
git clone https://github.com/wyre-technology/autotask-mcp.git
cd autotask-mcp

# Create environment file
cp .env.example .env
# Edit .env with your credentials

# Start with docker-compose
docker compose up -d

Production Deployment

# Build production image locally
docker build -t autotask-mcp:latest .

# Run container
docker run -d \
  --name autotask-mcp \
  --env-file .env \
  --restart unless-stopped \
  autotask-mcp:latest

Development Mode

# Start development environment with hot reload
docker compose --profile dev up autotask-mcp-dev

Development

Setup

git clone https://github.com/wyre-technology/autotask-mcp.git
cd autotask-mcp
npm install

Available Scripts

npm run dev          # Start development server with hot reload
npm run build        # Build for production
npm run test         # Run test suite
npm run test:watch   # Run tests in watch mode
npm run test:coverage # Run tests with coverage
npm run lint         # Run ESLint
npm run lint:fix     # Fix ESLint issues

Project Structure

autotask-mcp/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ handlers/           # MCP request handlers
โ”‚   โ”œโ”€โ”€ mcp/               # MCP server implementation
โ”‚   โ”œโ”€โ”€ services/          # Autotask service layer
โ”‚   โ”œโ”€โ”€ types/             # TypeScript type definitions
โ”‚   โ”œโ”€โ”€ utils/             # Utility functions (config, logger, cache)
โ”‚   โ”œโ”€โ”€ entry.ts           # Entry point (stdout guard + .env loader)
โ”‚   โ””โ”€โ”€ index.ts           # Server bootstrap (config, logger, server init)
โ”œโ”€โ”€ tests/                 # Test files
โ”œโ”€โ”€ scripts/               # Build and packaging scripts
โ”‚   โ””โ”€โ”€ pack-mcpb.js       # MCPB bundle creation
โ”œโ”€โ”€ manifest.json          # MCPB manifest for desktop distribution
โ”œโ”€โ”€ Dockerfile             # Container definition (HTTP transport)
โ”œโ”€โ”€ docker-compose.yml     # Multi-service orchestration
โ””โ”€โ”€ package.json          # Project configuration

Testing

Running Tests

# Run all tests
npm test

# Run with coverage
npm run test:coverage

# Run in watch mode
npm run test:watch

# Run specific test file
npm test -- tests/autotask-service.test.ts

Test Categories

  • Unit Tests: Service layer and utility functions

  • Integration Tests: MCP protocol compliance

  • API Tests: Autotask API integration (requires credentials)

Coverage Requirements

  • Minimum 80% coverage for all metrics

  • 100% coverage for critical paths (authentication, data handling)

Configuration Reference

Environment Variables

Variable

Required

Default

Description

AUTOTASK_USERNAME

โœ…

-

Autotask API username (email)

AUTOTASK_SECRET

โœ…

-

Autotask API secret key

AUTOTASK_INTEGRATION_CODE

โœ…

-

Autotask integration code

AUTOTASK_API_URL

โŒ

Auto-detected

Autotask API endpoint URL

MCP_SERVER_NAME

โŒ

autotask-mcp

MCP server name

MCP_TRANSPORT

โŒ

stdio

Transport type (stdio or http)

MCP_HTTP_PORT

โŒ

8080

HTTP transport port

MCP_HTTP_HOST

โŒ

0.0.0.0

HTTP transport bind address

LOG_LEVEL

โŒ

info

Logging level

LOG_FORMAT

โŒ

simple

Log output format

NODE_ENV

โŒ

development

Node.js environment

Logging Levels

  • error: Only error messages

  • warn: Warnings and errors

  • info: General information, warnings, and errors

  • debug: Detailed debugging information

Log Formats

  • simple: Human-readable console output

  • json: Structured JSON output (recommended for production)

Troubleshooting

Common Issues

Authentication Errors

Error: Missing required Autotask credentials

Solution: Ensure all required environment variables are set correctly.

Connection Timeouts

Error: Connection to Autotask API failed

Solutions:

  • Check network connectivity

  • Verify API endpoint URL

  • Confirm API user has proper permissions

Permission Denied

Error: User does not have permission to access this resource

Solution: Review Autotask API user permissions and security level settings.

Debug Mode

Enable debug logging for detailed troubleshooting:

LOG_LEVEL=debug npm start

Health Checks

Test server connectivity:

# Run test suite
npm run test

# For HTTP transport, check the health endpoint
curl http://localhost:8080/health
# Returns: {"status":"ok"}

# Test API connection with debug logging
LOG_LEVEL=debug npm start

Autotask API Rate Limits

Problem: 429 Too Many Requests or "thread limit exceeded" errors when Claude queries aggressively

Autotask enforces 3 concurrent threads per endpoint per API tracking identifier. When an LLM issues multiple tool calls simultaneously (e.g., searching tickets, companies, and contacts at once), requests can pile up and hit this limit.

Built-in mitigation: The underlying autotask-node SDK automatically queues excess requests rather than failing immediately. Requests wait for a slot to free up, so you generally won't see 429 errors โ€” but you may notice slower responses under heavy load.

Critical for team/multi-user deployments: If multiple users or the MCP Gateway share the same API credentials, they compete for the same 3-thread budget. This can cause noticeable slowdowns and, in severe cases, queued requests that time out.

Solution โ€” one API key per team: Create a dedicated Autotask API user per team or integration. Each user has an independent integrationCode with its own thread budget:

  1. Admin > Resources (Users) > Resources/Users โ†’ Add Resource

  2. Set Security Level to API User

  3. Note the username, secret, and integration code

  4. Set AUTOTASK_USERNAME, AUTOTASK_SECRET, and AUTOTASK_INTEGRATION_CODE per team

Support Team  โ†’ AUTOTASK_INTEGRATION_CODE=SUPPORT_TEAM_CODE  (3 threads)
Projects Team โ†’ AUTOTASK_INTEGRATION_CODE=PROJECTS_TEAM_CODE (3 threads, independent)

Additionally, Autotask limits 10,000 total requests per hour across all integrations hitting your tenant. If you hit this limit, all integrations will start receiving 429s โ€” another reason to use targeted queries with appropriate filters.

MCP Client Issues

Problem: MCP server not appearing in Claude Desktop Solutions:

  1. Check configuration file syntax (valid JSON)

  2. Verify file path in the configuration

  3. Ensure environment variables are set correctly

  4. Restart Claude Desktop completely

Problem: "Invalid JSON-RPC message: [dotenv@...] injecting env" / Server disconnected Cause: The autotask-node library calls dotenv.config() at module load time. dotenv v17+ writes status messages via console.log to stdout, which corrupts the MCP stdio JSON-RPC channel. Solution: Ensure you're using dist/entry.js (not dist/index.js) as the entry point. The entry wrapper redirects console.log to stderr before any libraries load.

Problem: Slow responses Solutions:

  1. Check network connectivity to Autotask API

  2. Enable debug logging (LOG_LEVEL=debug) to identify bottlenecks

  3. The server caches company/resource names for 30 minutes automatically

Security Best Practices

  • Store credentials in environment variables, not directly in config files

  • Limit Autotask API user permissions to the minimum required

  • Rotate API credentials regularly

  • For Docker deployments, use secrets management rather than plain environment variables

Contributing

  1. Fork the repository

  2. Create a feature branch (git checkout -b feature/amazing-feature)

  3. Commit your changes (git commit -m 'Add amazing feature')

  4. Push to the branch (git push origin feature/amazing-feature)

  5. Open a Pull Request

Development Guidelines

  • Follow TypeScript best practices

  • Maintain test coverage above 80%

  • Use conventional commit messages

  • Update documentation for API changes

  • Add tests for new features

License

This project is licensed under the Apache License 2.0. See the LICENSE file for details.

Contributor License Agreement

By submitting a pull request, you agree to the terms of our Contributor License Agreement. This ensures that contributions can be properly licensed and that you have the right to submit the code.

Contributors

Avatar

Name

Contributions

@asachs01

Maintainer

@Baphomet480

CLI bin fix

Support

Acknowledgments


Built by WYRE Technology โ€” part of the MSP Claude Plugins ecosystem

Available Tools

90 tools
autotask_create_companyB

Create a new company in Autotask

ParametersJSON Schema
NameRequiredDescriptionDefault
companyNameYesCompany name
companyTypeYesCompany type ID
phoneNoCompany phone number
address1NoCompany address line 1
cityNoCompany city
stateNoCompany state/province
postalCodeNoCompany postal/ZIP code
ownerResourceIDNoOwner resource ID
isActiveNoWhether the company is active

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, so the description should disclose behavioral traits like mutability, permissions, or error handling. It only states 'create' without any additional context, leaving gaps for a mutation tool.

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

Conciseness4/5

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

Extremely concise at 6 words, but lacks structure or additional helpful details. It is not verbose, but the brevity sacrifices 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?

With 9 parameters and no output schema, the description fails to explain expected outcomes (e.g., returned company ID) or critical context like valid companyType values. Incomplete for a creation tool.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all parameters clearly. The description adds no extra meaning beyond what is in the schema, meeting the baseline.

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 specifies the action (create), resource (company), and system (Autotask), distinguishing it from sibling tools like autotask_create_contact or autotask_create_ticket.

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

Usage Guidelines2/5

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

No guidelines on when to use this tool, prerequisites (e.g., needing a valid companyType ID), or alternatives. The description is minimal without usage context.

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

autotask_create_company_noteB

Create a new note for a company

ParametersJSON Schema
NameRequiredDescriptionDefault
companyIdYesThe company ID to add the note to
titleNoNote title
descriptionYesNote content
actionTypeNoAction type for the note

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 must disclose behavioral traits. It only states the action, with no mention of permissions, side effects, or idempotency, leaving significant gaps.

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

Conciseness5/5

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

The description is a single, concise sentence with no unnecessary words. It front-loads the essential purpose effectively.

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

Completeness3/5

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

The tool is simple with only four parameters and no output schema. The description covers the basic purpose but lacks details about note content or related entities, making it marginally adequate.

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

Parameters3/5

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

Schema coverage is 100%, so the input schema already documents all parameters. The description adds no additional meaning beyond the schema, meeting the baseline but not exceeding it.

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

Purpose5/5

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

The description 'Create a new note for a company' clearly states the action (create) and the resource (note for a company), distinguishing it from sibling tools like create_ticket_note or create_project_note.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like create_ticket_note or create_project_note. The description implies usage but does not specify context or exclusions.

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

autotask_create_contactB

Create a new contact in Autotask

ParametersJSON Schema
NameRequiredDescriptionDefault
companyIDYesCompany ID for the contact
firstNameYesContact first name
lastNameYesContact last name
emailAddressNoContact email address
phoneNoContact phone number
titleNoContact job title

TDQS

B3.4/5.0
Behavior2/5

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

No annotations exist, and the description does not disclose behavioral traits such as required permissions, side effects (e.g., duplicate handling), or response format. Minimal transparency.

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

Conciseness5/5

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

Single sentence with six words โ€“ no wasted text. Front-loaded with action and resource, optimally concise.

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 a clear purpose, the description omits required context like return value, error conditions, or prerequisites (e.g., valid companyID). With no output schema, the agent lacks crucial information.

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

Parameters3/5

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

Schema coverage is 100% with all parameters documented. The description adds no extra parameter context, so the schema carries the burden, earning a baseline 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 action ('Create'), resource ('contact'), and system ('Autotask'), distinguishing it from sibling tools like 'autotask_create_company'.

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

Usage Guidelines3/5

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

No guidance on when to use or alternatives is provided. The description only states the function, leaving the agent to infer context from the tool name and sibling list.

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

autotask_create_expense_itemB

Create an expense item on an existing expense report

ParametersJSON Schema
NameRequiredDescriptionDefault
expenseReportIdYesThe expense report ID to add the item to
descriptionYesLine item description
expenseDateYesDate of expense (YYYY-MM-DD format)
expenseCategoryYesExpense category picklist ID
amountYesExpense amount
companyIdNoAssociated company ID (0 for internal)
haveReceiptNoWhether a receipt is attached
isBillableToCompanyNoWhether billable to company
isReimbursableNoWhether this expense is reimbursable
paymentTypeNoPayment type picklist ID

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, so the description must disclose behavioral traits. It only states the action, omitting side effects, authorization needs, or error conditions, making it 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 a single concise sentence with no wasted words, but it lacks structural elements like bullet points or front-loading of key constraints.

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 10 parameters (5 required) and no output schema/annotations, the description is too minimal. It does not explain the creation process, return value, or validation rules.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond the schema, such as relationships or picklist contexts.

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 (create) and resource (expense item on an existing expense report), distinguishing it from sibling tools like autotask_create_expense_report.

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

Usage Guidelines2/5

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

No when-to-use or alternative guidance. The description does not mention prerequisites (expense report must exist) or compare with other tools.

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

autotask_create_expense_reportC

Create a new expense report

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesExpense report name
descriptionNoExpense report description
submitterIdYesThe resource ID of the submitter
weekEndingDateYesWeek ending date (YYYY-MM-DD format)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states the basic action. No disclosure of side effects, permission requirements, idempotency, or data validation beyond what the schema implies.

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

Conciseness4/5

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

Single sentence with no waste, but it under-specifies for a creation tool. Conciseness is good, but could add a bit more information without becoming verbose.

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

Completeness2/5

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

Lacks information about return values, error handling, or post-creation steps. With 4 parameters, no output schema, and no annotations, the description is too minimal to fully guide an AI agent.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already explains all 4 parameters. The description adds no additional context about parameter usage, formatting (except what's in schema), or constraints like uniqueness or valid resource IDs.

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 'Create a new expense report' clearly states a specific verb and resource, distinguishing it from sibling tools like search_expense_reports and create_expense_item. It is unambiguous but lacks any additional contextual details.

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 checking for existing reports via search first. There are no prerequisites or exclusions mentioned.

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

autotask_create_opportunityB

Create a new sales opportunity in Autotask

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesOpportunity name/title
companyIdYesCompany ID for the opportunity
ownerResourceIdYesOwner resource ID (the sales rep or account manager)
statusYesStatus: 0=Not Ready To Buy, 1=Active, 2=Lost, 3=Closed, 4=Implemented
stageYesStage picklist value ID (use autotask_get_field_info to find valid values)
projectedCloseDateYesProjected close date (YYYY-MM-DD)
startDateYesStart date (YYYY-MM-DD)
probabilityNoWin probability percentage (0-100, default: 50)
amountNoRevenue amount (default: 0, set useQuoteTotals=true to calculate from quotes)
costNoCost amount (default: 0)
useQuoteTotalsNoWhether to calculate totals from linked quotes (default: true)
totalAmountMonthsNoNumber of months to calculate totals for (e.g., 12 for annual)
contactIdNoContact ID for the opportunity
descriptionNoOpportunity description
opportunityCategoryIDNoOpportunity category picklist value ID

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only states 'Create a new sales opportunity', omitting critical behavioral details such as return value, idempotence, error handling, or permission requirements.

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

Conciseness4/5

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

Single sentence is concise and front-loaded with the core action. However, it sacrifices necessary details, but this is more a completeness issue than conciseness.

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

Completeness2/5

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

Given the tool's complexity (15 parameters, 7 required, no output schema, no annotations), the minimal description is inadequate. It fails to explain return behavior, necessary lookups, or constraints, leaving the agent underinformed.

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

Parameters3/5

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

Schema description coverage is 100%, and the tool description adds no additional meaning beyond the parameter descriptions. Baseline 3 is appropriate; the description does not compensate for any gaps.

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

Purpose5/5

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

Description clearly states verb 'Create' and resource 'new sales opportunity', accurately reflecting the tool's function and distinguishing it from sibling tools that operate on different entities (e.g., autotask_create_ticket, autotask_create_company).

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., autotask_search_opportunities, autotask_update_opportunity) or prerequisites like ensuring the companyId and ownerResourceId exist. Lacks context for appropriate usage.

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

autotask_create_phaseC

Create a new phase in an Autotask project

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIDYesProject ID for the phase
titleYesPhase title
descriptionNoPhase description
startDateNoPhase start date (ISO format)
dueDateNoPhase due date (ISO format)
estimatedHoursNoEstimated hours for the phase

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It only states the basic creation action without disclosing behavioral traits like side effects, permission requirements, validation behavior, or what happens on success/failure.

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

Conciseness3/5

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

The description is a single sentence, achieving conciseness but lacking structure. It front-loads the core action but omits important details that could fit without length.

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 absence of an output schema and the creation nature, the description should explain return values (e.g., new phase ID) or requirements (e.g., project must exist). It is incomplete for effective agent decision-making.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description does not add extra meaning beyond the schema; it merely restates the tool's purpose.

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

Purpose4/5

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

The description clearly states the action ('Create') and the resource ('phase') in an Autotask project. It is specific enough to differentiate from sibling tools like autotask_list_phases, though no explicit differentiation is provided.

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 (e.g., autotask_create_task). No context about prerequisites, such as requiring an existing project, or when to use it over other phase-related tools.

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

autotask_create_projectC

Create a new project in Autotask

ParametersJSON Schema
NameRequiredDescriptionDefault
companyIDYesCompany ID for the project
projectNameYesProject name
descriptionNoProject description
statusYesProject status (1=New, 2=In Progress, 5=Complete)
startDateNoProject start date (YYYY-MM-DD)
endDateNoProject end date (YYYY-MM-DD)
projectLeadResourceIDNoProject manager resource ID
estimatedHoursNoEstimated hours for the project
projectTypeYesProject type (2=Proposal, 3=Template, 4=Internal, 5=Client, 8=Baseline). Required.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only says 'create' which implies a write operation, but lacks details on side effects, required permissions, error handling, or the nature of the creation (e.g., whether it returns the project ID).

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

Conciseness5/5

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

The description is a single sentence with 5 words, extremely concise and front-loaded. Every word is necessary.

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 9 parameters, no output schema, and is a mutation, the description is insufficient. It does not explain what happens after creation (e.g., response format, created resource identifier) or provide any context that the schema and annotations don't already cover.

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

Parameters3/5

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

The input schema has 100% parameter description coverage, so the tool description does not need to add parameter details. Baseline score of 3 is appropriate as the description adds no extra 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 'Create a new project in Autotask' clearly states the action and resource, and distinguishes it from sibling tools like autotask_update_project and autotask_search_projects by the create verb. However, it could be more specific about the project scope or required fields.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool vs alternatives such as autotask_update_project or when not to use it. There are no prerequisites, context about intended 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.

autotask_create_project_noteC

Create a new note for a project

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYesThe project ID to add the note to
titleNoNote title
descriptionYesNote content
noteTypeNoNote type (1=General, 2=Appointment, 3=Task, 4=Ticket, 5=Project, 6=Opportunity)
publishNoPublish visibility (1=All Autotask Users, 2=Internal Project Team, 3=Project Team). Defaults to 1.
isAnnouncementNoWhether this note is an announcement. Defaults to false.

TDQS

C2.6/5.0
Behavior1/5

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

No annotations are provided, so the description bears full responsibility for disclosing behavior. It only states 'Create a new note for a project' without any details on side effects, error conditions, permissions, or what happens if the projectId is invalid. The description is insufficient for an agent to understand the tool's behavioral implications.

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

Conciseness3/5

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

The description is a single sentence, which is concise but lacks structure. It does not use bullet points or separate sections to organize information. While it avoids verbosity, it is also under-specified, failing to earn its place with useful detail.

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 6 parameters, no output schema, and no annotations, the description is woefully incomplete. It does not explain return values, error behavior, or provide any context about the note creation process. For a creation tool, more completeness is expected.

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 full (100%) coverage with descriptions for all 6 parameters. The description adds no additional meaning beyond what the schema already provides. Therefore, the baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the action ('Create') and the resource ('a new note for a project'). It is unambiguous, though it does not differentiate from sibling tools like create_ticket_note or create_company_note. The project-specific context provides some distinction.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, such as create_ticket_note or create_company_note. There is no mention of prerequisites, context, or scenarios where this tool is appropriate.

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

autotask_create_quoteB

Create a new quote

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoQuote name
descriptionNoQuote description
companyIdYesCompany ID for the quote
contactIdNoContact ID for the quote
opportunityIdNoAssociated opportunity ID
effectiveDateNoEffective date (YYYY-MM-DD format)
expirationDateNoExpiration date (YYYY-MM-DD format)

TDQS

B3/5.0
Behavior2/5

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

No annotations exist, so the description must disclose behavior. Only 'Create a new quote' is stated, which implicitly indicates a write mutation but does not reveal side effects, permissions, idempotence, or response details. Fails to add value beyond the obvious.

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

Conciseness3/5

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

The description is a single sentence, which is concise but overly minimal. It could include key details like the required companyId or date format without becoming verbose. Not optimally structured 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?

For a tool with 7 parameters and no output schema or annotations, the description fails to explain what a quote is, how it relates to other entities (e.g., opportunity), or the significance of the required companyId. Incomplete for an AI agent to use confidently.

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?

Parameter schema coverage is 100% with individual descriptions. The tool description adds no further meaning beyond what the schema already provides. Baseline score of 3 is appropriate.

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

Purpose5/5

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

The description 'Create a new quote' is a specific verb+resource pair. It clearly distinguishes this tool from siblings like autotask_search_quotes or autotask_get_quote, which query or retrieve quotes. There is no other create quote sibling.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., updating a quote via another tool). No prerequisites or context provided. The description gives zero usage direction.

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

autotask_create_quote_itemA

Create a line item on a quote. Set exactly ONE item reference (serviceID, productID, or serviceBundleID). Required: quoteId, quantity. Defaults: unitDiscount=0, lineDiscount=0, percentageDiscount=0, isOptional=false.

ParametersJSON Schema
NameRequiredDescriptionDefault
quoteIdYesThe quote ID to add this item to
nameNoItem name (auto-populated for service/product types)
descriptionNoItem description
quantityYesQuantity of the item
unitPriceNoUnit price for the item
unitCostNoUnit cost for the item
unitDiscountNoPer-unit discount amount (default: 0)
lineDiscountNoLine-level discount amount (default: 0)
percentageDiscountNoPercentage discount (default: 0)
isOptionalNoWhether this is an optional line item (default: false)
serviceIDNoService ID to link (mutually exclusive with productID/serviceBundleID)
productIDNoProduct ID to link (mutually exclusive with serviceID/serviceBundleID)
serviceBundleIDNoService Bundle ID to link (mutually exclusive with serviceID/productID)
sortOrderIDNoSort order for display
quoteItemTypeNoQuote item type (auto-determined if omitted): 1=Product, 2=Cost, 3=Labor, 4=Expense, 6=Shipping, 11=Service, 12=ServiceBundle

TDQS

A4.1/5.0
Behavior3/5

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

No annotations are provided, so the description bears full burden. It discloses mutual exclusivity of item references, required parameters, and defaults. However, it lacks information about side effects, authentication, or error behavior. Some behavioral context is present but 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 extremely concise: two sentences that front-load the main purpose, then pack essential constraints and defaults with no unnecessary words.

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

Completeness3/5

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

Given 15 parameters, no output schema, and no annotations, the description covers mutual exclusivity and defaults but omits details like auto-population, response format, or error handling. The high schema coverage compensates, but completeness is adequate but not thorough.

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

Parameters4/5

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

Schema description coverage is 100%, so baseline is 3. The description adds value by emphasizing the 'exactly one' constraint and listing defaults for discount and isOptional parameters, which is not obvious from the schema alone.

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 line item on a quote, specifies exactly one item reference must be set among three options, and lists required fields and defaults. This distinguishes it from siblings like update/delete quote items.

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

Usage Guidelines4/5

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

The description provides clear instructions on when to use (create a line item) and what constraints apply (exactly one item reference, required fields). While it doesn't explicitly list when not to use, the context from sibling tools (update, delete) implies this is for new items.

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

autotask_create_service_callC

Create a new service call in Autotask. Service calls are used to schedule and plan work on tickets.

ParametersJSON Schema
NameRequiredDescriptionDefault
descriptionYesDescription of the service call
statusNoStatus picklist ID (use autotask_get_field_info with entityType "ServiceCalls" to find valid values)
startDateTimeYesScheduled start date/time (ISO 8601 format, e.g. 2026-03-22T09:00:00Z)
endDateTimeYesScheduled end date/time (ISO 8601 format)
companyIDNoCompany ID this service call is for
companyLocationIDNoCompany location ID (optional)
completeNoWhether this service call is complete (default: false)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided. Description only says 'Create', which implies write operation but lacks details on permissions, idempotency, side effects, or success/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?

Two efficient sentences. First sentence is action, second adds context. Well front-loaded with no wasted words.

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

Completeness2/5

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

No output schema and no description of return value. Lacks example, error handling, or expected outcome. Minimal completeness for a create operation.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. Description adds no extra parameter meaning beyond 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?

Clearly states 'Create a new service call' with specific resource and context. Does not explicitly differentiate from sibling tools like 'create service call ticket', but verb is 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 on when to use this tool vs alternatives, no prerequisites or exclusions. Agent must infer usage from name alone.

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

autotask_create_service_call_ticketB

Link a ticket to a service call. This associates the ticket with the service call for scheduling purposes.

ParametersJSON Schema
NameRequiredDescriptionDefault
serviceCallIDYesThe service call ID to link the ticket to
ticketIDYesThe ticket ID to link to the service call

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 the full burden. It only states the basic link action, omitting details like idempotency, error conditions, permissions, or side effects. This is a significant gap for a state-modifying operation.

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?

Two sentences, no wasted words, but it lacks informative depth. It is concise in length but not in value, as it omits key details.

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

Completeness2/5

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

Given no output schema and no annotations, the description does not cover required behavioral context (e.g., result, duplicate handling, permissions). It is incomplete for an agent to use safely.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond the parameter descriptions already present in the schema.

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

Purpose5/5

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

The description clearly states the verb 'link' and the resources 'ticket' and 'service call', and the name itself indicates creation. It implicitly distinguishes from sibling tools like 'autotask_search_service_call_tickets' and 'autotask_delete_service_call_ticket'.

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

Usage Guidelines2/5

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

No when/when-not or alternative guidance is provided. The description does not tell the agent when to use this tool versus other service-call-related tools, such as when not to use it if the link already exists.

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

autotask_create_service_call_ticket_resourceB

Assign a resource (technician) to a service call ticket.

ParametersJSON Schema
NameRequiredDescriptionDefault
serviceCallTicketIDYesThe service call ticket ID to assign the resource to
resourceIDYesThe resource (technician) ID to assign
roleIDNoThe role ID for the resource on this service call (optional)

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 must disclose side effects (e.g., overwrites existing assignment?), idempotency, or permission needs. It only states the action, leaving behavioral traits unspecified.

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

Conciseness5/5

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

The description is a single, focused sentence with no wasted words. It efficiently conveys the core purpose.

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

Completeness2/5

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

The tool has no output schema and 3 parameters. The description fails to mention what the return value is, error conditions, or any post-condition. This is inadequate for a mutation tool.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description adds no additional meaning beyond the parameter names and schema descriptions, so it does not improve understanding.

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 ('Assign') and the objects ('resource (technician)' to 'a service call ticket'), distinguishing it from sibling tools like delete or search. It is specific and unambiguous.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, prerequisites (e.g., ticker must exist), or when to avoid it. The agent receives no context for decision-making.

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

autotask_create_taskC

Create a new task in Autotask

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIDYesProject ID for the task
titleYesTask title
descriptionNoTask description
statusYesTask status (1=New, 2=In Progress, 5=Complete)
assignedResourceIDNoAssigned resource ID
estimatedHoursNoEstimated hours for the task
taskTypeNoTask type (1=FixedWork, 2=FixedDuration). Defaults to 1.
startDateTimeNoTask start date/time (ISO format)
endDateTimeNoTask end date/time (ISO format)

TDQS

C2.8/5.0
Behavior2/5

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

The description only states that it creates a task, but does not disclose any behavioral traits such as idempotency, authentication requirements, side effects, or return value. Since no annotations are provided, the description should carry the burden of behavioral disclosure, which it fails to do.

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 concise (one sentence) but it is too brief to be informative. It could include more relevant information without being overly verbose.

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

Completeness2/5

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

Given that there is no output schema and no annotations, the description is incomplete. It does not explain what the tool returns, how errors are handled, or any important context beyond the basic action.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all parameters. The description does not add any additional meaning beyond what the schema provides. Baseline score of 3 is appropriate given the high schema coverage.

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

Purpose4/5

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

The description clearly states the action ('Create') and the resource ('task') and the system ('Autotask'). However, it does not differentiate this tool from other create tools among siblings (e.g., create_ticket, create_phase), which all have similar descriptions.

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. There is no mention of prerequisites, context, or scenarios where this tool is appropriate.

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

autotask_create_ticketB

Create a new ticket in Autotask

ParametersJSON Schema
NameRequiredDescriptionDefault
companyIDYesCompany ID for the ticket
titleYesTicket title
descriptionYesTicket description
statusNoTicket status ID
priorityNoTicket priority ID
assignedResourceIDNoAssigned resource ID. If set, assignedResourceRoleID is also required by Autotask.
assignedResourceRoleIDNoRole ID for the assigned resource. Required by Autotask when assignedResourceID is set.
contactIDNoContact ID for the ticket
queueIDNoQueue ID to route the ticket to. Use autotask_list_queues to discover valid IDs.
ticketCategoryNoTicket category ID (picklist). Use autotask_get_field_info with entity "Tickets" and field "ticketCategory" to discover valid values.
ticketTypeNoTicket type ID (picklist, e.g. Service Request, Incident, Problem, Change).
issueTypeNoFirst-level issue type ID (picklist). Required context for subIssueType. Use autotask_get_field_info (entity "Tickets", field "issueType") to discover valid values.
subIssueTypeNoSub issue type ID (picklist). Must be valid for the selected issueType. Use autotask_get_field_info (entity "Tickets", field "subIssueType") to discover valid values.
sourceNoTicket source ID (picklist, e.g. Phone, Email, Portal). Use autotask_get_field_info (entity "Tickets", field "source") to discover valid values.
billingCodeIDNoWork type / billing code ID used for billing this ticket.
serviceLevelAgreementIDNoService Level Agreement (SLA) ID to apply to the ticket.
estimatedHoursNoEstimated hours of work for the ticket.
projectIDNoProject ID to associate the ticket with. Links the ticket to an existing project.
ticketAdditionalContactsNoAdditional contact IDs to associate with the ticket (beyond the primary contactID).
resolutionNoTicket-level resolution text. This is the Resolution field on the ticket itself, NOT a ticket note.
userDefinedFieldsNoUser-defined (custom) fields for the ticket, as an array of { name, value } objects matching the Autotask REST API shape.

TDQS

B3.4/5.0
Behavior2/5

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

The description states 'Create a new ticket,' indicating a mutation, but no annotations are provided. It does not disclose behavioral details such as required permissions, the effect on existing data, rate limits, or response format. The burden is on the description due to missing annotations, and it fails to add useful behavioral context.

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

Conciseness4/5

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

The description is a single, front-loaded sentence that efficiently states the purpose. It is concise, but for a tool with many parameters and important dependencies (e.g., required resource role when resource is assigned), a slightly more detailed description could be beneficial. Still, it is well-structured and free of 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?

Given the tool's complexity (21 parameters, no output schema, no annotations), the description is minimal. It relies entirely on the schema for parameter details. While the schema covers dependencies like assignedResourceID/assignedResourceRoleID, the description does not mention typical use cases or emphasize required fields. It is minimally adequate but lacks completeness for a complex create tool.

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

Parameters3/5

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

The description itself adds no parameter information; however, the input schema has 100% coverage with detailed descriptions for all 21 parameters. Therefore, the description does not need to repeat this info. Baseline score of 3 is appropriate.

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

Purpose5/5

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

The description 'Create a new ticket in Autotask' uses a specific verb ('Create') and resource ('ticket'), clearly distinguishing it from siblings like autotask_update_ticket or autotask_create_ticket_note. It accurately states the action and the system.

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 creating a new ticket, which differentiates it from update tools like autotask_update_ticket. However, it provides no explicit guidance on when to use this tool versus alternatives, such as creating a ticket note or a task. No usage context is given beyond the basic action.

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

autotask_create_ticket_attachmentA

Upload a file attachment to an existing ticket. The file content must be passed as a base64-encoded string in the data field (MCP is JSON-RPC, so binary bytes must be base64-encoded). Autotask enforces a 3 MB hard limit on ticket attachments; this tool validates the decoded size before calling the API and returns a clear error if the limit is exceeded. Example: { ticketId: 12345, title: "screenshot.png", data: "iVBORw0KGgoAAAANSUhEUgAA..." }

ParametersJSON Schema
NameRequiredDescriptionDefault
ticketIdYesThe ticket ID to attach the file to
titleYesDisplay title for the attachment (typically the filename, e.g. "screenshot.png")
dataYesBase64-encoded file content. Maximum decoded size: 3 MB (Autotask ticket attachment limit). Example: read a file and pass its base64 representation here.
fullPathNoOriginal filename including any path. Defaults to `title` if not provided.
contentTypeNoMIME type of the file (e.g. "image/png", "application/pdf"). Optional.
publishNoVisibility: 1 = All Autotask Users (default), 2 = Internal Users Only

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 full burden. It discloses the base64 encoding requirement, the 3 MB hard limit with validation, and clear error responses. It does not mention idempotence or permissions, but the key behavioral traits are well 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 two focused sentences followed by a concrete example. It is front-loaded with the core purpose, then adds constraints and example. There is no redundant or wasted 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?

Given the tool has 6 parameters, 3 required, no output schema, and no annotations, the description is fairly complete. It covers purpose, constraints, and parameter usage. It is missing a description of the response format, which would improve completeness.

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 100%, giving a baseline of 3. The description adds value by explaining the base64 encoding, the size limit, and providing an example. It also clarifies the publish field's meaning. This goes beyond the schema definitions.

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

Purpose5/5

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

The description clearly states 'Upload a file attachment to an existing ticket,' specifying the action (upload), resource (attachment), and context (existing ticket). It effectively distinguishes this tool from sibling tools like autotask_get_ticket_attachment (download) and autotask_search_ticket_attachments (search).

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 explains when to use the tool (to upload an attachment) and provides constraints: base64 encoding required and a 3 MB limit. However, it does not explicitly state when not to use it or mention alternatives, so it lacks explicit exclusion criteria.

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

autotask_create_ticket_chargeA

Create a charge (material, cost, or expense) on a ticket. Used to bill clients for parts, travel, or other non-labor costs.

ParametersJSON Schema
NameRequiredDescriptionDefault
ticketIDYesTicket ID to add the charge to
nameYesCharge name/title
descriptionNoCharge description
chargeTypeYesCharge type picklist ID (use autotask_get_field_info with entityType "TicketCharges" to find valid values)
unitQuantityNoQuantity of units
unitPriceNoPrice per unit
unitCostNoCost per unit
datePurchasedNoDate the charge was incurred (YYYY-MM-DD format)
productIDNoAssociated product ID (optional)
billingCodeIDNoBilling code ID for categorization
billableToAccountNoWhether this charge is billable to the client (default: true)
statusNoCharge status picklist ID

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 fully disclose behavioral traits. It only mentions creating a charge for billing, but lacks details on authorization, rate limits, side effects (e.g., ticket total updates), or reversibility. The description does not compensate for the lack 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.

Conciseness5/5

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

The description is concise with two sentences, each contributing value. It front-loads the core action and then provides usage context. No unnecessary words or redundancy.

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

Completeness3/5

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

Given the tool has 12 parameters, no output schema, and a financial nature, the description is insufficient. It does not explain return values (e.g., created charge ID), how charges affect billing, or the need for external lookups (though schema covers chargeType). More context would be helpful for completeness.

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

Parameters3/5

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

The input schema covers all 12 parameters with descriptions (100% coverage), so the baseline is 3. The description adds no additional meaning beyond the schema; it only broadly mentions charge types. No extra value is provided for parameters beyond what is already in the schema.

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

Purpose5/5

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

The description clearly states the verb 'Create' and the resource 'charge on a ticket', and specifies the types of charges (material, cost, expense). It distinguishes this tool from other create tools like autotask_create_ticket_note or autotask_create_ticket_attachment by mentioning billing for parts, travel, or non-labor costs.

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 this tool (to add a billable charge to a ticket) but does not explicitly provide guidance on when not to use it or distinguish it from alternatives like autotask_create_time_entry for labor. No explicit context or exclusion criteria are given.

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

autotask_create_ticket_checklist_itemB

Add a new checklist item to a ticket.

ParametersJSON Schema
NameRequiredDescriptionDefault
ticketIdYesThe ticket ID to add the checklist item to
itemNameYesThe checklist item text
positionNoOptional ordering position for the item
isCompletedNoWhether the item starts in the completed state (default: false)

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided. Description only says 'Add', but doesn't disclose whether it returns the created item, is idempotent, or requires permissions. Lacks behavioral context beyond the obvious.

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

Conciseness4/5

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

Single sentence, no fluff. However, it is too minimal, missing return value or context. Could be improved without losing conciseness.

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

Completeness2/5

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

Simple creation tool with 4 parameters, no output schema, no annotations. Description does not mention return value, error handling, or any side effects. Incomplete for an agent to use confidently.

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

Parameters3/5

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

Schema covers all 4 parameters with descriptions. Description adds no extra meaning. Baseline 3 due to high schema coverage.

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

Purpose5/5

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

Description clearly states the verb 'Add', resource 'checklist item', and target 'ticket'. It distinguishes from sibling tools like search, update, delete.

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, no exclusions. Agent has to infer context.

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

autotask_create_ticket_noteB

Create a new note for a ticket

ParametersJSON Schema
NameRequiredDescriptionDefault
ticketIdYesThe ticket ID to add the note to
titleNoNote title
descriptionYesNote content
noteTypeNoNote type (1=General, 2=Appointment, 3=Task, 4=Ticket, 5=Project, 6=Opportunity)
publishNoPublish level (1=Internal Only, 2=All Autotask Users, 3=Everyone)

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 must carry the full burden of behavioral disclosure. It only states the action without mentioning authentication requirements, rate limits, side effects, or what happens on success/failure. Lacks transparency beyond the operation itself.

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

Conciseness4/5

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

The description is a single concise sentence with no unnecessary words. It is well-structured but minimal, missing opportunities to enrich understanding.

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?

Without an output schema, the description should explain the return value or outcome. It does not, nor does it address completion status or error handling. The tool has 5 parameters, but the description provides no context beyond the basic operation.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already describes all parameters. The description does not add any additional meaning or context beyond what is in the schema, resulting in a baseline 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 'Create a new note for a ticket' uses a specific verb ('Create') and resource ('note for a ticket'), clearly distinguishing it from sibling tools like 'autotask_get_ticket_note' and 'autotask_search_ticket_notes'.

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 when to use 'autotask_create_ticket' or 'autotask_create_project_note'. No context for prerequisites or postconditions.

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

autotask_create_time_entryA

Create a time entry in Autotask. Can be tied to a ticket, task, or project, OR created as "Regular Time" (no parent) for meetings, admin work, etc. For Regular Time, specify a category like "Internal Meeting", "Office Management", "Training", etc.

ParametersJSON Schema
NameRequiredDescriptionDefault
ticketIDNoTicket ID for the time entry (omit for Regular Time)
taskIDNoTask ID for the time entry (for project work, omit for Regular Time)
projectIDNoProject ID for the time entry (omit for Regular Time)
resourceIDNoResource ID (user) logging the time. Can be omitted if resourceName is provided.
resourceNameNoName of the resource/user (e.g., "Will Spence"). Will be resolved to a resourceID automatically. Use this instead of resourceID for convenience.
categoryNoCategory name for Regular Time entries (e.g., "Internal Meeting", "Office Management", "Training", "Research", "HR/Recruiting", "Travel Time", "Holiday", "PTO"). Required for Regular Time entries (when no ticket/task/project is specified).
dateWorkedYesDate worked (YYYY-MM-DD format)
startDateTimeNoStart date/time (ISO format)
endDateTimeNoEnd date/time (ISO format)
hoursWorkedYesNumber of hours worked
summaryNotesYesSummary notes for the time entry
internalNotesNoInternal notes for the time entry

TDQS

A4.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 bear the transparency burden. It accurately implies a write operation (creating a time entry) but does not disclose potential side effects (e.g., whether creation triggers notifications, requires specific permissions, or has rate limits). The description is honest but incomplete in behavioral details.

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

Conciseness5/5

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

The description is two sentences long, immediately states the tool's purpose, and logically structures the two primary use cases. No unnecessary words; every sentence provides essential information.

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

Completeness4/5

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

Given 12 parameters, the description adequately covers the primary decision (Regular Time vs linked) and key parameter choices (category, resourceName vs resourceID). It omits guidance on start/endDateTime and internalNotes, but schema descriptions handle those. For a creation tool with no output schema, the description is largely 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 100%, providing baseline 3. The description adds value by explaining the Regular Time concept and category usage, and clarifies the relationship between resourceID and resourceName. This exceeds schema alone.

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 (create) and resource (time entry) and distinguishes two usage modes: linked to a ticket/task/project or Regular Time. This differentiates it from sibling tools which focus on other entities like tickets, companies, or service calls.

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 guidance on when to use Regular Time vs linking to ticket/task/project, and lists example categories for Regular Time. It does not explicitly state when not to use the tool, but no sibling tool creates time entries, so exclusion is implied.

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

autotask_delete_quote_itemB

Delete a quote item (line item) from a quote

ParametersJSON Schema
NameRequiredDescriptionDefault
quoteIdYesThe parent quote ID
quoteItemIdYesThe quote item ID to delete

TDQS

B3.3/5.0
Behavior2/5

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

The description does not disclose any behavioral traits beyond the deletion action, such as whether it is reversible, cascading effects, or required permissions.

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

Conciseness5/5

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

Single sentence that is direct and without any 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?

While the tool is simple, the description lacks complete context such as return values, error conditions, or effects on the parent quote, which are not covered by annotations or output schema.

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

Parameters3/5

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

Input schema has 100% coverage with descriptions for both parameters, so the description adds no extra meaning beyond what the schema already provides.

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

Purpose5/5

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

The description clearly specifies the action (delete) and the resource (quote item from a quote), distinguishing it from sibling tools like create, update, or get.

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 updating the item rather than deleting, or any prerequisites like quote status.

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

autotask_delete_service_callB

Delete a service call by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
serviceCallIdYesThe service call ID to delete

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided. Description only states 'delete' without disclosing behavioral traits such as permanence, cascading effects, or required 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?

Description is a single, front-loaded sentence with no wasted words. However, it is overly minimal and lacks helpful context.

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

Completeness2/5

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

Given no output schema and no annotations, the description is insufficient for a delete operation. It does not explain return values or post-deletion state.

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

Parameters3/5

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

Schema description coverage is 100%. The description adds no extra meaning beyond the schema's description of serviceCallId.

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 action (delete), the resource (service call), and the identifier (by ID). It distinguishes from sibling delete tools like autotask_delete_service_call_ticket.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. Does not mention prerequisites, effects, or conditions for deletion.

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

autotask_delete_service_call_ticketB

Remove a ticket association from a service call by the service call ticket record ID

ParametersJSON Schema
NameRequiredDescriptionDefault
serviceCallTicketIdYesThe service call ticket record ID to delete

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 does not disclose behavioral traits such as irreversibility, permission requirements, or error handling. Only states the action without consequences.

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

Conciseness5/5

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

One sentence, 16 words, no redundancy. Every word serves a purpose.

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

Completeness3/5

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

Adequate for a simple delete operation with one parameter, but lacks details about effects (e.g., soft vs hard delete) or return values.

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

Parameters3/5

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

Schema coverage is 100% and the parameter description is clear. The tool description adds minimal extra value beyond the schema, matching the baseline of 3.

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 'Remove a ticket association from a service call' which is a specific verb and resource, clearly distinguishing it from sibling tools like autotask_delete_service_call.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., autotask_delete_service_call_ticket_resource) or 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.

autotask_delete_service_call_ticket_resourceB

Remove a resource assignment from a service call ticket by the resource record ID

ParametersJSON Schema
NameRequiredDescriptionDefault
serviceCallTicketResourceIdYesThe service call ticket resource record ID to delete

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 must fully convey behavioral traits. It simply says 'Remove', implying deletion, but does not disclose whether the action is irreversible, what happens to related data, or any required permissions. The agent cannot infer safety or side effects from this minimal description.

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

Conciseness5/5

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

The description is a single concise sentence that efficiently communicates the tool's purpose without extraneous words. It is front-loaded with the key verb and resource.

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 delete tool with one parameter and no output schema, the description is moderately complete. It explains what is deleted and how to identify it. However, it lacks context about what the resource assignment represents and does not reference related tools (e.g., search_service_call_ticket_resources to find IDs).

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

Parameters3/5

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

The input schema has 100% description coverage for the single parameter. The description does not add any semantic value beyond the schema's own description ('The service call ticket resource record ID to delete'). Therefore, the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action: 'Remove a resource assignment from a service call ticket' and specifies the method 'by the resource record ID'. This distinguishes it from sibling delete tools that target other entities (e.g., delete_service_call_ticket, delete_quote_item).

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like delete_service_call_ticket or search_service_call_ticket_resources. It does not mention prerequisites (e.g., the resource must be assigned), nor does it explain context such as when a resource assignment should be removed.

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

autotask_delete_ticket_chargeA

Delete a ticket charge by ID. Requires both the parent ticket ID and charge ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
ticketIdYesThe parent ticket ID
chargeIdYesThe charge ID to delete

TDQS

A3.8/5.0
Behavior3/5

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

Without annotations, the description carries the burden. It indicates a destructive action but does not disclose potential side effects, authorization requirements, or irreversibility. The lack of annotations makes this 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.

Conciseness5/5

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

The description is a single, clear sentence without any unnecessary words, efficiently conveying the essential information.

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

Completeness4/5

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

For a simple deletion tool with no output schema, the description covers the required parameters and basic action. However, it could mention the success response or confirmation behavior to be fully complete.

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

Parameters3/5

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

Schema already describes both parameters with 100% coverage. The description adds that both are required and for the parent charge, but offers little extra meaning beyond the schema.

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

Purpose5/5

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

The description clearly states the action (delete), the resource (ticket charge), and the requirement for both ticket ID and charge ID, distinguishing it from other ticket-related operations like create or update.

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?

It specifies the need for both IDs, giving a prerequisite, but does not provide guidance on when to use delete instead of update or other alternatives, nor does it mention how to obtain the IDs.

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

autotask_delete_ticket_checklist_itemB

Delete a checklist item from a ticket.

ParametersJSON Schema
NameRequiredDescriptionDefault
ticketIdYesThe parent ticket ID
itemIdYesThe checklist item ID to delete

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, so description must disclose behavioral traits. It only states it's a delete operation but lacks details on side effects, permissions, reverting, or any impacts beyond deletion. Minimal transparency.

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

Conciseness5/5

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

Single sentence, no wasted words, front-loaded with action. Appropriate length for a simple operation.

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

Completeness3/5

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

For a straightforward delete with no output schema, the description is minimally adequate. However, it lacks context about error handling, confirmation, or related operations, which could be useful given the many sibling tools.

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 covers both parameters (ticketId, itemId) with clear descriptions. Baseline score is 3 due to 100% schema coverage; the tool description adds no extra meaning beyond what the schema already provides.

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

Purpose5/5

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

Description clearly states the action: 'Delete a checklist item from a ticket.' It uses a specific verb (delete) and resource (checklist item from a ticket), and is distinct from sibling tools that handle other entities or operations.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives (e.g., update_ticket_checklist_item). No prerequisites, context, or exclusions mentioned. The description is too brief to help an agent decide when to invoke it.

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

autotask_execute_toolB

Execute any Autotask tool by name. Use after discovering tools via autotask_list_category_tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
toolNameYesThe tool name to execute (e.g., "autotask_search_tickets")
argumentsNoArguments to pass to the tool

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It only says 'execute', which implies an action but does not disclose side effects, permissions, or error behavior. For a generic executor, more context is needed.

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

Conciseness5/5

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

Two concise sentences that front-load the core purpose and usage hint. No redundant content; every word 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?

The description is minimal but functional for a generic executor. However, given the large number of sibling tools and no output schema, it could benefit from details on return format or error handling.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. Description does not add extra meaning beyond 'toolName' and 'arguments' as stated in schema; it mentions 'by name' but no further detail.

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

Purpose4/5

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

Description clearly states 'Execute any Autotool tool by name', providing a specific verb and resource. It distinguishes itself from sibling tools which are specific operations, implying this is a generic executor.

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?

Description mentions 'Use after discovering tools via autotask_list_category_tools', giving a usage sequence. However, no guidance on when not to use it or alternatives (e.g., using direct tool calls).

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

autotask_get_billing_itemB

Get detailed information for a specific billing item by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
billingItemIdYesThe billing item ID to retrieve

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided. Description only says 'detailed information' but does not disclose what fields are returned, if it modifies state, or any authentication/rate limit details. Minimal behavioral 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?

Single sentence, no unnecessary words. Front-loaded with verb and resource. Efficient.

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?

Tool is simple with one parameter and no output schema. Description conveys basic purpose but lacks details on returned data or error handling. Adequate for a straightforward retrieval, but incomplete for an agent to fully understand behavior.

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 descriptions cover 100% of parameters. The description adds 'detailed information' which is vague and does not significantly enhance the schema's definition of billingItemId. Baseline 3 is appropriate.

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

Purpose5/5

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

Description clearly states the verb 'Get', resource 'billing item', and method 'by ID'. It distinguishes from autotask_search_billing_items (which searches/list) by implying a single specific item retrieval.

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 vs alternatives like autotask_search_billing_items. The description does not mention prerequisites or scenarios where this tool is preferred.

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

autotask_get_company_noteB

Get a specific company note by company ID and note ID

ParametersJSON Schema
NameRequiredDescriptionDefault
companyIdYesThe company ID
noteIdYesThe note ID to retrieve

TDQS

B3.2/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It states a read operation ('get') which implies no side effects, but lacks details on permissions, error conditions, or return value structure. Adequate for a simple retrieval but minimal.

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

Conciseness4/5

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

Single sentence with no superfluous words. Clearly conveys the core purpose. Could be more structured but effective for its length.

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 simplicity (2 required numeric params, no output schema), the description is minimally adequate. It explains what the tool does and what inputs are needed, but does not describe the output or any limitations. Sufficient 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?

Schema already describes both parameters as numbers with descriptions. Description adds no additional meaning beyond what schema provides. Baseline 3 due to 100% schema coverage.

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

Purpose4/5

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

Description clearly states action 'get' and resource 'company note', specifying required identifiers. However, it does not explicitly differentiate from sibling 'autotask_search_company_notes' which retrieves multiple notes, though the wording 'a specific' implies uniqueness.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like search tools. Missing when-not-to-use instructions or context for selection among siblings.

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

autotask_get_company_site_configurationA

Get the site configuration record(s) for a company in Autotask. Site configurations contain tenant-defined fields used to track per-company configuration data. Call this first to discover which fields are available before calling autotask_update_company_site_configuration.

ParametersJSON Schema
NameRequiredDescriptionDefault
companyIdYesThe company ID whose site configuration records should be returned

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 must convey behavioral traits. It does not mention idempotency, authorization requirements, pagination, or response size. The description only states the purpose and usage sequence, leaving significant behavioral unknowns for a read operation.

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

Conciseness5/5

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

The description is two sentences, front-loading the action and resource, then providing context. Every sentence adds value with no redundancy or 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?

Given the tool's simplicity (1 parameter, no output schema, no annotations), the description explains the concept of site configurations and the recommended workflow. However, it does not describe the return format or any edge cases, which would be helpful for an agent. Adequate but not thorough.

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

Parameters3/5

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

The input schema has 100% coverage with a description for the single parameter 'companyId'. The tool description adds no additional meaning beyond the schema, which is already clear. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Get the site configuration record(s) for a company in Autotask.' It uses a specific verb ('Get') and resource ('site configuration for a company'). It also implicitly distinguishes from its sibling 'autotask_update_company_site_configuration' by recommending this tool for discovery before updates.

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 advises: 'Call this first to discover which fields are available before calling autotask_update_company_site_configuration.' This provides clear context and a recommended usage sequence. It does not enumerate when not to use, but the guidance is sufficient for an agent.

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

autotask_get_expense_reportA

Get a specific expense report by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
reportIdYesThe expense report ID to retrieve

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description bears full burden. It indicates a read operation ('Get'), but lacks disclosure of side effects, permissions, or rate limits. For a simple retrieval, it is adequate but minimal.

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

Conciseness5/5

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

Description is a single sentence with no extra words. Efficient and front-loaded.

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?

No output schema exists, and the description does not specify what fields are returned (e.g., full report details including items and totals). Completeness is acceptable for a simple get but could be improved.

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

Parameters3/5

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

Schema description coverage is 100%, with the parameter reportId described as 'The expense report ID to retrieve'. The description adds no additional meaning beyond the schema.

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

Purpose5/5

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

Description clearly states the action (Get), the resource (expense report), and the identifier (by ID). It distinguishes from sibling tools like autotask_search_expense_reports (which searches) and autotask_create_expense_report (which creates).

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

Usage Guidelines3/5

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

The description implies usage when a specific ID is known, but does not explicitly state when to use this tool versus alternatives like autotask_search_expense_reports. No guidance on when not to use it or prerequisites.

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

autotask_get_field_infoA

Get field definitions for an Autotask entity type, including picklist values. Useful for discovering valid values for any picklist field.

ParametersJSON Schema
NameRequiredDescriptionDefault
entityTypeYesThe Autotask entity type (e.g., "Tickets", "Companies", "Contacts", "Projects", "ProjectTasks", "TicketNotes"). Note: project tasks use "ProjectTasks" (or "Tasks" which auto-maps). See Autotask REST API entity names.
fieldNameNoOptional: filter to a specific field name

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 full burden. It discloses the core behavior: retrieving field definitions and picklist values. While it doesn't mention error handling or response size, for a read-only metadata tool it is transparent enough.

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

Conciseness5/5

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

Two sentences: first conveys the action, second explains utility. No extraneous words, front-loaded with the main purpose. Every 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?

The tool has only 2 parameters, no output schema, and low complexity. The description explains the main task and its value. It could describe the return format or error conditions, but overall it is complete enough for an experienced user.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description adds no additional meaning beyond what the schema already provides for 'entityType' and 'fieldName'. The schema descriptions are clear.

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 'Get field definitions for an Autotool entity type, including picklist values.' The verb 'Get' and resource 'field definitions' are specific. None of the sibling tools provide field metadata, so it distinguishes well.

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 says 'Useful for discovering valid values for any picklist field,' which gives clear context for when to use it. Since no sibling tools serve the same purpose, no explicit alternatives are needed, but an exclusion statement is missing.

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

autotask_get_invoice_detailsA

Get a single Autotask invoice with its nested line items (billing items posted to the invoice). Use for finance workflows that need to see exactly what an invoice contains.

ParametersJSON Schema
NameRequiredDescriptionDefault
invoiceIdYesThe invoice ID to fetch

TDQS

A3.9/5.0
Behavior3/5

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

No annotations exist, so the description must disclose behavior fully. It states the tool returns an invoice with line items, indicating a read operation, but lacks details on error handling (e.g., missing invoice ID), permissions required, or limitations on data volume.

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

Conciseness5/5

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

Two sentences, no redundant information, front-loaded with the core action and key detail (nested line items). Every sentence adds 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?

With no output schema, the description could provide more detail about the returned structure (e.g., fields of an invoice). However, the tool name and description together give a reasonable idea. Minimal but adequate for low complexity.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents the single parameter (invoiceId). The description does not add additional meaning beyond the schema, so baseline 3 is appropriate.

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

Purpose5/5

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

Clearly states it gets a single invoice with nested line items, distinguishing from sibling tools that handle tickets, companies, etc. The verb+resource is specific and the description includes the purpose (finance workflows).

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?

Mentions use case ('finance workflows that need to see exactly what an invoice contains'), providing context for when to use. However, does not explicitly exclude scenarios or mention alternatives like search_invoices for listing.

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

autotask_get_opportunityA

Get a specific opportunity by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
opportunityIdYesThe opportunity ID to retrieve

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 burden. It only states 'Get' which implies read-only, but does not disclose any other behavioral traits (e.g., authentication, rate limits, 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.

Conciseness5/5

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

Single sentence that is front-loaded with the action and resource, no unnecessary words. Appropriate for a simple retrieval tool.

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

Completeness3/5

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

The tool is simple with one parameter and no output schema; the description is minimally adequate but could be improved by mentioning what is returned (e.g., the opportunity object).

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

Parameters3/5

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

Schema description coverage is 100% with a clear description of the parameter. The tool description adds no additional meaning beyond the schema, meeting the baseline.

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 action (Get), the resource (opportunity), and the method (by ID). It distinguishes from sibling autotask_search_opportunities which searches multiple results.

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

Usage Guidelines3/5

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

The description implies usage when an ID is known, but does not provide explicit when-to-use or when-not-to-use guidance, nor does it mention alternatives like using the search tool if the ID is unknown.

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

autotask_get_productA

Get a specific product by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
productIdYesThe product ID to retrieve

TDQS

A3.6/5.0
Behavior3/5

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

The description does not disclose behavioral aspects such as idempotency, side effects, or authentication needs. For a simple retrieval, the behavior is straightforward but lacks nuance beyond the basic action.

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

Conciseness5/5

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

The description is a single concise sentence with no unnecessary words, effectively communicating the tool's purpose.

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

Completeness4/5

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

Given the simplicity of the tool (one parameter, no output schema), the description is complete enough for an agent to understand its use. It could mention the return format, but it's not critical.

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

Parameters3/5

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

Schema coverage is 100% with clear parameter description. The overall description does not add additional meaning beyond what the input schema already provides, so baseline of 3 is appropriate.

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

Purpose5/5

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

The description 'Get a specific product by ID' clearly states the verb (Get) and resource (product) and the method (by ID). It distinguishes from the sibling 'autotask_search_products' which implies search by criteria.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'autotask_search_products'. The description does not provide when-not or context for usage.

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

autotask_get_project_noteA

Get a specific project note by project ID and note ID

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYesThe project ID
noteIdYesThe note ID to retrieve

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations provided, the description carries full disclosure burden. It only states 'Get' but does not disclose idempotency, error behavior, or whether it's read-only. The name hints at read-only, but no explicit behavioral traits are described.

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

Conciseness5/5

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

The description is a single sentence of 12 words, front-loading the purpose with no wasted words. Every word is necessary and earned.

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

Completeness3/5

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

Given no output schema, the description should explain what is returned, but it does not mention the return value or error handling. However, for a simple retrieval tool, the core purpose is stated. Adequate but with gaps.

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

Parameters3/5

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

Schema coverage is 100% (both parameters have descriptions). The description does not add extra meaning beyond the schema. Baseline 3 is appropriate as the schema already documents the parameters.

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

Purpose5/5

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

The description clearly states 'Get a specific project note by project ID and note ID', specifying the verb (Get), resource (project note), and identifying parameters. This distinguishes it from siblings like search or create project notes.

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 provide explicit when-to-use or when-not-to-use guidance. While the parameters imply you need exact IDs, no alternatives or exclusions are mentioned, leaving the usage context implied.

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

autotask_get_quoteB

Get a specific quote by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
quoteIdYesThe quote ID to retrieve

TDQS

B3.3/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 burden of disclosure but only offers a minimal statement. It does not mention that this is a read operation, what data is returned, or any potential restrictions (e.g., permissions, field availability).

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

Conciseness5/5

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

The description is a single, clear, front-loaded sentence with no unnecessary words. It is appropriately sized for a simple retrieval tool.

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

Completeness3/5

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

Given the tool has one parameter and no output schema, the description covers the essentials but lacks completeness regarding return values or any additional behavioral context. It is minimally adequate.

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

Parameters3/5

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

Schema description coverage is 100% for the single required parameter (quoteId), so the schema fully documents it. The description adds no extra meaning beyond the schema, thus baseline score of 3 is appropriate.

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

Purpose5/5

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

The description 'Get a specific quote by ID' clearly specifies the action (get) and resource (quote by ID), distinguishing it from sibling tools like autotask_search_quotes (which lists quotes) and autotask_create_quote (which creates).

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., search_quotes for finding quotes). The description does not mention prerequisites or context, 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.

autotask_get_quote_itemA

Get a specific quote item by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
quoteItemIdYesThe quote item ID to retrieve

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 does not disclose whether this is a read-only operation, required permissions, error behavior (e.g., if ID not found), or any other behavioral traits.

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

Conciseness5/5

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

The description is a single, concise sentence that conveys the essential information without any unnecessary words or fluff.

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

Completeness3/5

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

For a simple retrieval tool, the description is adequate but could be improved by mentioning the expected structure of the returned data or error handling, especially given the absence of an output schema.

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

Parameters3/5

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

Schema coverage is 100% and the parameter description is already clear. The tool description adds minimal value beyond confirming that the quote item is retrieved by ID, so baseline of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action (get) and the resource (specific quote item by ID), distinguishing it from sibling tools like search_quote_items (search) and create_quote_item (create).

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

Usage Guidelines3/5

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

The description implies usage when you have a quoteItemId, but does not explicitly mention when to use this tool versus alternatives like search_quote_items, nor does it state prerequisites or limitations.

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

autotask_get_serviceA

Get a specific service by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
serviceIdYesThe service ID to retrieve

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 full burden. It only says what the tool does, not behavioral traits like error handling (e.g., what happens if ID is invalid), authentication requirements, or that it is a read-only operation. The description lacks depth.

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

Conciseness5/5

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

The description is a single sentence that immediately conveys the tool's purpose. No extraneous words, front-loaded, and fits the simple nature of the 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?

For a simple get-by-ID tool with one parameter and no output schema, the description is adequate but minimal. It does not describe the return value structure or behavior on errors, which could be helpful for an agent without prior knowledge of the API.

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

Parameters3/5

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

Schema coverage is 100% (serviceId described in schema). The description does not add any additional meaning beyond the schema; it essentially repeats the schema's description. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'Get', the resource 'a specific service', and the identifier 'by ID'. It distinguishes from sibling tools like autotask_search_services (list/filter) and autotask_get_service_bundle (bundle retrieval).

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

Usage Guidelines3/5

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

The description implies usage when a service ID is known and the full service details are needed, but does not explicitly state when to use this tool versus alternatives (e.g., when to search vs. get). No exclusions or prerequisites are mentioned.

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

autotask_get_service_bundleB

Get a specific service bundle by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
serviceBundleIdYesThe service bundle ID to retrieve

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, and the description only states 'Get' which implies a read operation. It does not disclose any behavioral traits such as required permissions, data freshness, or whether the operation is idempotent. Minimal disclosure for a tool that could have 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.

Conciseness5/5

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

The description is a single sentence that directly states the purpose. It is front-loaded and contains no unnecessary words. Excellent conciseness.

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

Completeness3/5

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

For a simple get-by-ID operation with one parameter, the description is adequate. However, it lacks usage context and does not mention the return format, which could be helpful. Without output schema, some guidance on response would improve completeness.

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

Parameters3/5

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

Schema coverage is 100% and the parameter 'serviceBundleId' is described in the schema. The tool description does not add any extra information beyond what the schema provides, so it meets the baseline for high coverage without adding value.

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

Purpose5/5

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

The description clearly states 'Get a specific service bundle by ID', using a specific verb and resource. It distinguishes from the sibling 'autotask_search_service_bundles' which is for searching multiple bundles.

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 'autotask_search_service_bundles'. There is no context about prerequisites or conditions for use.

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

autotask_get_service_callB

Get a specific service call by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
serviceCallIdYesThe service call ID to retrieve

TDQS

B3.3/5.0
Behavior3/5

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

No annotations provided. The description implies a read operation with no side effects, which is typical for 'get'. However, it doesn't explicitly state that it is read-only or disclose any potential errors 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 a single sentence with no unnecessary words. It is concise and to the point.

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 get-by-ID tool, the description is minimally adequate but lacks return type or error context. No output schema is present, so the description could mention that the full service call object is returned.

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

Parameters3/5

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

Schema coverage is 100% with a clear parameter description. The tool description adds no extra meaning beyond the schema, so baseline score of 3 is appropriate.

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

Purpose4/5

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

The description 'Get a specific service call by ID' clearly identifies the action (get) and resource (service call). It distinguishes from search, create, update, and delete siblings, though it doesn't elaborate on what a service call is.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives such as autotask_search_service_calls. The agent is not told that this tool requires a known ID, while search is for discovery.

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

autotask_get_ticket_attachmentA

Get a specific ticket attachment by ticket ID and attachment ID

ParametersJSON Schema
NameRequiredDescriptionDefault
ticketIdYesThe ticket ID
attachmentIdYesThe attachment ID to retrieve
includeDataNoWhether to include base64 encoded file data (default: false)

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. It does not disclose what the tool returns (e.g., metadata only, base64 data only if includeData is true), any authentication requirements, or side effects. For a read operation, it lacks essential context about the output structure and behavior.

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

Conciseness5/5

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

The description is a single concise sentence of 11 words, immediately conveying the core action. Every word earns its place, and there is no superfluous text.

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 simplicity of the tool and full schema coverage, the description is minimally adequate. However, it does not explain the nature of the returned data (e.g., attachment metadata, optional file data), which could lead to agent confusion. The lack of an output schema increases the need for such context, which is absent.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The description does not add any additional meaning to the parameters beyond what is already in the schema. It simply restates the purpose of the IDs, but does not clarify the purpose of 'includeData' or how the parameters influence the result.

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

Purpose5/5

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

The description clearly states the verb 'Get' and the resource 'specific ticket attachment' with its identifiers (ticket ID and attachment ID). It distinctly separates from sibling tools like 'autotask_search_ticket_attachments' (which would retrieve multiple attachments) and 'autotask_create_ticket_attachment'.

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 used when you need a specific attachment by ID, but it does not provide explicit guidance on when to use it versus alternatives like 'autotask_search_ticket_attachments'. There are no prerequisites, exclusions, or context about 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.

autotask_get_ticket_chargeB

Get a specific ticket charge by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
chargeIdYesThe ticket charge ID to retrieve

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It only states 'Get', implying read-only, but no details on permissions, side effects, or output format. Minimal behavioral 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?

Single concise sentence with no extraneous content. Front-loaded with essential action.

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

Completeness3/5

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

Given one simple parameter and no output schema, description is adequate but does not explain what a ticket charge is or what the return value looks like. Could be more helpful.

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

Parameters3/5

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

Schema coverage is 100% (chargeId described). Description adds no extra meaning beyond schema, so baseline 3 applies.

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

Purpose5/5

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

Description is specific: 'Get a specific ticket charge by ID' clearly states verb (Get), resource (ticket charge), and scope (by ID), distinguishing it from search/list/sibling tools.

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

Usage Guidelines2/5

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

No guidance on when to use this vs sibling tools like 'search_ticket_charges' or 'create/update/delete'. Agent must infer usage from name alone.

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

autotask_get_ticket_detailsA

Get detailed information for a specific ticket by ID. Use this for full ticket data when needed.

ParametersJSON Schema
NameRequiredDescriptionDefault
ticketIDYesTicket ID to retrieve
fullDetailsNoWhether to return full ticket details (default: false for optimized data)

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 fully disclose behavioral traits. It only says 'Get detailed information', hinting at a read operation, but does not explicitly state idempotency, side effects, or safety. For a mutation-ambiguous context, this 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.

Conciseness5/5

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

The description is extremely concise with two short sentences, front-loading the key action. Every word serves a purpose, and the structure is efficient for quick comprehension.

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

Completeness3/5

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

Given the simple nature of the tool and no output schema, the description covers the core purpose and usage hint. However, it omits specifics about the return format, what 'full details' entails, and error handling, leaving gaps for an agent needing complete 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?

The input schema has 100% coverage, so baseline is 3. The description adds no additional meaning to the parameters beyond what the schema already provides. It does not clarify the 'fullDetails' parameter's effect or any 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 the action 'Get detailed information for a specific ticket by ID', specifying the resource and the unique identifier. The phrase 'Use this for full ticket data when needed' hints at differentiation from sibling tools like autotask_search_tickets, making the purpose distinct and unambiguous.

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

Usage Guidelines3/5

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

The description provides a mild usage hint ('Use this for full ticket data when needed') but does not explicitly state when to avoid this tool or mention alternatives. It implies usage context but lacks clear guidance compared to a high-scoring entry.

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

autotask_get_ticket_noteA

Get a specific ticket note by ticket ID and note ID

ParametersJSON Schema
NameRequiredDescriptionDefault
ticketIdYesThe ticket ID
noteIdYesThe note ID to retrieve

TDQS

A3.9/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. The verb 'Get' implies a read-only operation with no side effects, which is acceptable for a retrieval tool. However, it does not explicitly state that it is non-destructive or require special permissions, leaving some implicit assumptions.

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

Conciseness5/5

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

The description is a single sentence that is front-loaded with the action and resource. It contains no extraneous information and is highly efficient.

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 no output schema, so the description should provide some indication of the return value. It does not describe the response shape or handling of errors (e.g., if the note does not exist). For a simple get operation, this is minimally adequate but could be improved.

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

Parameters3/5

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

The input schema already describes both parameters with clear descriptions: 'The note ID to retrieve' and 'The ticket ID'. The description adds no additional meaning beyond what the schema provides, which is sufficient. Schema coverage is 100%, so baseline 3 is appropriate.

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

Purpose5/5

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

The description 'Get a specific ticket note by ticket ID and note ID' clearly specifies the action (get), the resource (specific ticket note), and the identifiers (ticket ID and note ID). It differentiates from siblings like autotask_search_ticket_notes which retrieves multiple notes, and autotask_create_ticket_note which creates.

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

Usage Guidelines4/5

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

The description implies usage when you have a specific note ID and ticket ID. It does not explicitly state when not to use it or mention alternatives, but the context is clear: use this to retrieve a single note, not to search or create. The sibling tools for searching and creating provide clear alternatives.

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

autotask_list_categoriesA

List available tool categories. Use this to discover what types of Autotask operations are available before loading specific tools.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.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 is the sole source of behavioral information. It indicates a read-only listing operation without side effects, but does not elaborate on the output format or any other behavioral traits. This is adequate for a simple 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 two sentences, front-loaded with the action, and waste-free. It efficiently conveys both the action and the use case.

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

Completeness4/5

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

Given the tool's simplicity (no parameters, no output schema), the description covers the essential purpose and usage context. It provides enough information for an agent to understand when to call it, though it does not describe the output format.

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

Parameters4/5

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

The tool has 0 parameters and 100% schema coverage, so the description has no need to explain parameters. The baseline for zero parameters is 4. It could have explicitly stated 'No parameters required', but it's not necessary.

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

Purpose5/5

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

The description uses a specific verb 'List' and resource 'tool categories', clearly stating its purpose. It also differentiates itself from sibling tools by suggesting use for discovery before loading specific 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 states when to use this tool ('Use this to discover what types of Autotask operations are available before loading specific tools'), providing clear context. While it doesn't specify when not to use it, the purpose is unambiguous.

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

autotask_list_category_toolsA

List tools in a specific category with full schemas. Use after autotask_list_categories to see available tools and their parameters.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryYesCategory name from autotask_list_categories (e.g., "tickets", "financial", "companies")

TDQS

A4.7/5.0
Behavior4/5

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

No annotations provided, so description carries the burden. It states the tool lists tools with full schemas, which is a behavioral trait. No mention of side effects or constraints, but none expected for a read-only list 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?

Two sentences, 20 words, front-loaded with action and output, second sentence gives usage order. No wasted words.

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 one parameter and no output schema, the description is complete: it explains what it does, when to use it, and what input to provide. References sibling tool for 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?

Only one parameter with a clear description in the schema. The tool description adds example values ('tickets', 'financial', 'companies'), enhancing understanding beyond 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', the resource 'tools in a specific category', and distinguishes from the sibling tool 'autotask_list_categories' which lists categories, not tools.

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?

Explicitly states 'Use after autotask_list_categories to see available tools and their parameters', providing clear when-to-use context and workflow.

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

autotask_list_phasesB

List phases for a project in Autotask

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIDYesProject ID to list phases for
pageSizeNoResults per page (default: 25, max: 100)

TDQS

B3.1/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 disclosing behavioral traits. It only states 'list,' implying a read operation, but fails to mention pagination behavior, result limits, or any side effects. This is insufficient for an unannotated tool.

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

Conciseness4/5

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

The description is a single concise sentence with no unnecessary words. However, it lacks any structure (e.g., bullet points) that could improve readability for agents. Still, it is efficiently front-loaded.

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

Completeness2/5

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

Given the tool's simplicity (2 params, no output schema), the description should at least mention that it returns a list of phases. Without this or any behavioral context, the description is incomplete. The missing output schema amplifies the need for description completeness.

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

Parameters3/5

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

Schema coverage is 100% with clear descriptions for both parameters (projectID, pageSize). The description adds no additional meaning beyond what the schema already provides, so a baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool lists phases for a project in Autotask. The verb 'list' and resource 'phases' with qualifier 'for a project' unambiguously defines the tool's purpose. No sibling tool duplicates this function.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites (e.g., needing a projectID from another tool) or when not to use it. The description solely states the operation without usage context.

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

autotask_list_queuesA

List all available ticket queues in Autotask. Use this to find queue IDs for filtering tickets by queue.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 that the tool lists all queues, but does not mention any side effects, performance implications, authentication requirements, or whether the list is paginated. This is minimal transparency for 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 description is two sentences long, front-loading the purpose and usage. Every word earns its place; there is no redundancy or fluff.

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

Completeness3/5

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

The tool is simple (no parameters, no output schema), so the description is largely adequate. However, it does not specify the output fields (e.g., id, name) or any prerequisites, which would be helpful for an agent using the result for filtering. Minor gaps reduce completeness.

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

Parameters3/5

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

The input schema is empty with 0 parameters, and schema coverage is 100% (trivially). The description does not add parameter semantics beyond what the schema already conveys, which is nothing. Baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool lists all available ticket queues and specifies the purpose of finding queue IDs for filtering tickets. It uses a specific verb ('list') and resource ('available ticket queues'), distinguishing it from sibling tools like autotask_list_ticket_statuses.

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

Usage Guidelines4/5

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

The description provides clear context: 'Use this to find queue IDs for filtering tickets by queue.' It implicitly tells the agent when to use this tool (when queue IDs are needed) but does not explicitly mention when not to use it or compare with alternatives, though no direct alternatives exist.

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

autotask_list_ticket_prioritiesA

List all available ticket priorities in Autotask. Use this to find priority values for filtering or creating tickets.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

The description implies a read-only, non-destructive operation. No annotations exist, but the description carries the burden adequately for a simple list tool. It does not disclose any potential side effects or authentication needs, but those are expected to be minimal.

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

Conciseness5/5

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

Two sentences, no wasted words. The first sentence states the action, the second provides a usage rationale. It is appropriately front-loaded and concise.

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 no parameters and no output schema, the description is fully adequate. It explains what the tool does and why it is useful, without leaving any obvious gaps.

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, and the schema coverage is 100%. Baseline for 0 parameters is 4. The description does not need to add parameter information, and it correctly states the tool's purpose without any parameter 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?

Description clearly states 'List all available ticket priorities' with a specific verb and resource. It distinguishes itself from sibling tools that handle tickets, notes, projects, etc., by focusing solely on priorities.

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?

Explicitly tells when to use the tool: 'Use this to find priority values for filtering or creating tickets.' This provides clear context, though it does not mention alternatives or when not to use it, which is acceptable for a simple lookup tool.

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

autotask_list_ticket_statusesA

List all available ticket statuses in Autotask. Use this to find status values for filtering or creating tickets.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It indicates a read-only list operation, but lacks details on return format or any behavioral nuances. Adequate for a simple 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?

Two clear sentences with no redundant information. Every word adds value.

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 parameterless list tool, the description fully explains what the tool does and when to use it. No additional context needed.

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

Parameters4/5

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

No parameters (0 params, 100% schema coverage). Baseline score of 4 applies as per guidelines.

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 'all available ticket statuses'. It explains the purpose for filtering or creating tickets, distinguishing it from sibling tools like 'list_queues' or 'list_ticket_priorities'.

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 explicit guidance on when to use ('to find status values for filtering or creating tickets'). Does not mention when-not to use, but given the simplicity, this is sufficient.

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

autotask_routerA

Intelligent tool router - describe what you want to do and get the right tool suggestion with pre-filled parameters. Use this when unsure which tool to call.

ParametersJSON Schema
NameRequiredDescriptionDefault
intentYesNatural language description of what you want to do (e.g., "find tickets for Acme Corp", "log 2 hours on ticket 12345", "create a quote for client")

TDQS

A4/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. The description does not mention any behavioral traits such as side effects, auth requirements, rate limits, or whether it is read-only. For a router tool, this information is important to set expectations.

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

Conciseness5/5

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

The description is two concise sentences with no redundant information. Every sentence adds value, and the purpose 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?

Given that the tool is a router to many sibling tools, the description adequately conveys its purpose and usage. However, it does not describe the output format (e.g., what the suggestion looks like), leaving some ambiguity. The presence of no output schema increases the need for explanation.

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 single parameter 'intent' has a description with concrete examples (e.g., 'find tickets for Acme Corp'), adding value beyond the schema's type definition. Schema coverage is 100%, so the description enriches the parameter understanding.

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

Purpose5/5

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

The description clearly states the tool's function as a router: 'Intelligent tool router - describe what you want to do and get the right tool suggestion with pre-filled parameters.' This distinguishes it from the many specific sibling tools that perform direct 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 explicitly advises when to use this tool: 'Use this when unsure which tool to call.' This provides clear context, though it does not mention when not to use it (e.g., when you already know the correct tool).

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

autotask_search_billing_item_approval_levelsB

Search for billing item approval levels. These describe multi-level approval records for Autotask time entries, enabling visibility into tiered approval workflows.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeEntryIdNoFilter by time entry ID
approvalResourceIdNoFilter by approver resource ID
approvalLevelNoFilter by approval level (1, 2, 3, etc.)
approvedAfterNoFilter approvals on or after this date (ISO format)
approvedBeforeNoFilter approvals on or before this date (ISO format)
pageNoPage number for pagination (default: 1)
pageSizeNoResults per page (default: 25, max: 500)

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as read-only nature, authentication requirements, rate limits, or pagination behavior. For a search tool, basic transparency about idempotency or side effects is missing.

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 two sentences, concise and front-loaded with the core purpose. It avoids fluff but could optionally add a brief note about filtering or pagination to improve utility without significant length.

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 7 optional parameters, no output schema, and no annotations, the description is minimally adequate. It explains what the tool does but lacks information about return format, default behaviors, or integration with time entries. Schema covers parameters but not overall 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?

All 7 parameters have full descriptions in the input schema (100% coverage), so the description adds no additional meaning beyond what the schema already provides. Baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states it searches for billing item approval levels and explains they are multi-level approval records for time entries, differentiating it from sibling search tools like search_billing_items or search_time_entries.

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

Usage Guidelines3/5

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

The description implies usage for searching approval records but does not explicitly state when to use this tool versus alternatives like search_billing_items or search_time_entries. No usage exclusions or comparisons are provided.

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

autotask_search_billing_itemsA

Search for billing items in Autotask. Billing items represent approved and posted billable items from the "Approve and Post" workflow. Returns 25 results per page by default.

ParametersJSON Schema
NameRequiredDescriptionDefault
companyIdNoFilter by company ID
ticketIdNoFilter by ticket ID
projectIdNoFilter by project ID
contractIdNoFilter by contract ID
invoiceIdNoFilter by invoice ID
isInvoicedNoIf true, only return billing items that have been attached to an invoice (invoiceID is set). If false, only return items that have not yet been invoiced. Answers "what has and hasn't been invoiced yet".
dateFromNoFilter billing items with itemDate on or after this date (ISO format, e.g. 2026-01-01)
dateToNoFilter billing items with itemDate on or before this date (ISO format)
postedAfterNoFilter items posted on or after this date (ISO format, e.g. 2026-01-01)
postedBeforeNoFilter items posted on or before this date (ISO format)
pageNoPage number for pagination (default: 1)
pageSizeNoResults per page (default: 25, max: 500)

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided; description carries full burden. Mentions pagination default (25 per page) and implies read-only via 'search', but does not explicitly disclose read-only nature, authentication needs, or rate limits. Adequate but not thorough.

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

Conciseness5/5

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

Two sentences, front-loaded with purpose, and includes key detail on billing items and default pagination. No wasted words.

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?

No output schema, but description covers purpose, default pagination, and entity definition. Could be improved by mentioning that all filters are optional or how pagination works with page parameter, but sufficient for a basic search tool.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. Description does not add extra meaning beyond schema; it only rephrases the purpose. No compensation for parameter semantics needed.

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?

Clear verb+resource: 'Search for billing items'. Defines billing items as approved/posted from 'Approve and Post' workflow. Distinguishes from sibling tools like autotask_get_billing_item (single item) and autotask_search_billing_item_approval_levels (different entity).

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?

Provides context on billing items but lacks explicit when-to-use vs. get tool or alternative search tools. Implies usage for finding multiple billing items, but no direct guidance or exclusion criteria.

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

autotask_search_companiesB

Search for companies in Autotask. Returns 25 results per page by default. Use page parameter for more results.

ParametersJSON Schema
NameRequiredDescriptionDefault
searchTermNoSearch term for company name
isActiveNoFilter by active status
pageNoPage number for pagination (default: 1)
pageSizeNoResults per page (default: 25, max: 200)

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 full burden. It mentions pagination behavior but does not disclose whether the operation is read-only, any authentication requirements, or the scope of results. Minimal behavioral info beyond the obvious search functionality.

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

Conciseness5/5

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

Two concise sentences, front-loaded with purpose, no unnecessary words. Efficiently communicates key points.

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?

No output schema is provided, and the description does not describe the structure of returned results. For a search tool, knowing what fields are returned is important. The description is incomplete in this regard.

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?

Input schema has 100% description coverage. The description adds context about default page size and pagination, but this is already implied by schema defaults. Marginal value added beyond 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 it searches for companies in Autotask, which is a specific verb and resource. It distinguishes itself from other search tools by targeting companies, but does not explicitly differentiate from sibling search tools like autotask_search_contacts.

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 provides guidance on pagination (default 25 results per page, use page parameter). However, it does not offer any guidance on when to use this tool versus other search tools, nor does it mention any prerequisites or exclusions.

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

autotask_search_company_notesC

Search for notes on a specific company

ParametersJSON Schema
NameRequiredDescriptionDefault
companyIdYesThe company ID to search notes for
pageSizeNoNumber of results to return (default: 25, max: 100)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only says 'search', without indicating that results are paginated (though pageSize parameter exists), what fields are returned, or any side effects. The agent is left uninformed about key behaviors like ordering or filtering capabilities.

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 very concise at 8 words, but it lacks structure and could be expanded to include key details without being verbose. It is not wasteful, but perhaps too terse for optimal clarity.

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 no annotations, no output schema, and only two parameters, the description should provide more context about the nature of notes (e.g., are they internal, customer-facing?), the response format (list of note objects), and search behavior. The current description leaves significant gaps for an agent to understand how to use the tool effectively.

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?

Input schema coverage is 100%, with both parameters having clear descriptions. The description adds no additional meaning beyond the schema. Since the schema already documents the parameters adequately, the baseline score of 3 applies.

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

Purpose4/5

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

The description 'Search for notes on a specific company' clearly identifies the verb (search) and the resource (notes on a company). It distinguishes from sibling tools like autotask_get_company_note (which likely retrieves a single note) and autotask_search_companies (which searches companies, not notes). However, it does not specify what constitutes a 'note' in this context, leaving some ambiguity.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. For example, it does not explain when to use search_company_notes vs get_company_note, nor does it mention any prerequisites or context. The description is solely functional.

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

autotask_search_configuration_itemsC

Search for configuration items in Autotask with optional filters

ParametersJSON Schema
NameRequiredDescriptionDefault
searchTermNoSearch term for configuration item name
companyIDNoFilter by company ID
isActiveNoFilter by active status
productIDNoFilter by product ID
pageSizeNoNumber of results to return (default: 25, max: 500)

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 fully disclose behavioral traits. It only states 'search' with optional filters, omitting details like pagination behavior, read-only nature, or result limits (though pageSize parameter exists in schema). This is insufficient for an AI agent to understand side effects or constraints.

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

Conciseness4/5

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

The description is a single, clear sentence with no unnecessary words. It is appropriately concise, though it could potentially add more value without sacrificing brevity.

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

Completeness2/5

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

Given 5 optional parameters and no output schema, the description lacks completeness. It does not explain the search behavior (e.g., partial matching, case sensitivity), result ordering, or how to interpret results. This leaves significant gaps for an agent to use effectively.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond 'optional filters', repeating what the schema already provides. It does not explain how filters combine (e.g., AND logic) or provide examples.

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

Purpose4/5

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

The description clearly states the action ('Search') and the resource ('configuration items in Autotask'), with mention of optional filters. However, it does not differentiate this from numerous sibling search tools, relying solely on the name for distinction.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like autotask_search_companies or autotask_search_products. There is no mention of when not to use or context for appropriate usage.

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

autotask_search_contactsA

Search for contacts in Autotask. Returns 25 results per page by default. Use page parameter for more results.

ParametersJSON Schema
NameRequiredDescriptionDefault
searchTermNoSearch term for contact name or email
companyIDNoFilter by company ID
isActiveNoFilter by active status (1=active, 0=inactive)
pageNoPage number for pagination (default: 1)
pageSizeNoResults per page (default: 25, max: 200)

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 bears full responsibility for behavioral disclosure. It only mentions pagination behavior but does not state that this is a read-only operation, does not address rate limits, authentication requirements, or side effects.

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

Conciseness5/5

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

The description is two sentences front-loaded with the purpose. Each sentence adds value, and there is no fluff or redundancy.

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

Completeness3/5

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

The tool lacks an output schema, so the description should explain what is returned (e.g., contact fields). It does not. Pagination details are minimal. Given the tool's simplicity and the richness of the schema, it is moderately complete but missing key 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?

The input schema has 100% coverage with descriptions for all five parameters. The description adds minimal value beyond the schema, only noting the default page size and the page parameter. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool searches for contacts in Autotask. It distinguishes itself from sibling search tools targeting different entities (e.g., companies, tickets) by specifying the resource as 'contacts'.

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 default pagination (25 results) and the page parameter, implying usage for paginated searches. However, it does not provide explicit guidance on when to use this tool over other search tools, nor does it state prerequisites or alternatives.

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

autotask_search_contractsC

Search for contracts in Autotask with optional filters

ParametersJSON Schema
NameRequiredDescriptionDefault
searchTermNoSearch term for contract name
companyIDNoFilter by company ID
statusNoFilter by contract status (1=In Effect, 3=Terminated)
pageSizeNoNumber of results to return (default: 25, max: 500)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description should disclose behavioral traits like being read-only or any side effects. It only states 'search with optional filters' without explaining pagination behavior, performance, or that it is a safe 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.

Conciseness4/5

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

The description is a single clear sentence with no wasted words. It is appropriately concise, though could benefit from slightly more detail about behavior.

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

Completeness2/5

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

The tool has 4 optional parameters and no output schema. The description is too brief, missing default behavior (e.g., returns all if no filters), and especially lacks any description of the return value structure.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description adds 'with optional filters' but does not provide additional meaning beyond the schema's parameter 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 tool searches for contracts with optional filters. It distinguishes from sibling tools like autotask_create_contract and autotask_update_contract by focusing on search, but does not explicitly differentiate from other search tools.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, such as other search tools or direct lookups. There is no mention of 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.

autotask_search_expense_reportsC

Search for expense reports with optional filters

ParametersJSON Schema
NameRequiredDescriptionDefault
submitterIdNoFilter by submitter resource ID
statusNoFilter by status (1=New, 2=Submitted, 3=Approved, 4=Paid, 5=Rejected, 6=InReview)
pageSizeNoNumber of results to return (default: 25, max: 100)

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries full burden for behavioral traits. It only states 'search with optional filters' and does not disclose what the response contains, how pagination works (beyond pageSize), default behavior when no filters are given, or any side effects. This is insufficient for a tool with no output schema.

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

Conciseness3/5

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

The description is very short (6 words) and front-loaded, but it lacks any structural elements like bullet points or separation of concerns. While concise, it omits important details that could be included without adding length, such as result format or usage hints. It is minimally adequate.

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

Completeness2/5

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

Given the tool has 3 parameters, no annotations, and no output schema, the description is incomplete. It does not explain return value structure, default filter behavior, or how to handle pagination beyond the pageSize parameter. For a search tool, this is a significant gap that could lead to incorrect agent execution.

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

Parameters3/5

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

Schema coverage is 100% with well-described parameters (status, pageSize, submitterId). The description adds 'optional filters' but no extra meaning beyond the schema. Baseline score of 3 is appropriate because the schema already handles parameter documentation adequately.

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

Purpose4/5

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

The description 'Search for expense reports with optional filters' clearly states the verb ('search') and resource ('expense reports'), and the tool is distinguished from siblings like autotask_get_expense_report and autotask_create_expense_report. However, the description is brief and could more explicitly contrast with these 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 Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives like autotask_get_expense_report for retrieving a single report. The description only mentions optional filters without explaining scenarios where filtering is beneficial or when pagination is needed. The lack of usage context reduces its utility for an AI agent deciding between sibling tools.

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

autotask_search_invoicesC

Search for invoices in Autotask with optional filters

ParametersJSON Schema
NameRequiredDescriptionDefault
companyIDNoFilter by company ID
invoiceNumberNoFilter by invoice number
isVoidedNoFilter by voided status
pageSizeNoNumber of results to return (default: 25, max: 500)

TDQS

C2.8/5.0
Behavior2/5

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

No annotations provided, so the description must disclose behavior. It does not mention that the search is read-only, pagination defaults, rate limits, or result format. The schema details pageSize but the description omits this context.

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

Conciseness3/5

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

The description is a single sentence, concise but overly brief. It lacks structure and omits important usage details, making it less effective than a more comprehensive description.

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 search tool with no output schema, the description should explain return format, pagination handling, or other context. It provides none, leaving agents unaware of key behaviors.

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

Parameters3/5

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

Schema coverage is 100% with parameter descriptions. The description adds no extra meaning beyond the schema, meeting the baseline for high coverage.

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

Purpose4/5

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

The description clearly states the tool searches for invoices with optional filters. It is specific to invoices, distinguishing it from other Autotask search tools like autotask_search_tickets.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., autotask_get_invoice_details for a single invoice). No prerequisites or exclusions mentioned.

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

autotask_search_opportunitiesC

Search for opportunities with optional filters

ParametersJSON Schema
NameRequiredDescriptionDefault
companyIdNoFilter by company ID
searchTermNoSearch term for opportunity title
statusNoFilter by status
pageSizeNoNumber of results to return (default: 25, max: 100)

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description must convey behavioral traits. It only states a basic search action, not mentioning read-only nature, pagination behavior (implied by pageSize but not stated), or any side effects. The description adds little beyond the schema.

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

Conciseness3/5

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

The description is a single sentence, making it concise. However, it is too brief to be fully effective, lacking important details that would justify its brevity. It is front-loaded but sacrifices completeness.

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

Completeness2/5

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

Given 4 optional parameters and no output schema, the description is insufficient. It does not explain return type (e.g., list of opportunities), pagination limits, or how it differs from sibling tools. The agent is left guessing about the tool's behavior.

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?

All 4 parameters have descriptions in the schema (100% coverage), so the baseline is 3. The description does not add extra meaning or relationships between parameters beyond what the schema already provides.

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

Purpose4/5

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

The description clearly states it searches for opportunities with optional filters, using a specific verb-resource pairing. However, it does not distinguish this tool from sibling search tools like autotask_search_tickets, which have similar descriptions.

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 over alternatives. The description provides no context about usage scenarios, typical workflows, or exclusions, making it hard for an agent to decide when to invoke this search versus other search tools.

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

autotask_search_productsB

Search for products with optional filters

ParametersJSON Schema
NameRequiredDescriptionDefault
searchTermNoSearch term for product name
isActiveNoFilter by active status
pageSizeNoNumber of results to return (default: 25, max: 100)

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are present, so the description must disclose behavioral traits. It only states 'search with optional filters', but does not mention read-only nature, default ordering, pagination, or behavior when no filters are applied. The expected output format is also absent. This is insufficient for a tool with no annotations.

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

Conciseness4/5

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

The description is very short and to the point, consisting of a single phrase. While concise, it could include slightly more context without becoming verbose. The purpose is clear, earning a high score for conciseness.

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

Completeness3/5

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

Given the tool's low complexity (3 optional parameters, no output schema), the description is minimally adequate. It conveys the core purpose but lacks usage guidance and behavioral details that would fully contextualize the tool for an agent. A score of 3 reflects this balance.

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?

All three parameters have descriptions in the input schema (100% coverage). The tool description adds no extra semantic information beyond what the schema already provides; it merely restates the concept of optional filters. Baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'Search' and the resource 'products', and specifies that filters are optional. It effectively distinguishes from sibling 'search_*' tools that target different entities and from 'get_product' for single product retrieval.

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 'autotask_get_product' or other search tools. It does not specify search behavior (e.g., partial matching) or prerequisites, leaving the agent without context for appropriate invocation.

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

autotask_search_project_notesC

Search for notes on a specific project

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYesThe project ID to search notes for
pageSizeNoNumber of results to return (default: 25, max: 100)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description should compensate. It does not disclose that this is a read-only operation, nor does it explain pagination behavior or potential side effects. The 'pageSize' parameter hints at pagination, but there's no indication of how to navigate results.

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

Conciseness4/5

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

Single sentence, no unnecessary words. It is concise, though it could benefit from a slightly more structured explanation (e.g., specifying that it returns a list of notes).

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?

Lacks essential context for a search tool: no mention of return format, error handling, or how to use the results. Since there is no output schema, the description should provide more detail about what the agent can expect.

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?

Input schema covers both parameters fully (100%), so additional description is not needed. The description adds no extra meaning; the schema already explains 'projectId' and 'pageSize' adequately.

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

Purpose4/5

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

Description clearly states the action ('search') and resource ('notes on a specific project'), distinguishing it from siblings like 'autotask_get_project_note' and 'autotask_create_project_note'. However, it lacks specifics about the search scope or return format.

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 provided on when to use this tool versus alternatives (e.g., 'autotask_get_project_note' for a single note, or other search tools). The description does not mention intended 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.

autotask_search_projectsB

Search for projects in Autotask. Returns 25 results per page by default. Use page parameter for more results.

ParametersJSON Schema
NameRequiredDescriptionDefault
searchTermNoSearch term for project name
companyIDNoFilter by company ID
statusNoFilter by project status
projectLeadResourceIDNoFilter by project lead resource ID
pageNoPage number for pagination (default: 1)
pageSizeNoResults per page (default: 25, max: 100)

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 full burden. It discloses pagination behavior (25 per page, page parameter) but omits other behavioral traits such as whether the operation is read-only, error handling, or output format. The pagination detail is useful but insufficient for full transparency.

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

Conciseness5/5

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

Two sentences, each earning its place: first states purpose, second provides pagination guidance. No wasted words, front-loaded, and easy to parse.

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

Completeness4/5

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

Given the rich schema descriptions and no output schema, the description is fairly complete for a search tool. It explains pagination and search scope. However, it could mention return fields or sorting, but overall adequate for the complexity.

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

Parameters3/5

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

Input schema has 100% coverage with descriptions for all 6 parameters. The description adds no additional meaning beyond the schema; it mentions pagination defaults already captured in schema descriptions. Thus, it meets the baseline without extra 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 searches for projects in Autotask, with a specific verb and resource. However, it does not differentiate from sibling search tools (e.g., autotask_search_companies), so agents might not know when to choose this over others.

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

Usage Guidelines2/5

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

The description mentions pagination defaults and how to use the page parameter, but provides no guidance on when to use this tool versus other sibling tools (e.g., get_project, list_projects). No exclusions or alternatives are mentioned, leaving the agent without context for tool selection.

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

autotask_search_quote_itemsA

Search for quote items, typically filtered by quote ID

ParametersJSON Schema
NameRequiredDescriptionDefault
quoteIdNoFilter by quote ID (recommended)
searchTermNoSearch term for quote item name
pageSizeNoNumber of results to return (default: 50, max: 100)

TDQS

A3.6/5.0
Behavior3/5

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

The description indicates a read-only search operation but does not disclose additional behavioral traits such as permissions, rate limits, or response size, relying solely on the schema for pagination hints.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no extraneous words, efficiently conveying the tool's purpose and typical use.

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?

Without an output schema, the description lacks detail on return values, search behavior (e.g., exact vs fuzzy matching), and does not explain the relationship to quotes or quote items, leaving gaps for agent understanding.

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

Parameters3/5

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

Schema coverage is 100%, so the description adds minimal value beyond restating the primary filter (quote ID). No new semantic information is provided.

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 'Search for quote items' using a specific verb and resource, and distinguishes from sibling tools like autotask_search_quotes and autotask_get_quote_item by focusing on items.

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 recommending filtering by quote ID but does not explicitly state when to use this tool over alternatives like autotask_search_quotes or autotask_get_quote_item.

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

autotask_search_quotesC

Search for quotes with optional filters

ParametersJSON Schema
NameRequiredDescriptionDefault
companyIdNoFilter by company ID
contactIdNoFilter by contact ID
opportunityIdNoFilter by opportunity ID
searchTermNoSearch term for quote name or description
pageSizeNoNumber of results to return (default: 25, max: 100)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only states 'Search for quotes with optional filters', which implies a read operation but does not disclose any behavioral traits like pagination, sorting, or what happens with no filters. Very minimal transparency.

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

Conciseness4/5

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

The description is a single sentence with no wasted words. It is concise and front-loaded, but slightly under-specified for a search tool with multiple filters.

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

Completeness2/5

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

Given no output schema and 5 optional parameters, the description is incomplete. It does not mention that the tool returns a list of quotes, or address pagination via pageSize. The agent would lack key context about what to expect.

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

Parameters3/5

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

Schema coverage is 100% with all parameters described. The description adds no extra meaning beyond the schema (e.g., it does not explain how filters combine or default behavior). Baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the verb 'Search' and the resource 'quotes', indicating a read operation to find quotes. It is specific enough to distinguish from quote-related siblings like autotask_get_quote, but does not elaborate on what the search 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?

The description provides no guidance on when to use this tool versus alternatives such as autotask_get_quote (for a single quote) or autotask_create_quote (for creating). No when-not-to-use or usage context is given.

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

autotask_search_resourcesC

Search for resources (users) in Autotask. Returns 25 results per page by default. Use page parameter for more results.

ParametersJSON Schema
NameRequiredDescriptionDefault
searchTermNoSearch term for resource name or email
isActiveNoFilter by active status
resourceTypeNoFilter by resource type (1=Employee, 2=Contractor, 3=Temporary)
pageNoPage number for pagination (default: 1)
pageSizeNoResults per page (default: 25, max: 500)

TDQS

C2.9/5.0
Behavior2/5

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

Without annotations, the description carries the full burden of behavioral disclosure. It mentions pagination (default 25 results per page) but fails to disclose other important behaviors like authentication needs, rate limits, or what happens with no results. The description is minimally 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 two sentences, directly stating the purpose and a key detail about pagination. It is front-loaded and contains no unnecessary words, earning a high score for conciseness.

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

Completeness2/5

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

Given no output schema, the description should explain what the tool returns (e.g., a list of resource objects, fields included). It only covers pagination, leaving the user uninformed about the structure of results, error cases, or response format.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description adds minimal value beyond the schema by restating the default page size, which is already defined. It does not elaborate on searchTerm, isActive, or resourceType parameters beyond their 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 tool searches for resources (users) in Autotask, with a specific verb and resource. However, it does not explicitly differentiate from other search sibling tools such as search_contacts or search_companies, leaving room for ambiguity.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, such as other search tools for different entities. It does not mention prerequisites, filters, or scenarios where this tool is appropriate.

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

autotask_search_service_bundlesC

Search for service bundles with optional filters

ParametersJSON Schema
NameRequiredDescriptionDefault
searchTermNoSearch term for service bundle name
isActiveNoFilter by active status
pageSizeNoNumber of results to return (default: 25, max: 100)

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. It does not disclose behavioral traits such as read-only nature (implied by 'search'), pagination details (pageSize param suggests but doesn't state), rate limits, or permissions. The description is too sparse to be transparent.

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

Conciseness3/5

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

The description is a single sentence, which is concise but lacks structure. It does not prioritize key information or include examples. It is functional but not optimally structured for quick comprehension.

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 simplicity of the tool (3 optional params, no output schema), the description is minimal but insufficient. It does not mention the return format, default page size, or how results are ordered. Compared to similar search tools in the sibling list, it provides only the bare minimum.

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?

Input schema coverage is 100%, so each parameter is documented in the schema. The description adds only that filters are optional (matching the schema). It does not add meaning beyond the schema, earning the baseline score.

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') and the resource ('service bundles'), and mentions optional filters. It distinguishes from sibling tools like 'autotask_get_service_bundle' (which retrieves a specific bundle) and 'autotask_search_services' (different resource), but does not elaborate on what a service bundle is.

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 'autotask_get_service_bundle' for a known service bundle ID or 'autotask_search_services' for searching services. There is no mention of prerequisites, limitations, or 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.

autotask_search_service_callsB

Search for service calls in Autotask. Filter by company, status, or date range.

ParametersJSON Schema
NameRequiredDescriptionDefault
companyIdNoFilter by company ID
statusNoFilter by status picklist ID (use autotask_get_field_info with entityType "ServiceCalls" to find valid values)
startAfterNoFilter service calls starting on or after this date/time (ISO 8601 format)
startBeforeNoFilter service calls starting on or before this date/time (ISO 8601 format)
pageSizeNoNumber of results to return (default: 25, max: 100)

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It does not disclose behavioral traits like pagination, read-only nature, or return format. The agent needs more context to understand side effects or constraints.

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

Conciseness5/5

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

Two sentences with no unnecessary information. The main action is front-loaded, and every word serves a purpose. The structure is efficient for quick understanding.

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 zero annotations, no output schema, and 5 parameters, the description is too minimal. It omits pagination details, date format, and how to interpret results. A more complete description would include expected output or usage examples.

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

Parameters3/5

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

Schema description coverage is 100%, so parameters are already well-documented. The description adds general context about filtering by company, status, or date range, but this adds minimal value beyond the schema. Baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states 'Search for service calls in Autotask', identifying the verb and resource. However, it does not distinguish from sibling tools like autotask_search_service_call_tickets, which could cause ambiguity.

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 lists filtering options (company, status, date range) which imply when to use the tool, but lacks explicit guidance on when not to use it or alternatives. No exclusions or prerequisites are mentioned.

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

autotask_search_service_call_ticket_resourcesB

Search for resource (technician) assignments on service call tickets.

ParametersJSON Schema
NameRequiredDescriptionDefault
serviceCallTicketIdNoFilter by service call ticket ID
resourceIdNoFilter by resource (technician) ID
pageSizeNoNumber of results to return (default: 25)

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description should disclose that this is a read-only search operation, but it only says 'search'. It does not mention side effects, authorization needs, pagination behavior, or what happens with no results.

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

Conciseness4/5

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

The description is a single, efficient sentence. It could include more context without becoming verbose, but it is not padded with unnecessary words.

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

Completeness2/5

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

Given no annotations or output schema, the description should explain the return format, pagination (pageSize), and how filters combine. It lacks these details, leaving the agent uncertain about the result structure.

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

Parameters3/5

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

Schema coverage is 100% with parameter descriptions, so the description adds little beyond repeating 'resource (technician)' which is already in the schema. It does clarify that the tool returns 'assignments', but for a search tool, the return type is obvious.

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

Purpose4/5

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

The description clearly states it searches for resource (technician) assignments on service call tickets, distinguishing it from sibling tools like search_service_calls or search_service_call_tickets. However, it could explicitly contrast with tools that retrieve resource details or tickets.

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 finding technician assignments but does not provide explicit guidance on when to use this tool versus alternatives, such as using get_service_call for a single service call's resources or search_resources for technician details.

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

autotask_search_service_call_ticketsA

Search for ticket associations on service calls. Use this to find which tickets are linked to a service call, or which service calls contain a specific ticket.

ParametersJSON Schema
NameRequiredDescriptionDefault
serviceCallIdNoFilter by service call ID
ticketIdNoFilter by ticket ID
pageSizeNoNumber of results to return (default: 25)

TDQS

A4.1/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 correctly implies a read-only search operation, but lacks detail on response format, pagination behavior, or potential limitations. While the basic behavior is clear, more transparency would be beneficial for a 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, consisting of two sentences that front-load the core purpose. Every sentence is functional and adds necessary context without 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?

The tool has 3 optional parameters and no output schema. While the description explains the search intent, it does not clarify what the response contains (e.g., a list of associations, full objects, or just IDs). For a search tool, providing an overview of the return format would improve completeness.

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 100%, so the baseline is 3. The description adds value by explaining the relationship between the two filters: 'ticketId' retrieves service calls containing that ticket, and 'serviceCallId' retrieves tickets linked to that call. This contextual meaning is not present in the schema alone.

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

Purpose5/5

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

The description clearly states the tool's purpose: searching for ticket associations on service calls. It explicitly mentions two distinct use cases: finding tickets linked to a service call or service calls containing a specific ticket. This separates it clearly from sibling tools like 'autotask_get_service_call' or 'autotask_create_service_call_ticket'.

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 usage guidance: 'Use this to find which tickets are linked to a service call, or which service calls contain a specific ticket.' It does not explicitly mention when not to use it or list alternatives, but the guidance is clear and actionable given the sibling tools.

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

autotask_search_servicesC

Search for services with optional filters

ParametersJSON Schema
NameRequiredDescriptionDefault
searchTermNoSearch term for service name
isActiveNoFilter by active status
pageSizeNoNumber of results to return (default: 25, max: 100)

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 carry the burden. It only says 'Search for services with optional filters,' which implies a read operation but does not explicitly state it. No details about side effects, rate limits, or response characteristics 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 a single short sentence that is concise and to the point. It contains no fluff, but it could be slightly expanded to include essential details without harming conciseness.

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

Completeness2/5

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

There is no output schema, and the description does not hint at the return format (e.g., list of service objects). It also lacks information on default pagination, maximum results, or how to interpret results. The description is incomplete for an agent to fully understand the tool's behavior.

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

Parameters3/5

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

Schema description coverage is 100%, so the input schema already documents all three parameters. The description adds no extra meaning beyond what is in the schema, e.g., it does not explain search behavior (fuzzy vs exact) or that isActive filters active services.

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 searches for services with optional filters. The verb 'Search' and resource 'services' are unambiguous. However, it does not differentiate from numerous sibling search tools like autotask_search_companies, autotask_search_tickets, etc., which all follow the same pattern.

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. There is no mention of prerequisites, context, or when not to use it. The agent must infer 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.

autotask_search_tasksB

Search for tasks in Autotask. Returns 25 results per page by default. Use page parameter for more results.

ParametersJSON Schema
NameRequiredDescriptionDefault
searchTermNoSearch term for task title
projectIDNoFilter by project ID
statusNoFilter by task status (1=New, 2=In Progress, 5=Complete)
assignedResourceIDNoFilter by assigned resource ID
pageNoPage number for pagination (default: 1)
pageSizeNoResults per page (default: 25, max: 100)

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 disclosing behavioral traits. It explains pagination behavior (default 25 results, use page parameter) but does not explicitly state that this is a read-only operation or disclose any potential side effects or constraints. The transparency is minimal but adequate 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 extremely concise, consisting of two efficient sentences. The most important information (purpose) is front-loaded, and there is no redundant or extraneous content. Every 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 the low complexity of a search tool with 6 well-documented parameters and no output schema, the description is mostly complete. It covers the core purpose and pagination. However, it could briefly mention that filters are available (though the schema covers them) or hint at the typical use case of searching by title, status, or assignment. Overall, it is sufficiently complete for its role.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline score is 3. The description does not add any meaning beyond what the schema already provides; it only reiterates pagination behavior already documented in the schema parameters. No additional semantic enrichment is present.

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 searches for tasks in Autotask. It specifies both the verb and resource, making the purpose unambiguous. However, it does not explicitly differentiate from sibling search tools like autotask_search_tickets, relying solely on the tool name for distinction.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives (e.g., other search tools). The only usage instruction relates to pagination, but there is no indication of appropriate contexts, prerequisites, or conditions for use.

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

autotask_search_ticket_attachmentsB

Search for attachments on a specific ticket

ParametersJSON Schema
NameRequiredDescriptionDefault
ticketIdYesThe ticket ID to search attachments for
pageSizeNoNumber of results to return (default: 10, max: 50)

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, and the description only says 'Search for attachments'. It lacks details on whether it returns metadata or content, authentication requirements, rate limits, or any side effects.

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

Conciseness4/5

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

The description is a single short sentence, which is concise and front-loaded. However, it might be overly minimal, but no extraneous information is present.

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?

There is no output schema, and the description does not explain the return format, pagination details beyond pageSize, or how to navigate results. For a search tool, this is incomplete.

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

Parameters3/5

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

Schema coverage is 100%, with clear descriptions for both parameters (ticketId and pageSize). The description adds no additional meaning beyond the schema, so baseline of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb ('Search') and resource ('attachments on a specific ticket'), which distinguishes it from sibling tools like autotask_get_ticket_attachment (single) and other search 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?

No explicit guidance on when to use this tool versus alternatives like autotask_get_ticket_attachment or other search tools. The usage is implied but not clarified with exclusions or specific context.

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

autotask_search_ticket_chargesA

Search for charges on a specific ticket. Charges represent materials, costs, or expenses billed against a ticket. Providing ticketId is strongly recommended โ€” unfiltered queries are expensive and capped at 10 results.

ParametersJSON Schema
NameRequiredDescriptionDefault
ticketIdNoFilter by ticket ID (recommended)
pageSizeNoNumber of results to return (default: 25, max: 100)

TDQS

A4/5.0
Behavior3/5

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

The description adds important behavioral context about the cost and cap of unfiltered queries, beyond what the input schema provides. However, it does not disclose other traits such as read-only nature, rate limits, or authentication requirements. With no annotations, the description partially carries the transparency burden.

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

Conciseness5/5

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

The description is two sentences: the first identifies purpose, the second provides guidance. Every word serves a purpose, with no fluff 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 simple search tool with no output schema and basic parameters, the description covers the key points: what charges are, recommended filter, and performance caveats. It is slightly lacking in describing the return format or structure, but overall sufficient for an agent to use correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description reinforces the recommendation for ticketId and explains the cap on unfiltered queries, which adds marginal value but does not significantly deepen parameter understanding.

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 searches for charges on a specific ticket and defines charges as materials, costs, or expenses. This distinguishes it from sibling search tools (e.g., search_tickets, search_time_entries) and related tools like get_ticket_charge.

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?

Explicitly recommends using ticketId and warns that unfiltered queries are expensive and capped at 10 results. This tells the agent when and how to use the tool effectively, though it does not explicitly name alternative tools for other scenarios.

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

autotask_search_ticket_checklist_itemsA

List all checklist items on a ticket, including their completion status. Checklist items are a sub-resource of a ticket and cannot be queried without a ticket ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
ticketIdYesThe ticket ID whose checklist items should be listed

TDQS

A4.2/5.0
Behavior3/5

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

No annotations provided. Description mentions return of 'completion status' but does not specify read-only nature, pagination, ordering, or limits. Adequate but incomplete behavioral 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?

Two sentences, front-loaded with purpose. No wasted words. Efficient and clear.

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

Completeness4/5

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

For a simple listing tool without output schema, description covers purpose, required parameter, and return content. Lacks mention of result format (list of objects) but implied by 'list all.' Mostly 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 100%. Description adds context by stating the ticketId is required and that checklist items are a sub-resource. Baseline 3, plus extra value from relationship constraint.

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 it lists all checklist items on a ticket with completion status. Identifies the action (list) and resource (checklist items). Distinguishes from sibling create/update/delete tools.

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

Usage Guidelines4/5

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

Explicitly states the requirement of a ticket ID. Context is clear for reading vs. modifying. Lacks explicit when-not-to-use or alternatives, but sibling names imply this is for listing only.

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

autotask_search_ticket_notesB

Search for notes on a specific ticket

ParametersJSON Schema
NameRequiredDescriptionDefault
ticketIdYesThe ticket ID to search notes for
pageSizeNoNumber of results to return (default: 25, max: 100)

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided. The description does not disclose pagination behavior, result format, or any side effects. Only states the basic action.

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

Conciseness4/5

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

Single sentence, no wasted words. Could be slightly expanded with more key details but remains efficiently short.

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?

No output schema and description lacks details about return values, pagination behavior, or result structure, which are important for a search tool.

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

Parameters3/5

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

Schema coverage is 100% with clear descriptions for both ticketId and pageSize. Description adds no extra meaning beyond confirming the param roles.

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 'search' and the resource 'notes' on a specific ticket, distinguishing it from siblings like autotask_get_ticket_note which retrieves a single note.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives like autotask_get_ticket_note or other search tools, nor any context on 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.

autotask_search_ticketsA

Search for tickets in Autotask. Returns 25 results per page by default. Use page parameter for more results. Use get_ticket_details for full data on a specific ticket.

ParametersJSON Schema
NameRequiredDescriptionDefault
searchTermNoSearch by ticket number prefix
companyIDNoFilter by company ID
statusNoFilter by ticket status ID (omit for all open tickets)
assignedResourceIDNoFilter by assigned resource ID
unassignedNoSet to true to find unassigned tickets
createdAfterNoFilter tickets created on or after this date (ISO format, e.g. 2026-01-01)
createdBeforeNoFilter tickets created on or before this date (ISO format)
lastActivityAfterNoFilter tickets with activity on or after this date (ISO format)
pageNoPage number for pagination (default: 1)
pageSizeNoResults per page (default: 25, max: 500)

TDQS

A3.8/5.0
Behavior3/5

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

Annotations are absent, so the description bears the full burden. It mentions pagination behavior (default 25 per page, use page parameter) but does not disclose whether the operation is read-only, any rate limits, or if there are implicit filters (e.g., default shows all open tickets? Status parameter says 'omit for all open tickets' but is not described here). The transparency 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.

Conciseness5/5

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

The description is three concise sentences, no wasted words. Each sentence adds distinct value: purpose, pagination detail, and pointer to an alternative. It is front-loaded with the core purpose.

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

Completeness4/5

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

Given the tool has 10 parameters (all optional) and no output schema, the description covers the essential behavioral aspects (pagination defaults) and points to get_ticket_details for deeper detail. It does not explain the output structure, but without an output schema, that's acceptable. It provides enough context for basic usage.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description adds minimal parameter semantics beyond the schema (e.g., 'use page parameter for more results' re-emphasizes pagination). It does not explain the relationship between parameters or typical use cases, but schema already provides clear descriptions for each parameter.

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 'Search for tickets in Autotask', clearly indicating the verb and resource. However, it does not explicitly distinguish this tool from sibling search tools like autotask_search_time_entries or autotask_search_ticket_notes, though the resource 'tickets' is distinct enough given the server's many search 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 provides clear guidance: 'Returns 25 results per page by default. Use page parameter for more results.' It also directs users to 'Use get_ticket_details for full data on a specific ticket', indicating when to use an alternative tool. It lacks explicit when-not-to-use guidance for other search tools but still offers valuable direction.

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

autotask_search_time_entriesA

Search for time entries in Autotask. Returns 25 results per page by default. Time entries can be filtered by resource, ticket, project, task, date range, or approval status. Use approvalStatus="unapproved" to find entries not yet posted.

ParametersJSON Schema
NameRequiredDescriptionDefault
resourceIdNoFilter by resource (user) ID
ticketIdNoFilter by ticket ID
projectIdNoFilter by project ID
taskIdNoFilter by task ID
approvalStatusNoFilter by approval status: "unapproved" = not yet posted (billingApprovalDateTime is null), "approved" = already posted, "all" = no filter (default)
billableNoFilter by billable status (true = billable only, false = non-billable only)
dateWorkedAfterNoFilter entries worked on or after this date (ISO format, e.g. 2026-01-01)
dateWorkedBeforeNoFilter entries worked on or before this date (ISO format)
pageNoPage number for pagination (default: 1)
pageSizeNoResults per page (default: 25, max: 500)

TDQS

A4.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 all behavioral disclosure. It explains pagination defaults (25 per page, max 500) and approvalStatus values. However, it does not explicitly state that the tool is read-only, mention required permissions, or describe any side effects. The description implies a safe operation but lacks full transparency.

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

Conciseness5/5

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

Two tightly written sentences. The first sentence states the core purpose and default page size. The second sentence lists filter options with a usage tip. No redundant or extraneous content.

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 10 parameters (all documented in schema) and no output schema, the description covers the main filters and pagination. It does not describe the return format (e.g., list of time entry objects), but for a search tool the purpose is self-evident. The lack of output schema is an ecosystem gap, not a description failure.

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 100% description coverage, but the tool description adds value by stating the default page size and giving a concrete example for approvalStatus. This goes beyond the schema's enum descriptions and helps an agent understand typical usage.

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 'Search for time entries in Autotask' (verb+resource). It lists multiple filter dimensions (resource, ticket, project, task, date range, approval status) that distinguish this from other sibling search tools like autotask_search_tickets or autotask_search_projects.

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 a concrete usage example ('Use approvalStatus="unapproved" to find entries not yet posted'), which is helpful. However, it does not explicitly mention when not to use this tool or suggest alternative tools (e.g., autotask_get_ticket_details for detailed time entry info).

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

autotask_test_connectionB

Test the connection to Autotask API

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior2/5

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

The description only says 'test the connection' without disclosing what the test entails (e.g., credential validation, reachability check, side effects), and no annotations are provided to compensate.

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

Conciseness4/5

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

The description is a single, concise sentence that is front-loaded, but it is somewhat underspecified; still, it is not verbose.

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

Completeness2/5

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

Given the tool's purpose, the description lacks important context such as what the test does, what success/failure looks like, and when to use it. With no output schema, more context is expected.

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 coverage is effectively 100%. The baseline for zero parameters is 4, and the description adds no nuisance but also doesn't need to.

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 'Test' and the resource 'connection to Autotask API', which is specific and distinguishes this tool from the many CRUD and search 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 on when to use this tool versus alternatives, such as using it as a prerequisite check before other API calls, or any context about prerequisites.

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

autotask_update_companyC

Update an existing company in Autotask

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCompany ID to update
companyNameNoCompany name
phoneNoCompany phone number
address1NoCompany address line 1
cityNoCompany city
stateNoCompany state/province
postalCodeNoCompany postal/ZIP code
isActiveNoWhether the company is active

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 fully convey behavioral traits. It says 'update' implying mutation but does not disclose idempotency, partial update behavior (only specified fields are updated), auth requirements, or what happens if id is invalid. This is insufficient for a mutation tool.

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

Conciseness4/5

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

The description is a single clear sentence that conveys the essential purpose. It is concise and front-loaded, but could be slightly expanded to include key behavioral details without becoming verbose.

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

Completeness2/5

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

Given the lack of annotations and output schema, the description is too brief. It does not explain return values (e.g., whether it returns the updated company or just success), error handling, or which fields are required beyond id. The tool has 8 parameters with 100% schema coverage, but completeness is low due to missing behavioral and usage context.

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

Parameters3/5

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

Schema coverage is 100%, so the description adds no extra parameter info. Baseline 3 is appropriate. The tool updates company fields, but the description does not clarify how overlapping fields behave (e.g., if companyName is omitted, does it remain unchanged?).

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 'Update an existing company in Autotask', which identifies the verb (update), resource (company), and system (Autotask). It distinguishes from sibling tools like autotask_create_company, but could be more specific about which fields are updatable.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool vs alternatives like autotask_update_company_site_configuration or create_company. There is no mention of prerequisites (e.g., company must exist) or 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.

autotask_update_company_site_configurationA

Update fields on a company site configuration record. The set of available fields is tenant-defined, so callers should first call autotask_get_company_site_configuration to discover the available field names and current values for the company. Pass the site configuration record id (not the company id) along with an updates object containing the fields to change.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe company site configuration record ID to update (obtained from autotask_get_company_site_configuration).
updatesYesObject containing the site configuration fields to update. Field names are tenant-specific.

TDQS

A3.9/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 states the tool updates fields but does not disclose whether the update is destructive (overwrites or merges), success/failure responses, or authorization requirements. The note that fields are tenant-defined adds some context but leaves significant behavioral gaps.

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

Conciseness5/5

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

The description is three sentences, each with a distinct purpose: announcing the action, providing prerequisite guidance, and parameter details. It is front-loaded and contains no unnecessary words.

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

Completeness3/5

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

The tool has no output schema and no annotations. The description adequately covers prerequisites and parameter usage but lacks information about return values, error handling, or side effects. For a simple update tool, it is functional but not fully complete.

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

Parameters3/5

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

Schema coverage is 100% and the description adds a useful clarification about the id parameter (record id not company id). However, the updates parameter description largely mirrors the schema. The added value is marginal, meeting the baseline for high schema coverage.

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

Purpose5/5

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

The description clearly states the tool updates a company site configuration record, with a specific verb ('update') and resource. It distinguishes from sibling tools like autotask_get_company_site_configuration and autotask_update_company by focusing on site configuration records.

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 advises callers to first retrieve the current configuration using autotask_get_company_site_configuration to discover field names, and warns to use the site configuration record id, not the company id. It does not explicitly list alternatives but the prerequisite is clear.

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

autotask_update_projectA

Update an existing project in Autotask. Only the fields you provide will be updated. Common use case: set status=5 to mark a project Complete.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYesThe ID of the project to update
projectNameNoProject name
descriptionNoProject description
statusNoProject status (1=New, 2=In Progress, 5=Complete). Set to 5 to mark the project complete.
departmentIDNoDepartment ID owning the project
assignedResourceIDNoPrimary assigned resource (project manager) ID. Note: Autotask may also require assignedResourceRoleID to be set alongside this field.
assignedResourceRoleIDNoRole ID for the assigned resource. Required by Autotask when assignedResourceID is provided.
projectLeadResourceIDNoProject lead resource ID
startDateTimeNoProject start date/time (ISO 8601)
endDateTimeNoProject end date/time (ISO 8601)
estimatedTimeNoEstimated time for the project, in hours
userDefinedFieldsNoUser-defined field values to set on the project (Autotask REST-native shape)

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 full burden. It only states partial update and a common use case. Missing details like permissions required, error conditions, idempotency, or side effects. Minimal behavioral 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?

Two sentences: first states purpose, second adds common use case. No fluff, front-loaded, 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?

Given the complexity (12 parameters, no output schema, no annotations), the description is adequate but has gaps: missing return value, error handling, prerequisites, and side effects. Not complete enough for a complex update tool.

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

Parameters3/5

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

Schema coverage is 100%, so each parameter is already described. The description adds no new semantic information beyond the schema, except repeating the status use case already present in the schema. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action (update) and resource (an existing project in Autotask), and provides a specific common use case (setting status=5 to mark complete). It effectively distinguishes from siblings like autotask_create_project.

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 indicates partial update behavior ('Only the fields you provide will be updated') and gives a common use case. However, it does not mention when not to use or provide alternatives, but the context of an update tool is clear.

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

autotask_update_quote_itemA

Update an existing quote item (quantity, price, etc.)

ParametersJSON Schema
NameRequiredDescriptionDefault
quoteItemIdYesThe quote item ID to update
quantityNoUpdated quantity
unitPriceNoUpdated unit price
unitDiscountNoUpdated per-unit discount
lineDiscountNoUpdated line discount
percentageDiscountNoUpdated percentage discount
isOptionalNoUpdated optional status
sortOrderIDNoUpdated sort order

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided. Description only states it updates, which is obvious. No disclosure of side effects, permissions, or restrictions.

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

Conciseness5/5

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

Single sentence, no wasted words, front-loaded with key action and resource.

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 an update tool with 8 well-documented parameters and no output schema, the description is brief but adequate. Could mention optionality or update behavior but not required in this context.

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

Parameters3/5

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

Schema coverage is 100%, so each parameter has a description. The tool's description adds minimal value like '(quantity, price, etc.)', meeting the baseline but not exceeding.

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 (Update) and the resource (quote item) with examples of fields, distinguishing it from create, delete, and search 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?

No explicit guidance on when to use or when not to use vs alternatives like create or delete. Implicitly for modifying existing items but lacks depth.

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

autotask_update_service_callA

Update an existing service call. Use this to change status, times, or description. To complete/close a service call, set complete: true or update the status.

ParametersJSON Schema
NameRequiredDescriptionDefault
serviceCallIdYesThe service call ID to update
descriptionNoUpdated description
statusNoUpdated status picklist ID
startDateTimeNoUpdated start date/time (ISO 8601 format)
endDateTimeNoUpdated end date/time (ISO 8601 format)
completeNoSet to true to mark the service call as complete/closed

TDQS

A4.2/5.0
Behavior3/5

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

Since no annotations are provided, the description carries the full burden of behavioral disclosure. It correctly identifies this as a mutation (update) operation but does not mention potential side effects, required permissions, idempotency, or whether updates are immediately persisted. The description is adequate but lacks depth for a mutation tool.

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

Conciseness5/5

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

The description is two sentences long, front-loaded with the primary purpose, and includes a practical usage hint. Every sentence adds value with no unnecessary words. It is well-structured for quick comprehension.

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 output schema, no annotations, and six parameters fully described in the schema, the description covers the core use case of updating a service call. It does not explain return values, error handling, or prerequisites, but for an update operation with good schema coverage, this is sufficient. It could be slightly more complete by mentioning that only provided fields are updated.

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 has 100% coverage, so the baseline is 3. The description adds value by explaining how to use the 'complete' and 'status' parameters together to close a service call, which goes beyond the schema's individual descriptions. This helps the agent understand the intended workflow.

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 'Update an existing service call' and specifies the fields that can be changed (status, times, description). It distinguishes itself from sibling tools like 'autotask_create_service_call' and 'autotask_delete_service_call' by focusing on updating an existing record, and it provides a specific directive for closing/completing service calls.

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 gives explicit usage: 'Use this to change status, times, or description.' It also provides guidance on completing/closing a service call by setting 'complete: true' or updating the status. However, it does not explicitly state when not to use this tool or compare it to alternatives like 'autotask_delete_service_call' or other update tools.

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

autotask_update_ticketB

Update an existing ticket in Autotask. Only fields provided will be changed.

ParametersJSON Schema
NameRequiredDescriptionDefault
ticketIdYesThe ID of the ticket to update
titleNoTicket title
descriptionNoTicket description
statusNoTicket status ID (use autotask_list_ticket_statuses to find valid IDs)
priorityNoTicket priority ID (use autotask_list_ticket_priorities to find valid IDs)
assignedResourceIDNoAssigned resource ID. If set, assignedResourceRoleID is also required by Autotask.
assignedResourceRoleIDNoRole ID for the assigned resource. Required by Autotask when assignedResourceID is set.
dueDateTimeNoDue date and time in ISO 8601 format (e.g. 2026-03-15T17:00:00Z)
contactIDNoContact ID for the ticket

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden. It explains the partial update behavior but fails to disclose important traits such as required permissions, what happens if the ticket does not exist, or error handling. The description adds minimal behavioral context beyond the obvious 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 a single sentence that is front-loaded with the action and resource, and includes a key behavioral note. Every word earns its place, no redundancy.

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 good schema descriptions, the definition lacks completeness. No output schema, no explanation of return values or error scenarios. For a mutation tool with interdependent parameters (e.g., assignedResourceID and assignedResourceRoleID), the description should provide more context.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all parameters well. The description adds no extra meaning beyond 'Only fields provided will be changed,' which is already implied. Baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action (update), the resource (existing ticket), and the behavior (partial update). It distinguishes from sibling tools like autotask_create_ticket and autotask_search_tickets by specifying 'Update an existing ticket' and the partial update semantics.

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 used for updating tickets and that only provided fields will change, but it does not explicitly state when to use this tool versus alternatives (e.g., when to use autotask_create_ticket_note instead). No guidance on prerequisites or exclusions.

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

autotask_update_ticket_chargeA

Update an existing ticket charge. Only fields provided will be changed.

ParametersJSON Schema
NameRequiredDescriptionDefault
chargeIdYesThe charge ID to update
nameNoUpdated charge name
descriptionNoUpdated description
unitQuantityNoUpdated quantity
unitPriceNoUpdated unit price
unitCostNoUpdated unit cost
billableToAccountNoUpdated billable status
statusNoUpdated status

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 burden. It mentions 'only fields provided will be changed' indicating partial update, but lacks disclosure on idempotency, error handling, or authorization needs.

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 with two sentences and no unnecessary words, effectively communicating the core functionality.

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 simplicity of the tool and rich schema descriptions, the description is adequate but missing some behavioral context and usage guidelines, preventing it from being fully complete.

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

Parameters3/5

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

Schema coverage is 100% with all parameters documented. The description adds no additional parameter meaning beyond what the schema already provides, meeting the baseline.

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 it updates an existing ticket charge, using a specific verb and resource. It distinguishes itself from sibling tools like autotask_create_ticket_charge and autotask_delete_ticket_charge.

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 provides clear context by stating what the tool does, but does not give explicit guidance on when to use it versus alternatives (e.g., create or delete), nor any prerequisites or side effects.

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

autotask_update_ticket_checklist_itemB

Update a checklist item on a ticket โ€” edit text, mark complete/incomplete, or change position.

ParametersJSON Schema
NameRequiredDescriptionDefault
ticketIdYesThe parent ticket ID
itemIdYesThe checklist item ID to update
itemNameNoNew text for the checklist item
isCompletedNoMark the item complete (true) or incomplete (false)
positionNoNew ordering position for the item

TDQS

B3.3/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 for behavioral disclosure. It only lists what can be updated but fails to mention side effects, idempotency, authentication requirements, or whether partial updates are supported. This is insufficient for safe agent decision-making.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that efficiently conveys the tool's purpose and main capabilities without any extraneous 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 a simple update operation with five parameters, but the description omits any mention of the return value or behavior after update. Given no output schema, this leaves the agent uninformed about what to expect (e.g., confirmation, updated object, or empty response).

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all parameters clearly. The description adds no additional meaning beyond restating the field purposes (e.g., 'edit text' for itemName), providing marginal extra value.

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 ('Update') and identifies the resource ('checklist item on a ticket'), and lists three concrete actions (edit text, mark complete/incomplete, change position). It clearly distinguishes from sibling tools like create, search, and delete.

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 alternatives (e.g., create or delete checklist items). No context about prerequisites or when not to use it is given.

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. 90 tool updatesv2.18.0
    • First observedautotask_create_company
    • First observedautotask_create_company_note
    • First observedautotask_create_contact
    • First observedautotask_create_expense_item
    • First observedautotask_create_expense_report
    • First observedautotask_create_opportunity
    • First observedautotask_create_phase
    • First observedautotask_create_project
    • First observedautotask_create_project_note
    • First observedautotask_create_quote
    • First observedautotask_create_quote_item
    • First observedautotask_create_service_call
    • First observedautotask_create_service_call_ticket
    • First observedautotask_create_service_call_ticket_resource
    • First observedautotask_create_task
    • First observedautotask_create_ticket
    • First observedautotask_create_ticket_attachment
    • First observedautotask_create_ticket_charge
    • First observedautotask_create_ticket_checklist_item
    • First observedautotask_create_ticket_note
    • First observedautotask_create_time_entry
    • First observedautotask_delete_quote_item
    • First observedautotask_delete_service_call
    • First observedautotask_delete_service_call_ticket
    • First observedautotask_delete_service_call_ticket_resource
    • First observedautotask_delete_ticket_charge
    • First observedautotask_delete_ticket_checklist_item
    • First observedautotask_execute_tool
    • First observedautotask_get_billing_item
    • First observedautotask_get_company_note
    • First observedautotask_get_company_site_configuration
    • First observedautotask_get_expense_report
    • First observedautotask_get_field_info
    • First observedautotask_get_invoice_details
    • First observedautotask_get_opportunity
    • First observedautotask_get_product
    • First observedautotask_get_project_note
    • First observedautotask_get_quote
    • First observedautotask_get_quote_item
    • First observedautotask_get_service
    • First observedautotask_get_service_bundle
    • First observedautotask_get_service_call
    • First observedautotask_get_ticket_attachment
    • First observedautotask_get_ticket_charge
    • First observedautotask_get_ticket_details
    • First observedautotask_get_ticket_note
    • First observedautotask_list_categories
    • First observedautotask_list_category_tools
    • First observedautotask_list_phases
    • First observedautotask_list_queues
    • First observedautotask_list_ticket_priorities
    • First observedautotask_list_ticket_statuses
    • First observedautotask_router
    • First observedautotask_search_billing_item_approval_levels
    • First observedautotask_search_billing_items
    • First observedautotask_search_companies
    • First observedautotask_search_company_notes
    • First observedautotask_search_configuration_items
    • First observedautotask_search_contacts
    • First observedautotask_search_contracts
    • First observedautotask_search_expense_reports
    • First observedautotask_search_invoices
    • First observedautotask_search_opportunities
    • First observedautotask_search_products
    • First observedautotask_search_project_notes
    • First observedautotask_search_projects
    • First observedautotask_search_quote_items
    • First observedautotask_search_quotes
    • First observedautotask_search_resources
    • First observedautotask_search_service_bundles
    • First observedautotask_search_service_call_ticket_resources
    • First observedautotask_search_service_call_tickets
    • First observedautotask_search_service_calls
    • First observedautotask_search_services
    • First observedautotask_search_tasks
    • First observedautotask_search_ticket_attachments
    • First observedautotask_search_ticket_charges
    • First observedautotask_search_ticket_checklist_items
    • First observedautotask_search_ticket_notes
    • First observedautotask_search_tickets
    • First observedautotask_search_time_entries
    • First observedautotask_test_connection
    • First observedautotask_update_company
    • First observedautotask_update_company_site_configuration
    • First observedautotask_update_project
    • First observedautotask_update_quote_item
    • First observedautotask_update_service_call
    • First observedautotask_update_ticket
    • First observedautotask_update_ticket_charge
    • First observedautotask_update_ticket_checklist_item

TDQS

C2.9/5.0

Scored across 90 tools

Disambiguation3/5

Most tools are clearly separated by resource+action, and descriptions clarify parent entities such as ticket notes vs company notes. However, the list/search split, overlapping enum tools like list_ticket_statuses vs get_field_info, and the meta-tools (router, execute_tool, list_category_tools) create enough ambiguity that misselection is plausible.

Naming Consistency4/5

The autotask_ prefix and verb_noun structure are applied consistently across nearly all tools. The main deviations are mixing list and search for lookup operations and a few exceptions like get_ticket_details and execute_tool, but these are minor and predictable.

Tool Count1/5

With 90 tools, the surface far exceeds the recommended 3-15 range and matches the extreme mismatch threshold. The inclusion of router, category, and executor meta-tools suggests the design is compensating for an overly large tool set rather than being well-scoped.

Completeness3/5

Core workflows for tickets, projects, service calls, quotes, and charges are reasonably covered. However, many resources have create/get/search but no update or delete, including contacts, opportunities, tasks, phases, notes, time entries, and expense items, leaving notable dead ends.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    Gives AI assistants direct access to Autotask PSA for searching tickets, creating time entries, managing companies, projects, and more via natural language.
    100
    Apache 2.0
  • A
    license
    C
    quality
    C
    maintenance
    Enables AI assistants to fully access and manage SyncroMSP resources including tickets, customers, assets, invoices, and over 30 resource types through 180+ API endpoints.
    100
    16 npm
    10
    MIT