Skip to main content
Glama
echelon-ai-labs

ServiceNow MCP Server

ServiceNow MCP Server

A Model Completion Protocol (MCP) server implementation for ServiceNow, allowing Claude to interact with ServiceNow instances.

Overview

This project implements an MCP server that enables Claude to connect to ServiceNow instances, retrieve data, and perform actions through the ServiceNow API. It serves as a bridge between Claude and ServiceNow, allowing for seamless integration.

Related MCP server: ServiceNow MCP Server

Features

  • Connect to ServiceNow instances using various authentication methods (Basic, OAuth, API Key)

  • Query ServiceNow records and tables

  • Create, update, and delete ServiceNow records

  • Execute ServiceNow scripts and workflows

  • Access and query the ServiceNow Service Catalog

  • Analyze and optimize the ServiceNow Service Catalog

  • Debug mode for troubleshooting

  • Support for both stdio and Server-Sent Events (SSE) communication

Installation

Prerequisites

  • Python 3.11 or higher

  • A ServiceNow instance with appropriate access credentials

Setup

  1. Clone this repository:

    git clone https://github.com/echelon-ai-labs/servicenow-mcp.git
    cd servicenow-mcp
  2. Create a virtual environment and install the package:

    python -m venv .venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
    pip install -e .
  3. Create a .env file with your ServiceNow credentials:

    SERVICENOW_INSTANCE_URL=https://your-instance.service-now.com
    SERVICENOW_USERNAME=your-username
    SERVICENOW_PASSWORD=your-password
    SERVICENOW_AUTH_TYPE=basic  # or oauth, api_key

Usage

Standard (stdio) Mode

To start the MCP server:

python -m servicenow_mcp.cli

Or with environment variables:

SERVICENOW_INSTANCE_URL=https://your-instance.service-now.com SERVICENOW_USERNAME=your-username SERVICENOW_PASSWORD=your-password SERVICENOW_AUTH_TYPE=basic python -m servicenow_mcp.cli

Server-Sent Events (SSE) Mode

The ServiceNow MCP server can also run as a web server using Server-Sent Events (SSE) for communication, which allows for more flexible integration options.

Starting the SSE Server

You can start the SSE server using the provided CLI:

servicenow-mcp-sse --instance-url=https://your-instance.service-now.com --username=your-username --password=your-password

By default, the server will listen on 0.0.0.0:8080. You can customize the host and port:

servicenow-mcp-sse --host=127.0.0.1 --port=8000

Connecting to the SSE Server

The SSE server exposes two main endpoints:

  • /sse - The SSE connection endpoint

  • /messages/ - The endpoint for sending messages to the server

Example

See the examples/sse_server_example.py file for a complete example of setting up and running the SSE server.

from servicenow_mcp.server import ServiceNowMCP
from servicenow_mcp.server_sse import create_starlette_app
from servicenow_mcp.utils.config import ServerConfig, AuthConfig, AuthType, BasicAuthConfig
import uvicorn

# Create server configuration
config = ServerConfig(
    instance_url="https://your-instance.service-now.com",
    auth=AuthConfig(
        type=AuthType.BASIC,
        config=BasicAuthConfig(
            username="your-username",
            password="your-password"
        )
    ),
    debug=True,
)

# Create ServiceNow MCP server
servicenow_mcp = ServiceNowMCP(config)

# Create Starlette app with SSE transport
app = create_starlette_app(servicenow_mcp, debug=True)

# Start the web server
uvicorn.run(app, host="0.0.0.0", port=8080)

Tool Packaging (Optional)

To manage the number of tools exposed to the language model (especially in environments with limits), the ServiceNow MCP server supports loading subsets of tools called "packages". This is controlled via the MCP_TOOL_PACKAGE environment variable.

Configuration

  1. Environment Variable: Set the MCP_TOOL_PACKAGE environment variable to the name of the desired package.

    export MCP_TOOL_PACKAGE=catalog_builder
  2. Package Definitions: The available packages and the tools they include are defined in config/tool_packages.yaml. You can customize this file to create your own packages.

Behavior

  • If MCP_TOOL_PACKAGE is set to a valid package name defined in config/tool_packages.yaml, only the tools listed in that package will be loaded.

  • If MCP_TOOL_PACKAGE is not set or is empty, the full package (containing all tools) is loaded by default.

  • If MCP_TOOL_PACKAGE is set to an invalid package name, the none package is loaded (no tools except list_tool_packages), and a warning is logged.

  • Setting MCP_TOOL_PACKAGE=none explicitly loads no tools (except list_tool_packages).

Available Packages (Default)

The default config/tool_packages.yaml includes the following role-based packages:

  • service_desk: Tools for incident handling and basic user/knowledge lookup.

  • catalog_builder: Tools for creating and managing service catalog items, categories, variables, and related scripting (UI Policies, User Criteria).

  • change_coordinator: Tools for managing the change request lifecycle, including tasks and approvals.

  • knowledge_author: Tools for creating and managing knowledge bases, categories, and articles.

  • platform_developer: Tools for server-side scripting (Script Includes), workflow development, and deployment (Changesets).

  • system_administrator: Tools for user/group management and viewing system logs.

  • agile_management: Tools for managing user stories, epics, scrum tasks, and projects.

  • full: Includes all available tools (default).

  • none: Includes no tools (except list_tool_packages).

Introspection Tool

  • list_tool_packages: Lists all available tool package names defined in the configuration and shows the currently loaded package. This tool is available in all packages except none.

Available Tools

Note: The availability of the following tools depends on the loaded tool package (see Tool Packaging section above). By default (full package), all tools are available.

Incident Management Tools

  1. create_incident - Create a new incident in ServiceNow

  2. update_incident - Update an existing incident in ServiceNow

  3. add_comment - Add a comment to an incident in ServiceNow

  4. resolve_incident - Resolve an incident in ServiceNow

  5. list_incidents - List incidents from ServiceNow

Service Catalog Tools

  1. list_catalog_items - List service catalog items from ServiceNow

  2. get_catalog_item - Get a specific service catalog item from ServiceNow

  3. list_catalog_categories - List service catalog categories from ServiceNow

  4. create_catalog_category - Create a new service catalog category in ServiceNow

  5. update_catalog_category - Update an existing service catalog category in ServiceNow

  6. move_catalog_items - Move catalog items between categories in ServiceNow

  7. create_catalog_item_variable - Create a new variable (form field) for a catalog item

  8. list_catalog_item_variables - List all variables for a catalog item

  9. update_catalog_item_variable - Update an existing variable for a catalog item

  10. list_catalogs - List service catalogs from ServiceNow

Catalog Optimization Tools

  1. get_optimization_recommendations - Get recommendations for optimizing the service catalog

  2. update_catalog_item - Update a service catalog item

Change Management Tools

  1. create_change_request - Create a new change request in ServiceNow

  2. update_change_request - Update an existing change request

  3. list_change_requests - List change requests with filtering options

  4. get_change_request_details - Get detailed information about a specific change request

  5. add_change_task - Add a task to a change request

  6. submit_change_for_approval - Submit a change request for approval

  7. approve_change - Approve a change request

  8. reject_change - Reject a change request

Agile Management Tools

Story Management
  1. create_story - Create a new user story in ServiceNow

  2. update_story - Update an existing user story in ServiceNow

  3. list_stories - List user stories with filtering options

  4. create_story_dependency - Create a dependency between two stories

  5. delete_story_dependency - Delete a dependency between stories

Epic Management
  1. create_epic - Create a new epic in ServiceNow

  2. update_epic - Update an existing epic in ServiceNow

  3. list_epics - List epics from ServiceNow with filtering options

Scrum Task Management
  1. create_scrum_task - Create a new scrum task in ServiceNow

  2. update_scrum_task - Update an existing scrum task in ServiceNow

  3. list_scrum_tasks - List scrum tasks from ServiceNow with filtering options

Project Management
  1. create_project - Create a new project in ServiceNow

  2. update_project - Update an existing project in ServiceNow

  3. list_projects - List projects from ServiceNow with filtering options

Workflow Management Tools

  1. list_workflows - List workflows from ServiceNow

  2. get_workflow - Get a specific workflow from ServiceNow

  3. create_workflow - Create a new workflow in ServiceNow

  4. update_workflow - Update an existing workflow in ServiceNow

  5. delete_workflow - Delete a workflow from ServiceNow

Script Include Management Tools

  1. list_script_includes - List script includes from ServiceNow

  2. get_script_include - Get a specific script include from ServiceNow

  3. create_script_include - Create a new script include in ServiceNow

  4. update_script_include - Update an existing script include in ServiceNow

  5. delete_script_include - Delete a script include from ServiceNow

Changeset Management Tools

  1. list_changesets - List changesets from ServiceNow with filtering options

  2. get_changeset_details - Get detailed information about a specific changeset

  3. create_changeset - Create a new changeset in ServiceNow

  4. update_changeset - Update an existing changeset

  5. commit_changeset - Commit a changeset

  6. publish_changeset - Publish a changeset

  7. add_file_to_changeset - Add a file to a changeset

Knowledge Base Management Tools

  1. create_knowledge_base - Create a new knowledge base in ServiceNow

  2. list_knowledge_bases - List knowledge bases with filtering options

  3. create_category - Create a new category in a knowledge base

  4. create_article - Create a new knowledge article in ServiceNow

  5. update_article - Update an existing knowledge article in ServiceNow

  6. publish_article - Publish a knowledge article in ServiceNow

  7. list_articles - List knowledge articles with filtering options

  8. get_article - Get a specific knowledge article by ID

User Management Tools

  1. create_user - Create a new user in ServiceNow

  2. update_user - Update an existing user in ServiceNow

  3. get_user - Get a specific user by ID, username, or email

  4. list_users - List users with filtering options

  5. create_group - Create a new group in ServiceNow

  6. update_group - Update an existing group in ServiceNow

  7. add_group_members - Add members to a group in ServiceNow

  8. remove_group_members - Remove members from a group in ServiceNow

  9. list_groups - List groups with filtering options

UI Policy Tools

  1. create_ui_policy - Creates a ServiceNow UI Policy, typically for a Catalog Item.

  2. create_ui_policy_action - Creates an action associated with a UI Policy to control variable states (visibility, mandatory, etc.).

Using the MCP CLI

The ServiceNow MCP server can be installed with the MCP CLI, which provides a convenient way to register the server with Claude.

# Install the ServiceNow MCP server with environment variables from .env file
mcp install src/servicenow_mcp/server.py -f .env

This command will register the ServiceNow MCP server with Claude and configure it to use the environment variables from the .env file.

Integration with Claude Desktop

To configure the ServiceNow MCP server in Claude Desktop:

  1. Edit the Claude Desktop configuration file at ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or the appropriate path for your OS:

{
  "mcpServers": {
    "ServiceNow": {
      "command": "/Users/yourusername/dev/servicenow-mcp/.venv/bin/python",
      "args": [
        "-m",
        "servicenow_mcp.cli"
      ],
      "env": {
        "SERVICENOW_INSTANCE_URL": "https://your-instance.service-now.com",
        "SERVICENOW_USERNAME": "your-username",
        "SERVICENOW_PASSWORD": "your-password",
        "SERVICENOW_AUTH_TYPE": "basic"
      }
    }
  }
}
  1. Restart Claude Desktop to apply the changes

Example Usage with Claude

Below are some example natural language queries you can use with Claude to interact with ServiceNow via the MCP server:

Incident Management Examples

  • "Create a new incident for a network outage in the east region"

  • "Update the priority of incident INC0010001 to high"

  • "Add a comment to incident INC0010001 saying the issue is being investigated"

  • "Resolve incident INC0010001 with a note that the server was restarted"

  • "List all high priority incidents assigned to the Network team"

  • "List all active P1 incidents assigned to the Network team."

Service Catalog Examples

  • "Show me all items in the service catalog"

  • "List all service catalog categories"

  • "Get details about the laptop request catalog item"

  • "Show me all catalog items in the Hardware category"

  • "Search for 'software' in the service catalog"

  • "Create a new category called 'Cloud Services' in the service catalog"

  • "Update the 'Hardware' category to rename it to 'IT Equipment'"

  • "Move the 'Virtual Machine' catalog item to the 'Cloud Services' category"

  • "Create a subcategory called 'Monitors' under the 'IT Equipment' category"

  • "Reorganize our catalog by moving all software items to the 'Software' category"

  • "Create a description field for the laptop request catalog item"

  • "Add a dropdown field for selecting laptop models to catalog item"

  • "List all form fields for the VPN access request catalog item"

  • "Make the department field mandatory in the software request form"

  • "Update the help text for the cost center field"

  • "Show me all service catalogs in the system"

  • "List all hardware catalog items."

  • "Find the catalog item for 'New Laptop Request'."

  • "Show me the variables for the 'New Laptop Request' item."

  • "Create a new variable named 'department_code' for the 'New Hire Setup' catalog item. Make it a mandatory string field."

Catalog Optimization Examples

  • "Analyze our service catalog and identify opportunities for improvement"

  • "Find catalog items with poor descriptions that need improvement"

  • "Identify catalog items with low usage that we might want to retire"

  • "Find catalog items with high abandonment rates"

  • "Optimize our Hardware category to improve user experience"

Change Management Examples

  • "Create a change request for server maintenance to apply security patches tomorrow night"

  • "Schedule a database upgrade for next Tuesday from 2 AM to 4 AM"

  • "Add a task to the server maintenance change for pre-implementation checks"

  • "Submit the server maintenance change for approval"

  • "Approve the database upgrade change with comment: implementation plan looks thorough"

  • "Show me all emergency changes scheduled for this week"

  • "List all changes assigned to the Network team"

  • "Create a normal change request to upgrade the production database server."

  • "Update change CHG0012345, set the state to 'Implement'."

Agile Management Examples

  • "Create a new user story for implementing a new reporting dashboard"

  • "Update the 'Implement a new reporting dashboard' story to set it as blocked"

  • "List all user stories assigned to the Data Analytics team"

  • "Create a dependency between the 'Implement a new reporting dashboard' story and the 'Develop data extraction pipeline' story"

  • "Delete the dependency between the 'Implement a new reporting dashboard' story and the 'Develop data extraction pipeline' story"

  • "Create a new epic called 'Data Analytics Initiatives'"

  • "Update the 'Data Analytics Initiatives' epic to set it as completed"

  • "List all epics in the 'Data Analytics' project"

  • "Create a new scrum task for the 'Implement a new reporting dashboard' story"

  • "Update the 'Develop data extraction pipeline' scrum task to set it as completed"

  • "List all scrum tasks in the 'Implement a new reporting dashboard' story"

  • "Create a new project called 'Data Analytics Initiatives'"

  • "Update the 'Data Analytics Initiatives' project to set it as completed"

  • "List all projects in the 'Data Analytics' epic"

Workflow Management Examples

  • "Show me all active workflows in ServiceNow"

  • "Get details about the incident approval workflow"

  • "List all versions of the change request workflow"

  • "Show me all activities in the service catalog request workflow"

  • "Create a new workflow for handling software license requests"

  • "Update the description of the incident escalation workflow"

  • "Activate the new employee onboarding workflow"

  • "Deactivate the old password reset workflow"

  • "Add an approval activity to the software license request workflow"

  • "Update the notification activity in the incident escalation workflow"

  • "Delete the unnecessary activity from the change request workflow"

  • "Reorder the activities in the service catalog request workflow"

Changeset Management Examples

  • "List all changesets in ServiceNow"

  • "Show me all changesets created by developer 'john.doe'"

  • "Get details about changeset 'sys_update_set_123'"

  • "Create a new changeset for the 'HR Portal' application"

  • "Update the description of changeset 'sys_update_set_123'"

  • "Commit changeset 'sys_update_set_123' with message 'Fixed login issue'"

  • "Publish changeset 'sys_update_set_123' to production"

  • "Add a file to changeset 'sys_update_set_123'"

  • "Show me all changes in changeset 'sys_update_set_123'"

Knowledge Base Examples

  • "Create a new knowledge base for the IT department"

  • "List all knowledge bases in the organization"

  • "Create a category called 'Network Troubleshooting' in the IT knowledge base"

  • "Write an article about VPN setup in the Network Troubleshooting category"

  • "Update the VPN setup article to include mobile device instructions"

  • "Publish the VPN setup article so it's visible to all users"

  • "List all articles in the Network Troubleshooting category"

  • "Show me the details of the VPN setup article"

  • "Find knowledge articles containing 'password reset' in the IT knowledge base"

  • "Create a subcategory called 'Wireless Networks' under the Network Troubleshooting category"

User Management Examples

  • "Create a new user Dr. Alice Radiology in the Radiology department"

  • "Update Bob's user record to make him the manager of Alice"

  • "Assign the ITIL role to Bob so he can approve change requests"

  • "List all users in the Radiology department"

  • "Create a new group called 'Biomedical Engineering' for managing medical devices"

  • "Add an admin user to the Biomedical Engineering group as a member"

  • "Update the Biomedical Engineering group to change its manager"

  • "Remove a user from the Biomedical Engineering group"

  • "Find all active users in the system with 'doctor' in their title"

  • "Create a user that will act as an approver for the Radiology department"

  • "List all IT support groups in the system"

UI Policy Examples

  • "Create a UI policy for the 'Software Request' item (sys_id: abc...) named 'Show Justification' that applies when 'software_cost' is greater than 100."

  • "For the UI policy 'Show Justification' (sys_id: def...), add an action to make the 'business_justification' variable visible and mandatory."

  • "Create another action for policy 'Show Justification' to hide the 'alternative_software' variable."

Example Scripts

The repository includes example scripts that demonstrate how to use the tools:

  • examples/catalog_optimization_example.py: Demonstrates how to analyze and improve the ServiceNow Service Catalog

  • examples/change_management_demo.py: Shows how to create and manage change requests in ServiceNow

Authentication Methods

Basic Authentication

SERVICENOW_AUTH_TYPE=basic
SERVICENOW_USERNAME=your-username
SERVICENOW_PASSWORD=your-password

OAuth Authentication

SERVICENOW_AUTH_TYPE=oauth
SERVICENOW_CLIENT_ID=your-client-id
SERVICENOW_CLIENT_SECRET=your-client-secret
SERVICENOW_TOKEN_URL=https://your-instance.service-now.com/oauth_token.do

API Key Authentication

SERVICENOW_AUTH_TYPE=api_key
SERVICENOW_API_KEY=your-api-key

Development

Documentation

Additional documentation is available in the docs directory:

Troubleshooting

Common Errors with Change Management Tools

  1. Error: argument after ** must be a mapping, not CreateChangeRequestParams

    • This error occurs when you pass a CreateChangeRequestParams object instead of a dictionary to the create_change_request function.

    • Solution: Make sure you're passing a dictionary with the parameters, not a Pydantic model object.

    • Note: The change management tools have been updated to handle this error automatically. The functions will now attempt to unwrap parameters if they're incorrectly wrapped or passed as a Pydantic model object.

  2. Error: Missing required parameter 'type'

    • This error occurs when you don't provide all required parameters for creating a change request.

    • Solution: Make sure to include all required parameters. For create_change_request, both short_description and type are required.

  3. Error: Invalid value for parameter 'type'

    • This error occurs when you provide an invalid value for the type parameter.

    • Solution: Use one of the valid values: "normal", "standard", or "emergency".

  4. Error: Cannot find get_headers method in either auth_manager or server_config

    • This error occurs when the parameters are passed in the wrong order or when using objects that don't have the required methods.

    • Solution: Make sure you're passing the auth_manager and server_config parameters in the correct order. The functions have been updated to handle parameter swapping automatically.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository

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

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

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

  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Available Tools

62 tools
activate_workflowC

Activate a workflow in ServiceNow

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only states the action without behavioral details. It doesn't disclose if this is a mutation (likely), requires permissions, has side effects (e.g., triggers workflows), rate limits, or error conditions. This leaves critical behavioral traits unspecified for a tool that presumably changes system state.

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—a single sentence with no wasted words—and front-loads the core action. While under-specified, it's structurally efficient, earning full marks for brevity and clarity within its limited scope.

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 likely performs a mutation (activating workflows) with no annotations, no output schema, and 0% schema coverage, the description is incomplete. It lacks details on behavior, parameters, outcomes, or error handling, making it inadequate for safe and effective use by an AI agent in this context.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate but adds no parameter information. It doesn't explain 'workflow_id' (e.g., format, where to find it, or if it's a sys_id), leaving the single parameter's meaning and usage unclear beyond the schema's basic title and type.

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

Purpose3/5

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

The description states the action ('activate') and resource ('workflow in ServiceNow'), which provides a basic understanding of purpose. However, it lacks specificity about what 'activate' means operationally (e.g., enabling execution, setting status) and doesn't distinguish from sibling tools like 'deactivate_workflow' or 'create_workflow', leaving ambiguity about its unique 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. It doesn't mention prerequisites (e.g., workflow must exist), exclusions, or comparisons to siblings like 'deactivate_workflow' or 'update_workflow', leaving the agent to infer usage context without explicit direction.

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

add_change_taskC

Add a task to a change request

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Add a task' implies a write/mutation operation, but the description does not specify permissions required, side effects (e.g., if it triggers notifications or workflows), error conditions, or response format. This leaves critical behavioral traits undocumented for a mutation tool.

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

Conciseness5/5

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

The description is a single, efficient sentence with no wasted words. It is front-loaded and directly states the tool's purpose without unnecessary elaboration, making it easy to parse quickly.

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

Completeness2/5

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

Given the complexity (a mutation tool with 6 nested parameters), lack of annotations, and no output schema, the description is incomplete. It does not address behavioral aspects, parameter meanings, or usage context, leaving significant gaps for the agent to operate effectively. It only covers the basic purpose, which is insufficient for this tool's needs.

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

Parameters1/5

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

The description mentions no parameters, while the input schema has 1 parameter ('params') with 6 nested properties (change_id, short_description, etc.). Schema description coverage is 0%, so the schema provides no descriptions for these properties. The description fails to compensate by explaining any parameters, leaving their semantics entirely unclear.

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

Purpose4/5

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

The description 'Add a task to a change request' clearly states the action (add) and target resource (task to a change request), making the purpose understandable. It distinguishes from siblings like 'add_comment' or 'add_workflow_activity' by specifying 'task' as the resource type. However, it lacks specificity about what kind of task or context, which prevents a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., needing an existing change request), exclusions, or related tools like 'update_change_request' or 'create_change_request' from the sibling list. Without such context, the agent must infer usage from the name alone.

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

add_commentB

Add a comment to an incident in ServiceNow

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states the basic action without behavioral details. It doesn't disclose permissions needed, whether the operation is idempotent, rate limits, or what happens on success/failure (e.g., comment visibility). This leaves significant gaps for a mutation tool.

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

Conciseness5/5

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

The description is a single, clear sentence with zero wasted words—front-loaded with the core action and resource. It's appropriately sized for the tool's apparent simplicity, making it easy to scan and understand quickly.

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

Completeness2/5

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

Given no annotations, no output schema, and a mutation tool with implicit parameters, the description is incomplete. It lacks behavioral context (e.g., side effects, error handling), doesn't explain return values, and misses parameter details like 'is_work_note'. For a tool that modifies data, this is insufficient.

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 description doesn't explicitly mention parameters, but with 0% schema description coverage and 1 parameter (a nested object with 3 sub-parameters), it implicitly suggests 'incident_id' and 'comment' through context. However, it misses 'is_work_note' entirely. Since 0 parameters are directly documented, baseline is 4, but it's not a 5 due to the missing boolean parameter nuance.

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

Purpose4/5

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

The description clearly states the action ('Add a comment') and target resource ('to an incident in ServiceNow'), providing a specific verb+resource combination. However, it doesn't differentiate from potential sibling tools like 'resolve_incident' or 'update_incident' that might also involve incident modification, missing explicit 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. The description doesn't mention prerequisites (e.g., incident must exist), exclusions, or comparisons to other comment-related tools (none in the sibling list, but context for incident modification isn't clarified).

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

add_file_to_changesetC

Add a file to a changeset in ServiceNow

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure but provides minimal information. 'Add a file to a changeset' implies a write/mutation operation, but the description doesn't disclose permission requirements, whether this action is reversible, what happens if the file already exists, rate limits, or what the response looks like. For a mutation tool with zero annotation coverage, this is inadequate.

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 maximally concise with a single clear sentence: 'Add a file to a changeset in ServiceNow.' Every word earns its place - 'Add' (action), 'a file' (object), 'to a changeset' (target), 'in ServiceNow' (context). There's zero waste or 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?

For a mutation tool with 3 parameters, 0% schema description coverage, no annotations, and no output schema, the description is severely incomplete. It states what the tool does at a high level but provides no information about parameters, behavioral characteristics, error conditions, or expected outcomes. The agent would struggle to use this tool correctly without additional context.

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

Parameters2/5

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

Schema description coverage is 0%, meaning none of the 3 parameters have descriptions in the schema. The tool description provides no parameter information whatsoever - it doesn't mention changeset_id, file_path, or file_content. The description fails to compensate for the complete lack of schema documentation, leaving all parameters semantically undefined.

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

Purpose4/5

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

The description clearly states the action ('Add a file') and target resource ('to a changeset in ServiceNow'), providing specific verb+resource pairing. It distinguishes from sibling tools like 'create_changeset' or 'commit_changeset' by focusing on file addition rather than changeset creation or finalization. However, it doesn't explicitly differentiate from potential file-related operations that might exist in other contexts.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing changeset), when not to use it, or what alternatives exist for similar operations. The agent must infer usage from the tool name alone without contextual guidance.

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

add_group_membersD
ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

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

Completeness1/5

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

Tool has no description.

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

Parameters1/5

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

Tool has no description.

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

Purpose1/5

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

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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

add_workflow_activityC

Add a new activity to a workflow in ServiceNow

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It implies a write operation ('Add') but doesn't specify permissions required, whether the addition is reversible, error conditions, or response format. This is inadequate for a mutation tool with zero annotation coverage.

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

Conciseness5/5

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

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy to parse quickly.

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

Completeness2/5

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

For a mutation tool with no annotations, no output schema, and 5 nested parameters (via 'params'), the description is incomplete. It lacks details on behavior, parameters, error handling, and relationships to sibling tools, making it insufficient for safe and effective use by an AI agent.

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

Parameters1/5

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

The description mentions no parameters, while the input schema has 1 parameter ('params') with 5 nested properties. With 0% schema description coverage, the description fails to add any semantic context beyond what's in the schema, leaving parameters like 'workflow_version_id' and 'activity_type' unexplained.

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

Purpose4/5

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

The description clearly states the action ('Add a new activity') and resource ('to a workflow in ServiceNow'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'create_workflow' or 'update_workflow_activity', which would require more specificity about what constitutes an 'activity' versus a 'workflow'.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing workflow version), exclusions, or relationships to sibling tools like 'get_workflow_activities' or 'delete_workflow_activity', leaving the agent to infer usage context.

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

approve_changeC

Approve a change request

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states the action ('approve') but doesn't explain what approval entails—whether it's reversible, requires specific permissions, triggers notifications, or updates the change status. For a mutation tool with zero annotation coverage, this is a significant gap in transparency.

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

Conciseness5/5

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

The description is a single, efficient sentence with zero wasted words. It's appropriately sized for a simple action, though this brevity contributes to gaps in other dimensions.

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

Completeness2/5

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

Given the tool's mutation nature, lack of annotations, no output schema, and 0% schema description coverage, the description is incomplete. It doesn't address behavioral implications, parameter usage, or how this tool fits with siblings like 'reject_change', making it inadequate for informed agent decision-making.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for undocumented parameters. It mentions no parameters at all, failing to clarify that 'change_id' is required or that 'approver_id' and 'approval_comments' are optional. This leaves the agent reliant solely on the schema without contextual guidance.

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

Purpose3/5

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

The description 'Approve a change request' clearly states the verb ('approve') and resource ('change request'), making the purpose understandable. However, it doesn't differentiate from the sibling 'reject_change' tool, which handles the opposite action on the same resource type, leaving room for ambiguity about when to use each.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'reject_change' or 'submit_change_for_approval'. It lacks context about prerequisites (e.g., whether the change must be in a pending approval state) or typical workflows, leaving the agent to infer usage from tool names alone.

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

commit_changesetC

Commit a changeset in ServiceNow

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states the action without behavioral details. It doesn't disclose whether this is a destructive/mutative operation, permission requirements, side effects, or what happens post-commit (e.g., status changes). For a tool that likely modifies data, this is inadequate.

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

Conciseness5/5

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

The description is a single, efficient sentence with no wasted words. It's front-loaded with the core action and resource, making it easy to parse quickly.

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 no annotations, no output schema, and 0% schema description coverage, the description is insufficient. It doesn't explain the tool's role in the ServiceNow change management lifecycle, what committing entails, or expected outcomes, leaving the agent with minimal actionable context.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate but adds no parameter information. It doesn't explain what a changeset ID is, where to find it, or the purpose/format of the commit message. With 1 required parameter and 1 optional parameter undocumented, this leaves significant gaps.

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 'Commit a changeset in ServiceNow' clearly states the action (commit) and target resource (changeset) with platform context (ServiceNow). It distinguishes from siblings like 'publish_changeset' by specifying the commit operation rather than publishing, though it doesn't explicitly contrast them.

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 'publish_changeset' or 'update_changeset', nor does it mention prerequisites such as needing an existing changeset. The description lacks context about typical workflow sequencing.

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

create_articleC

Create a new knowledge article

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. 'Create a new knowledge article' implies a write/mutation operation, but it doesn't disclose any behavioral traits like permission requirements, whether the article is immediately published or in draft state, what happens on duplicate titles, or any rate limits. For a creation tool with zero annotation coverage, 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 - a single 5-word sentence that gets straight to the point with zero wasted words. It's perfectly front-loaded and appropriately sized for what it does convey.

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

Completeness2/5

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

For a creation tool with 7 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what parameters are needed, what the tool returns, or any behavioral context. While conciseness is good, the description fails to provide the necessary context for effective tool use.

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

Parameters1/5

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

The description mentions no parameters at all, while the input schema shows 7 parameters (article_type, category, keywords, knowledge_base, short_description, text, title) with 5 required. With 0% schema description coverage and no parameter information in the description, this represents a significant gap in documentation.

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

Purpose3/5

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

The description 'Create a new knowledge article' clearly states the verb (create) and resource (knowledge article), but it's somewhat generic and doesn't differentiate from sibling tools like 'create_knowledge_base' or 'create_category'. It's adequate but lacks specificity about what distinguishes this particular creation operation.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. There are multiple 'create' tools in the sibling list (create_knowledge_base, create_category, create_change_request, etc.), but no indication of when this specific article creation tool is appropriate versus those other creation operations.

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

create_catalog_categoryC

Create a new service catalog category.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Create' implies a write/mutation operation, but the description doesn't state whether this requires specific permissions, what happens on success/failure, if there are rate limits, or if the creation is irreversible. For a mutation tool with zero annotation coverage, this leaves significant behavioral gaps.

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

Conciseness5/5

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

The description is a single, clear sentence with zero wasted words. It's front-loaded with the core action and resource, making it immediately scannable. Every word earns its place by conveying essential purpose without 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?

Given the complexity (a mutation tool with 6 parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what parameters are needed, what the tool returns, or any behavioral constraints. While concise, it fails to provide the contextual information necessary for safe and effective use by an AI agent.

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

Parameters1/5

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

The schema description coverage is 0%, meaning none of the parameters are documented in the schema. The description provides no information about parameters beyond what's implied by 'category' (e.g., it doesn't mention required fields like 'title' or optional ones like 'description', 'icon', etc.). With 6 parameters (nested under 'params') completely undocumented, the description fails to compensate for the schema's lack of documentation.

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

Purpose4/5

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

The description clearly states the action ('Create') and resource ('new service catalog category'), making the purpose immediately understandable. It distinguishes from siblings like 'update_catalog_category' and 'list_catalog_categories' by specifying creation rather than modification or listing. However, it doesn't explicitly mention what distinguishes it from 'create_category' (a sibling tool), which prevents a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing admin rights), when to choose this over 'update_catalog_category' for modifications, or how it relates to 'create_category' (another sibling). Without any usage context, the agent must infer when 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.

create_categoryC

Create a new category in a knowledge base

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states it's a creation operation but lacks details on permissions required, whether it's idempotent, error handling, or what happens on success (e.g., returns a category ID). This is a significant gap for a mutation tool with zero annotation coverage.

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

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the core purpose without unnecessary words. Every part of the sentence earns its place by specifying the action, resource, and context.

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

Completeness2/5

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

Given the tool's complexity (a mutation operation with 5 parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't explain parameters, behavioral traits, or return values, making it inadequate for safe and effective tool invocation by an agent.

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

Parameters1/5

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

The description provides no information about parameters, while the schema has 5 parameters (active, description, knowledge_base, parent_category, title) with 0% description coverage in the schema. This leaves all parameters undocumented, failing to compensate for the schema's lack of descriptions.

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

Purpose4/5

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

The description clearly states the action ('Create') and resource ('a new category in a knowledge base'), making the purpose immediately understandable. It distinguishes from siblings like 'create_catalog_category' by specifying the knowledge base context, though it doesn't explicitly contrast with 'list_categories' or other category-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 guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites (e.g., needing an existing knowledge base), exclusions, or comparisons with sibling tools like 'list_categories' or 'create_catalog_category', leaving the agent without context for tool selection.

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

create_change_requestC

Create a new change request in ServiceNow

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states this is a creation operation but provides no information about permissions required, whether this triggers workflows or notifications, what happens on success/failure, or any side effects. The description doesn't 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 extremely concise at just 7 words, front-loading the essential action and resource. There's no wasted language or unnecessary elaboration, making it efficient for an agent to parse.

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

Completeness2/5

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

For a creation tool with 10 parameters, 0% schema description coverage, no annotations, and no output schema, this description is severely inadequate. It doesn't explain what constitutes a valid change request, what happens after creation, or provide any context about the ServiceNow change management process.

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

Parameters1/5

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

The schema description coverage is 0%, meaning none of the 10 parameters have descriptions in the schema. The tool description provides absolutely no information about parameters, not even mentioning the required 'short_description' and 'type' fields or explaining what a change request consists of.

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

Purpose4/5

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

The description clearly states the verb ('Create') and resource ('a new change request in ServiceNow'), making the purpose immediately understandable. However, it doesn't differentiate this tool from its sibling 'update_change_request' or explain what distinguishes creating from updating a change request.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'update_change_request' or 'list_change_requests'. There's no mention of prerequisites, appropriate contexts, or when this tool should be avoided in favor of other options.

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

create_changesetC

Create a new changeset in ServiceNow

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. 'Create a new changeset' implies a write/mutation operation, but the description doesn't disclose any behavioral traits: no information about permissions required, whether this is reversible, what happens on success/failure, rate limits, or what the response contains. For a creation tool with zero annotation coverage, this is a significant gap in behavioral transparency.

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

Conciseness5/5

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

The description is extremely concise at just 6 words. It's front-loaded with the core action and resource. There's zero wasted language or redundancy. While it may be too brief for adequate tool understanding, from a pure conciseness perspective, it's maximally efficient.

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

Completeness2/5

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

Given the complexity (creation/mutation operation), lack of annotations, lack of output schema, and multiple sibling tools in the same domain, the description is incomplete. It doesn't explain what a changeset is, how it fits into the ServiceNow workflow, what happens after creation, or what the tool returns. For a mutation tool with no structured safety or behavioral annotations, the description should provide more context about the operation's role and consequences.

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

Parameters1/5

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

The description provides zero information about parameters. With 0% schema description coverage and 4 parameters (name, application, description, developer), the description doesn't add any meaning beyond what the input schema provides. The schema itself has good parameter descriptions, but the tool description doesn't compensate for the lack of schema description coverage or provide any additional context about parameter usage, constraints, or relationships.

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

Purpose3/5

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

The description states 'Create a new changeset in ServiceNow' which clearly indicates the action (create) and resource (changeset). However, it doesn't differentiate from sibling tools like 'update_changeset' or 'commit_changeset', nor does it specify what a changeset is in this context. The purpose is clear but lacks specificity about what distinguishes this creation operation from other changeset-related 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?

The description provides no guidance on when to use this tool versus alternatives. There are multiple sibling tools related to changesets (create_changeset, update_changeset, commit_changeset, publish_changeset, add_file_to_changeset, get_changeset_details, list_changesets), but the description doesn't indicate when this initial creation step is appropriate versus updating an existing changeset or other operations. No context about prerequisites or workflow sequencing is provided.

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

create_groupD
ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

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

Completeness1/5

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

Tool has no description.

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

Parameters1/5

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

Tool has no description.

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

Purpose1/5

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

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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

create_incidentC

Create a new incident in ServiceNow

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. While 'Create' implies a write/mutation operation, the description doesn't disclose important behavioral traits like required permissions, whether this is an idempotent operation, what happens on failure, or what the typical response looks like. This leaves significant gaps for an agent to understand how to use this tool effectively.

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

Conciseness5/5

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

The description is extremely concise at just 5 words, front-loading the essential information without any wasted words. It follows a clear subject-verb-object structure that immediately communicates the core purpose.

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

Completeness2/5

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

For a mutation tool with 10 parameters, no annotations, no output schema, and 0% schema description coverage, the description is severely inadequate. It doesn't explain what constitutes a valid incident, what fields are required beyond 'short_description', what the tool returns, or any error conditions. The agent would struggle to use this tool correctly without additional context.

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

Parameters1/5

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

The description provides zero information about parameters, while the schema has 0% description coverage (the schema only has titles, not descriptions). With 10 parameters in the schema and no parameter guidance in the description, this creates a significant knowledge gap about what each parameter means and how they should be used together.

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

Purpose4/5

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

The description clearly states the action ('Create') and resource ('new incident in ServiceNow'), making the purpose immediately understandable. However, it doesn't differentiate this tool from other incident-related tools like 'update_incident' or 'resolve_incident' that also exist in the sibling tool list, which prevents a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'update_incident' or 'resolve_incident' from the sibling list. It also doesn't mention prerequisites, dependencies, or any context about when incident creation is appropriate versus other operations.

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

create_knowledge_baseC

Create a new knowledge base in ServiceNow

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. While 'Create' implies a write operation, it doesn't specify required permissions, whether creation is immediate or requires approval, what happens on failure, or any rate limits. For a mutation tool with zero annotation coverage, this leaves significant behavioral questions unanswered.

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

Conciseness5/5

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

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

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

Completeness2/5

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

For a creation tool with 6 parameters, no annotations, and no output schema, the description is severely incomplete. It doesn't explain what a knowledge base is, what parameters are required, what the tool returns, or any behavioral aspects. The agent would struggle to use this tool effectively without additional context.

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

Parameters1/5

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

The description mentions no parameters at all, while the input schema shows 6 parameters (title, description, managers, owner, publish_workflow, retire_workflow) with 0% schema description coverage. The description fails to compensate for this complete lack of parameter documentation, leaving the agent with no guidance on what information is needed to create a knowledge base.

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

Purpose4/5

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

The description clearly states the action ('Create') and resource ('knowledge base in ServiceNow'), making the purpose immediately understandable. However, it doesn't differentiate this from other creation tools like create_article, create_category, or create_change_request, which would require specifying what distinguishes a knowledge base from these other entities.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, appropriate contexts, or how this differs from similar creation tools like create_article or create_category. The agent must infer usage from the tool name alone.

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

create_script_includeC

Create a new script include in ServiceNow

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states this is a creation operation, implying it's a write/mutation tool, but doesn't mention any behavioral traits like permission requirements, whether it's idempotent, what happens on duplicate names, error conditions, or response format. For a mutation tool with zero annotation coverage, this leaves significant gaps in understanding how it behaves.

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

Conciseness5/5

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

The description is a single, efficient sentence with zero wasted words. It's front-loaded with the core action and resource, making it immediately scannable. Every word earns its place by conveying essential information about what the tool does.

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

Completeness2/5

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

Given this is a mutation tool with no annotations, no output schema, and 7 sub-parameters (though nested under one parameter), the description is incomplete. It doesn't explain what a script include is, when to use it, what permissions are needed, what the response contains, or how it differs from similar creation tools. The agent has insufficient context to use this tool effectively 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?

The schema description coverage is 0%, meaning none of the parameters have descriptions in the schema. The tool description doesn't mention any parameters at all, so it adds no semantic information beyond what's in the schema property names. However, with 1 parameter (a nested object with 7 sub-parameters), the baseline is 3 since the schema at least provides property names and types, though without descriptions.

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

Purpose4/5

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

The description clearly states the action ('Create') and resource ('a new script include in ServiceNow'), making the purpose immediately understandable. It distinguishes from sibling tools like 'update_script_include' and 'delete_script_include' by specifying creation rather than modification or deletion. However, it doesn't specify what a script include is or its typical use cases, which prevents a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing admin permissions), when script includes are appropriate versus other ServiceNow scripting methods, or how it relates to siblings like 'create_workflow' or 'create_article'. The agent must infer usage from the tool name alone.

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

create_userD
ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

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

Completeness1/5

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

Tool has no description.

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

Parameters1/5

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

Tool has no description.

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

Purpose1/5

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

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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

create_workflowC

Create a new workflow in ServiceNow

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states this is a creation operation, implying it's a write/mutation tool, but doesn't describe what happens upon creation (e.g., whether the workflow is immediately active, if it requires approval, or what the response looks like). It lacks details on permissions, side effects, or error conditions, leaving significant gaps for a mutation tool.

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

Conciseness5/5

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

The description is a single, direct sentence with zero wasted words. It front-loads the core action and resource, making it immediately scannable. Every word earns its place by conveying the essential purpose without redundancy or fluff.

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

Completeness2/5

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

For a mutation tool with no annotations, 0% schema description coverage, and no output schema, the description is inadequate. It doesn't explain parameters, behavioral traits, or what to expect upon success/failure. While concise, it lacks the necessary context for an agent to use this tool effectively beyond the basic action implied by the name.

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

Parameters1/5

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

The schema description coverage is 0%, meaning none of the parameters have descriptions in the schema. The tool description provides no information about parameters beyond what's implied by the name ('create_workflow'). It doesn't mention required fields like 'name', optional fields like 'active' or 'table', or their purposes, failing to compensate for the complete lack of schema documentation.

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

Purpose4/5

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

The description clearly states the action ('Create') and resource ('a new workflow in ServiceNow'), making the purpose immediately understandable. It distinguishes this from sibling tools like 'update_workflow' or 'list_workflows' by specifying creation rather than modification or retrieval. However, it doesn't explicitly differentiate from other creation tools like 'create_article' or 'create_incident' beyond the resource type.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., required permissions), when not to use it (e.g., for updating existing workflows), or refer to sibling tools like 'update_workflow' for modifications. The agent must infer usage from the tool name alone.

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

deactivate_workflowC

Deactivate a workflow in ServiceNow

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states the action ('deactivate') which implies mutation, but doesn't disclose whether this requires specific permissions, whether the deactivation is reversible, what happens to active instances, or any rate limits. For a mutation tool with zero annotation coverage, this is a significant gap.

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

Conciseness5/5

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

The description is a single, efficient sentence with zero waste. It's appropriately sized for a simple tool and front-loads the essential information without unnecessary elaboration.

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

Completeness2/5

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

For a mutation tool with no annotations, no output schema, and 0% schema description coverage, the description is inadequate. It doesn't explain what 'deactivate' means operationally, what the response looks like, or any behavioral implications. Given the complexity of workflow management and the lack of structured documentation, more context is needed.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. However, the description provides no information about the single parameter 'workflow_id' beyond what's in the schema. The schema already documents this parameter adequately, so the baseline of 3 is appropriate despite the coverage gap.

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

Purpose4/5

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

The description clearly states the action ('deactivate') and target resource ('a workflow in ServiceNow'), providing specific verb+resource information. However, it doesn't distinguish this tool from its sibling 'activate_workflow' beyond the opposite action, missing explicit differentiation about when to use one versus the other.

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

Usage Guidelines2/5

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

No guidance is provided about when to use this tool versus alternatives like 'activate_workflow' or 'update_workflow'. The description states what it does but offers no context about appropriate use cases, prerequisites, or exclusions.

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

delete_script_includeD
ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

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

Completeness1/5

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

Tool has no description.

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

Parameters1/5

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

Tool has no description.

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

Purpose1/5

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

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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

delete_workflow_activityC

Delete an activity from a workflow

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. While 'Delete' implies a destructive operation, it doesn't specify whether deletion is permanent, requires special permissions, affects workflow integrity, or has confirmation steps. This is inadequate for a destructive tool with zero annotation coverage.

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

Conciseness5/5

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

The description is a single, efficient sentence with zero wasted words. It's appropriately sized for a simple operation and front-loads the essential information (delete + target).

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

Completeness2/5

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

For a destructive tool with no annotations, no output schema, and 0% schema coverage, the description is incomplete. It doesn't address behavioral risks, parameter details, or expected outcomes. Given the complexity of workflow management and sibling tools, more context is needed for safe and effective use.

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

Parameters2/5

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

Schema description coverage is 0%, so the schema provides no parameter documentation. The description mentions 'activity' but doesn't explain what an 'activity_id' represents, its format, or how to obtain it. It adds minimal semantic value beyond what's implied by the tool name.

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

Purpose4/5

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

The description clearly states the action ('Delete') and target ('an activity from a workflow'), making the purpose unambiguous. However, it doesn't distinguish this tool from sibling tools like 'delete_script_include' or explain what makes workflow activities different from other deletable entities.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., whether the workflow must be deactivated first), consequences of deletion, or relationships to sibling tools like 'reorder_workflow_activities' or 'get_workflow_activities'.

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

get_articleC

Get a specific knowledge article by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states the action ('Get') but doesn't describe what 'Get' entails—whether it returns full content, metadata, permissions needed, error handling, or if it's a read-only operation. For a retrieval tool with zero annotation coverage, this is a significant gap in transparency.

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

Conciseness5/5

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

The description is a single, efficient sentence with zero wasted words. It's front-loaded with the core action and resource, making it easy to parse quickly. Every word earns its place, achieving optimal conciseness for this simple tool.

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

Completeness2/5

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

Given the tool's simplicity (1 parameter, no output schema, no annotations), the description is incomplete. It lacks details on return values, error cases, permissions, or how it differs from siblings like 'list_articles'. For a basic retrieval tool, more context is needed to fully guide an agent, especially without 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?

Schema description coverage is 0%, so the description must compensate for parameter documentation. It mentions 'by ID', which aligns with the 'article_id' parameter in the schema, adding minimal semantic context. However, it doesn't explain the ID format, source, or constraints, leaving the parameter only partially clarified beyond the schema's basic structure.

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

Purpose4/5

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

The description clearly states the tool's purpose with a specific verb ('Get') and resource ('knowledge article by ID'), making it immediately understandable. However, it doesn't explicitly distinguish this from sibling tools like 'list_articles' or 'get_catalog_item', which would require more specific differentiation to achieve a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'list_articles' for browsing or 'get_catalog_item' for similar retrieval operations, nor does it specify prerequisites such as needing an existing article ID. This leaves the agent without contextual usage direction.

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

get_catalog_itemC

Get a specific service catalog item.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

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 carries full burden for behavioral disclosure. It fails to describe any behavioral traits: it doesn't indicate if this is a read-only operation, what permissions are required, how errors are handled (e.g., invalid item_id), or the format of the returned data. For a tool with zero annotation coverage, this is a significant gap.

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

Conciseness5/5

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

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded with the core action and resource, making it easy to parse quickly. Every word earns its place, adhering to ideal 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 complexity (a read operation with one parameter), lack of annotations, and no output schema, the description is incomplete. It doesn't cover behavioral aspects like safety, error handling, or return format, nor does it clarify parameter semantics. For a tool in this context, more detail is needed to guide effective use.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for undocumented parameters. It adds no information about the 'item_id' parameter beyond what the schema minimally provides (type and requirement). The description doesn't explain what constitutes a valid 'item_id', where to find it, or provide examples, leaving semantics unclear.

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

Purpose4/5

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

The description clearly states the action ('Get') and resource ('a specific service catalog item'), making the purpose understandable. It distinguishes this from sibling tools like 'list_catalog_items' by specifying retrieval of a single item rather than listing multiple items. However, it doesn't explicitly differentiate from other 'get_' tools like 'get_article' or 'get_user', which follow similar patterns.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an item ID), contrast with 'list_catalog_items' for browsing, or specify error conditions. Without such context, the agent must infer usage from the tool name and schema alone.

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

get_change_request_detailsC

Get detailed information about a specific change request

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. While 'Get detailed information' implies a read-only operation, it doesn't disclose important behavioral aspects like authentication requirements, rate limits, error conditions, or what constitutes 'detailed information' versus basic data. For a tool with zero annotation coverage, this leaves significant gaps in understanding how the tool behaves.

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 efficiently states the tool's purpose. It's appropriately sized for a simple retrieval tool and front-loads the essential information without unnecessary elaboration. However, it could be slightly more specific about what 'detailed information' includes.

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 no annotations, no output schema, and minimal parameter documentation, the description is insufficient. It doesn't explain what information is returned, how errors are handled, or any prerequisites for using the tool. Given the context of change management systems where permissions and data sensitivity are important, more contextual information would be valuable for an AI agent.

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

Parameters3/5

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

With 0% schema description coverage (the parameter 'change_id' has no description in the schema), the description doesn't add any parameter-specific information. It mentions 'specific change request' which aligns with the parameter name but provides no additional semantics about what format the ID should be, where to find it, or validation requirements. The baseline is 3 since there's only one parameter, but the description doesn't compensate for the schema's lack of documentation.

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

Purpose3/5

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

The description states the tool 'Get detailed information about a specific change request', which clearly indicates a read operation on change requests. However, it doesn't differentiate from similar sibling tools like 'get_changeset_details' or 'get_workflow_details', leaving ambiguity about what distinguishes this specific retrieval operation from others in the same domain.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'list_change_requests' and 'get_changeset_details', there's no indication whether this tool is for individual records versus lists, or how it relates to other retrieval operations. The agent must infer usage from the tool name alone.

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

get_changeset_detailsC

Get detailed information about a specific changeset

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states it 'gets' information, implying a read-only operation. It lacks behavioral details such as authentication requirements, error handling (e.g., for invalid IDs), rate limits, or what happens if the changeset doesn't exist. This is inadequate for a tool with potential complexity.

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

Conciseness5/5

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

The description is a single, efficient sentence with no wasted words. It's front-loaded with the core purpose, making it easy to scan. Every word earns its place, though it could benefit from additional 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 annotations, no output schema, and low schema coverage, the description is incomplete. It doesn't address return values, error conditions, or operational constraints. For a tool that likely returns structured data about changesets, more context is needed to use it effectively.

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

Parameters2/5

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

Schema description coverage is 0%, and the description adds no parameter information beyond implying a 'specific changeset'. It doesn't explain the 'changeset_id' parameter's format, validation rules, or where to obtain it (e.g., from 'list_changesets'). With 1 undocumented parameter, the description fails to compensate for the schema gap.

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

Purpose3/5

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

The description 'Get detailed information about a specific changeset' clearly states the verb ('Get') and resource ('changeset'), but it's vague about what 'detailed information' entails. It distinguishes from siblings like 'list_changesets' (which lists multiple) but doesn't specify what details are included beyond the basic concept.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a valid changeset ID), contrast with 'list_changesets' for browsing, or specify use cases like reviewing changeset metadata before actions like 'update_changeset' or 'publish_changeset'.

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

get_optimization_recommendationsC

Get optimization recommendations for the service catalog.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'Get optimization recommendations', implying a read-only operation, but does not disclose any behavioral traits such as whether it requires authentication, has rate limits, returns structured data, or involves any side effects. For a tool with zero annotation coverage, this leaves significant gaps in understanding how it behaves.

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

Conciseness5/5

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

The description is a single, efficient sentence: 'Get optimization recommendations for the service catalog.' It is front-loaded with the core action and resource, with no wasted words or unnecessary elaboration. Every part of the sentence contributes directly to the tool's purpose.

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

Completeness2/5

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

Given the complexity of optimization recommendations, lack of annotations, no output schema, and low parameter coverage, the description is incomplete. It does not explain what the recommendations include, how they are returned, or any dependencies. For a tool that likely provides actionable insights, more context is needed to guide effective use.

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

Parameters2/5

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

The input schema has 1 parameter ('params') with 0% description coverage, and the description does not add any meaning beyond the schema. It does not explain what 'category_id' or 'recommendation_types' are, their expected formats, or examples of valid values. With low schema coverage, the description fails to compensate, leaving parameters largely undocumented.

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

Purpose3/5

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

The description states the tool 'Get optimization recommendations for the service catalog', which provides a basic verb ('Get') and resource ('optimization recommendations for the service catalog'). However, it lacks specificity about what these recommendations entail (e.g., cost savings, performance improvements) and does not differentiate from siblings like 'get_catalog_item' or 'list_catalog_items', which might retrieve catalog data without optimization insights. The purpose is clear but vague in scope.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description does not mention any context, prerequisites, or exclusions, such as whether it requires specific permissions or should be used after other operations. With siblings like 'get_catalog_item' or 'list_catalog_items', there is no indication of when optimization recommendations are needed over basic catalog data retrieval.

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

get_script_includeC

Get a specific script include from ServiceNow

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states 'Get' which implies a read operation, but doesn't disclose behavioral traits like authentication needs, rate limits, error handling, or what happens if the script include doesn't exist. For a tool with zero annotation coverage, this is a significant gap.

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

Conciseness5/5

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

The description is a single, efficient sentence with zero waste, front-loading the core purpose. It's appropriately sized for a simple retrieval tool.

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

Completeness2/5

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

Given no annotations, no output schema, and low schema description coverage (0%), the description is incomplete. It lacks details on behavior, parameters, return values, and usage context, making it inadequate for a tool that retrieves data from a complex system like ServiceNow.

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

Parameters2/5

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

Schema description coverage is 0%, with one parameter ('script_include_id') documented only as 'Script include ID or name' in the schema. The description adds no information about parameter semantics, format, examples, or constraints, failing to compensate for the low coverage.

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

Purpose4/5

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

The description clearly states the verb ('Get') and resource ('a specific script include from ServiceNow'), making the purpose understandable. It distinguishes from sibling 'list_script_includes' by specifying 'specific' rather than listing, though it doesn't explicitly name the sibling alternative.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'list_script_includes' or 'create_script_include'. The description implies usage for retrieving a single script include but offers no context about prerequisites, error conditions, or comparisons to other tools.

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

get_userD
ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

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

Completeness1/5

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

Tool has no description.

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

Parameters1/5

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

Tool has no description.

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

Purpose1/5

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

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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

get_workflow_activitiesC

Get activities for a specific workflow

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavioral traits. It only states the action ('Get activities') without any details on permissions required, rate limits, pagination, error handling, or what the output looks like (e.g., list format, fields included). For a read operation with zero annotation coverage, this is a significant gap in transparency, though it doesn't contradict any 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 a single, straightforward sentence: 'Get activities for a specific workflow.' It is front-loaded and wastes no words, making it efficient. However, it could be more informative without sacrificing conciseness, such as by adding a brief note on parameters or usage context.

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

Completeness2/5

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

Given the complexity (a read operation with parameters), lack of annotations, no output schema, and 0% schema description coverage, the description is incomplete. It doesn't cover parameter meanings, behavioral aspects like permissions or output format, or differentiation from sibling tools. This makes it inadequate for the agent to use the tool confidently without additional context.

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

Parameters2/5

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

Schema description coverage is 0%, meaning the input schema provides no descriptions for parameters. The description does not mention any parameters, failing to compensate for this gap. It doesn't explain that 'workflow_id' is required or that 'version' is optional for filtering activities by version. This leaves the agent with minimal guidance on how to use the tool effectively.

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

Purpose3/5

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

The description 'Get activities for a specific workflow' clearly states the verb 'Get' and resource 'activities for a specific workflow', making the purpose understandable. However, it's somewhat vague about what 'activities' entail (e.g., tasks, steps, logs) and doesn't differentiate from siblings like 'get_workflow_details' or 'list_workflow_versions', which might provide related information. This meets the minimum viable standard but lacks specificity.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With siblings such as 'get_workflow_details' (which might include activity information) and 'list_workflow_versions' (which could relate to version-specific activities), there's no indication of context, prerequisites, or exclusions. This leaves the agent to guess based on tool names alone, which is inadequate.

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

get_workflow_detailsC

Get detailed information about a specific workflow

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool is for getting information, implying a read-only operation, but doesn't specify permissions, rate limits, error conditions, or what 'detailed information' includes. For a tool with zero annotation coverage, this is insufficient to inform the agent about 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.

Conciseness4/5

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

The description is a single, clear sentence that efficiently states the tool's purpose without unnecessary words. It's front-loaded with the core action and resource, making it easy to parse. However, it could be more specific to improve utility without sacrificing 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 lack of annotations and output schema, the description is incomplete. It doesn't explain what 'detailed information' includes, how to handle the 'include_versions' parameter, or the response format. For a tool in a complex environment with many siblings, more context is needed to guide effective use.

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 description doesn't explicitly mention parameters, but with only one required parameter ('workflow_id'), the tool's purpose inherently implies its use. Schema description coverage is 0%, but the parameter is straightforward (a workflow ID). The description's focus on 'specific workflow' aligns with the parameter, adding minimal but adequate context beyond the schema.

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

Purpose3/5

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

The description states the tool's purpose as 'Get detailed information about a specific workflow', which is clear but vague. It specifies the verb ('Get') and resource ('workflow'), but doesn't distinguish it from sibling tools like 'get_workflow_activities' or 'list_workflows'. The description is adequate but lacks specificity about what 'detailed information' entails.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'list_workflows' for listing workflows or 'get_workflow_activities' for activity details, nor does it specify prerequisites or contexts for usage. This leaves the agent without direction on tool selection.

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

list_articlesD

List knowledge articles

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

D1.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure but offers minimal insight. It implies a read-only operation by using 'list', but doesn't clarify aspects like pagination behavior, rate limits, authentication needs, or what happens if no articles match filters. The description lacks details on return format, error conditions, or any constraints 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.

Conciseness3/5

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

The description is extremely concise with just three words, which could be seen as efficient but results in under-specification. It's front-loaded but lacks necessary detail, making it more sparse than appropriately brief. While not verbose, it doesn't earn its place by adding value beyond the tool name.

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

Completeness1/5

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

Given the complexity (6 parameters with no schema description coverage, no annotations, no output schema), the description is completely inadequate. It doesn't explain what 'list' returns, how filters work, pagination behavior, or any operational context. For a tool with multiple filtering options and no structured guidance, this description leaves critical gaps for an AI agent.

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

Parameters1/5

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

The description provides no information about parameters, while the schema has 0% description coverage (parameters are documented but schema-level description is absent). With 6 parameters (category, knowledge_base, limit, offset, query, workflow_state) all undocumented in the description, the agent lacks context on how these filters interact or their practical use. The description fails to compensate for the schema gap.

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

Purpose2/5

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

The description 'List knowledge articles' is a tautology that merely restates the tool name 'list_articles' with minimal elaboration. It specifies the resource (knowledge articles) but lacks a clear verb beyond 'list' and doesn't differentiate from sibling tools like 'get_article' or 'list_categories'. The purpose is vague about what 'list' entails operationally.

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

Usage Guidelines1/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'get_article' for retrieving a single article or 'list_categories' for different resources, nor does it specify any prerequisites, contexts, or exclusions for usage. This leaves the agent without direction on tool selection.

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

list_catalog_categoriesC

List service catalog categories.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. 'List' implies a read operation, but the description doesn't mention pagination behavior (though schema hints at it via limit/offset), authentication requirements, rate limits, or what the output looks like. It's minimally informative for a tool with parameters.

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

Conciseness5/5

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

The description is a single, efficient sentence with zero wasted words. It's appropriately sized for a basic listing tool and front-loads the core purpose immediately.

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 moderate complexity (4 parameters for filtering/pagination), lack of annotations, and no output schema, the description is insufficient. It doesn't explain return values, error conditions, or how parameters interact, leaving the agent with inadequate context to use the tool effectively beyond its name.

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

Parameters1/5

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

The description mentions no parameters, while the schema has 4 parameters (active, limit, offset, query) with 0% schema description coverage. This leaves all parameter meanings undocumented in both schema and description, creating significant gaps for the agent to understand filtering, pagination, and search capabilities.

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

Purpose3/5

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

The description 'List service catalog categories' clearly states the verb ('List') and resource ('service catalog categories'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'list_categories' or 'list_catalog_items', leaving ambiguity about scope and relationship to similar listing 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?

The description provides no guidance on when to use this tool versus alternatives. With siblings like 'list_categories', 'list_catalog_items', and 'get_catalog_item', there's no indication of whether this tool is for browsing, filtering, or specific catalog contexts, leaving the agent to guess based on naming alone.

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

list_catalog_itemsB

List service catalog items.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

B3/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. 'List' implies a read-only operation, but the description doesn't clarify if it's safe, if it requires authentication, what the output format is, or if there are rate limits. For a tool with zero annotation coverage, this is a significant gap in behavioral context.

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

Conciseness5/5

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

The description is a single, efficient sentence with no wasted words. It's front-loaded with the core action and resource, making it easy to parse quickly. Every word earns its place by conveying essential information 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?

Given the complexity (a list operation with filtering and pagination), no annotations, and no output schema, the description is minimally complete. It states what the tool does but lacks details on behavior, output, or error handling. The schema provides good parameter documentation, but overall context is limited, making it adequate but with clear gaps for effective tool use.

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 1 parameter ('params') with 0% description coverage, but this parameter is a nested object containing 5 well-documented sub-parameters (active, category, limit, offset, query) with clear descriptions in the schema. Since the description doesn't add any parameter information beyond the schema, and the schema effectively covers all parameters, the baseline is high. However, the description could have added context like default behaviors or usage examples.

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

Purpose3/5

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

The description 'List service catalog items' clearly states the verb (list) and resource (service catalog items), making the basic purpose understandable. However, it doesn't differentiate from sibling tools like 'list_catalog_categories' or 'get_catalog_item', nor does it specify scope (e.g., all items vs. filtered). This makes it adequate but vague regarding exact function.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'get_catalog_item' for single items or 'list_catalog_categories' for categories, nor does it specify prerequisites or contexts for use. This leaves the agent without explicit usage instructions.

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

list_categoriesC

List categories in a knowledge base

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states a read operation ('list'), implying it's non-destructive, but doesn't disclose any behavioral traits like pagination behavior (though the schema suggests it), rate limits, authentication requirements, or what the return format looks like. For a tool with 6 parameters and no annotations, this is inadequate.

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

Conciseness5/5

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

The description is a single, efficient sentence with no wasted words. It's appropriately sized for a basic listing tool, though this conciseness comes at the cost of 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's complexity (6 parameters, no annotations, no output schema), the description is incomplete. It doesn't explain the filtering capabilities implied by parameters, the return structure, or how it integrates with the knowledge base system. For a tool with rich parameters but minimal description, this leaves significant gaps.

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

Parameters1/5

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

The description mentions 'knowledge base' but doesn't explain its role as a filter or identifier. With 0% schema description coverage (the schema has descriptions, but they're not counted in coverage), the description fails to add any meaningful context about the 6 parameters (e.g., 'active', 'parent_category', 'query'), leaving them undocumented beyond the schema.

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

Purpose3/5

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

The description 'List categories in a knowledge base' clearly states the verb ('list') and resource ('categories'), but it's vague about scope and functionality. It doesn't specify whether this lists all categories globally, only top-level categories, or includes nested structures, nor does it differentiate from sibling tools like 'list_catalog_categories' or 'list_knowledge_bases'.

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. There are multiple sibling listing tools (e.g., 'list_catalog_categories', 'list_knowledge_bases'), but no indication of when this specific tool is appropriate, what prerequisites might exist, or any exclusions.

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

list_change_requestsC

List change requests from ServiceNow

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states the basic action. It doesn't disclose whether this is a read-only operation, what permissions might be required, whether results are paginated, what format they return, or any rate limits. For a list operation with 8 parameters, this leaves significant behavioral questions unanswered.

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

Conciseness5/5

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

The description is a single, efficient sentence with no wasted words. It's appropriately sized for what it does convey, though it's under-specified rather than 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?

For a tool with 8 parameters, no annotations, and no output schema, the description is severely incomplete. It doesn't explain what 'list' means operationally, what data is returned, how to filter results, or how this tool fits within the broader ServiceNow context provided by sibling tools.

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

Parameters1/5

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

The description provides zero information about parameters, while the schema has 8 parameters with 0% description coverage. The description doesn't mention any filtering capabilities, pagination options, or query parameters, failing to compensate for the complete lack of schema documentation.

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

Purpose3/5

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

The description 'List change requests from ServiceNow' states the basic action (list) and resource (change requests) but is vague about scope and filtering capabilities. It doesn't distinguish from sibling tools like 'list_incidents' or 'list_changesets' beyond mentioning 'change requests' specifically.

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

Usage Guidelines2/5

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

No guidance is provided about when to use this tool versus alternatives. The description doesn't mention when this tool is appropriate versus using 'get_change_request_details' for single records or how it differs from other list tools like 'list_incidents' or 'list_changesets'.

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

list_changesetsC

List changesets from ServiceNow

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions 'List' which implies a read operation, but doesn't disclose behavioral traits like whether it's paginated, rate-limited, requires authentication, returns partial/full data, or how results are ordered. For a list operation with 7 parameters, this leaves significant gaps.

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

Conciseness5/5

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

The description is extremely concise at just 4 words, with zero wasted language. It's front-loaded with the core action and resource, though this brevity comes at the cost of completeness.

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

Completeness2/5

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

Given the tool's complexity (7 parameters, no output schema, no annotations), the description is severely incomplete. It doesn't explain what a changeset is in this context, how results are returned, what filtering options exist, or any behavioral characteristics. The agent would struggle to use this tool effectively.

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

Parameters1/5

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

Schema description coverage is 0%, meaning none of the 7 parameters are documented in the schema. The description provides no information about any parameters, failing to compensate for the complete lack of schema documentation. This leaves the agent with no guidance on what 'application', 'developer', 'timeframe', etc. mean.

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

Purpose3/5

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

The description 'List changesets from ServiceNow' states the basic action (list) and resource (changesets), but is vague about scope and lacks differentiation from sibling tools like 'list_change_requests' or 'get_changeset_details'. It doesn't specify whether this lists all changesets, filtered ones, or provides pagination 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 is provided on when to use this tool versus alternatives. With siblings like 'get_changeset_details' (for specific changesets) and 'list_change_requests' (for related entities), the description offers no context on appropriate use cases, prerequisites, or distinctions.

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

list_incidentsC

List incidents from ServiceNow

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It only states the action without details on permissions, rate limits, pagination, or output format. 'List incidents' implies a read-only operation, but it doesn't confirm safety or describe what data is returned. This is insufficient for a tool with no annotation support.

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

Conciseness5/5

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

The description is extremely concise with a single sentence, 'List incidents from ServiceNow', which is front-loaded and wastes no words. It efficiently communicates the core purpose without redundancy, earning full marks for brevity and clarity in structure.

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

Completeness2/5

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

Given the complexity (6 sub-parameters, no output schema, no annotations), the description is incomplete. It doesn't explain the tool's behavior, parameters, or output, leaving significant gaps. For a list operation with filtering capabilities, more context is needed to guide effective use, making this inadequate.

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

Parameters1/5

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

The input schema has 0% description coverage, meaning parameters are undocumented in the schema. The description adds no information about parameters, failing to compensate for this gap. With 1 parameter (a nested object with 6 sub-parameters), the description should at least hint at filtering options or usage, but it does not.

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

Purpose3/5

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

The description 'List incidents from ServiceNow' states the basic action (list) and resource (incidents) with the source (ServiceNow), which is clear but minimal. It doesn't distinguish this from other list tools like list_change_requests or list_articles, nor does it specify scope (e.g., all incidents, filtered). This is vague but not tautological, placing it at the minimum viable level.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With sibling tools like list_change_requests and list_articles, there's no indication of how incidents differ or when to prefer this tool. It also lacks prerequisites or context for usage, such as authentication or permissions, leaving the agent without direction.

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

list_knowledge_basesC

List knowledge bases from ServiceNow

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states it's a list operation, implying read-only behavior, but doesn't mention pagination (though parameters suggest it), rate limits, authentication needs, or what the output looks like. For a tool with 4 parameters and no output schema, this leaves significant gaps in understanding how it behaves.

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

Conciseness5/5

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

The description is a single, clear sentence with no wasted words. It's front-loaded with the core purpose and efficiently communicates the essential action and resource. Every word earns its place, making it easy to parse quickly.

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

Completeness2/5

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

Given the tool's complexity (4 parameters, no output schema, no annotations), the description is insufficient. It doesn't explain what 'knowledge bases' are in ServiceNow context, how results are returned, or parameter usage. For a list operation with filtering and pagination parameters, more context is needed to use this tool effectively.

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

Parameters1/5

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

The description provides zero information about parameters, while the schema description coverage is 0% (parameters have titles but no descriptions in the schema). With 4 parameters (active, limit, offset, query) undocumented in both the description and schema, the agent has no semantic understanding of what these parameters do or how to use them effectively.

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

Purpose4/5

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

The description clearly states the action ('List') and resource ('knowledge bases from ServiceNow'), making the purpose immediately understandable. It distinguishes from siblings like 'create_knowledge_base' by indicating retrieval rather than creation. However, it doesn't specify scope (e.g., 'all' or 'filtered') which would make it more precise.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to use 'list_knowledge_bases' versus 'get_article' or 'list_articles', nor does it specify prerequisites or typical use cases. The agent must infer usage from the name alone.

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

list_script_includesC

List script includes from ServiceNow

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description lacks behavioral details. It doesn't disclose if this is a read-only operation, its potential side effects, rate limits, or authentication requirements. The description merely states the action without context, leaving the agent to infer 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, direct sentence with no wasted words. It's front-loaded and efficiently communicates the core purpose without unnecessary elaboration.

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

Completeness2/5

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

Given the tool's complexity (5 parameters, no output schema, no annotations), the description is insufficient. It doesn't explain return values, pagination behavior, or error handling, making it incomplete for effective agent use despite the concise structure.

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

Parameters1/5

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

The description provides no parameter information, while the schema has 5 parameters with 0% description coverage (only titles like 'Active' without context). This leaves semantics unclear, such as what 'active' or 'client_callable' mean in ServiceNow, failing to compensate for the schema gap.

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

Purpose3/5

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

The description states the action ('List') and resource ('script includes from ServiceNow'), which is clear but basic. It doesn't differentiate from siblings like 'get_script_include' (singular retrieval) or 'create_script_include' (creation), leaving the scope ambiguous between listing all vs. filtered subsets.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. For example, it doesn't mention using 'get_script_include' for single-record retrieval or 'create_script_include' for creation, nor does it specify prerequisites like authentication or context.

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

list_usersD
ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

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

Completeness1/5

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

Tool has no description.

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

Parameters1/5

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

Tool has no description.

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

Purpose1/5

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

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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

list_workflowsC

List workflows from ServiceNow

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states the action without behavioral details. It doesn't disclose whether this is a read-only operation, what permissions might be required, if there are rate limits, pagination behavior (implied by limit/offset params but not described), or what the output format looks like. For a list operation with multiple parameters, this is inadequate.

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

Conciseness5/5

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

The description is extremely concise at just 4 words, with no wasted language. It's front-loaded with the core action and resource. While it lacks detail, every word serves a purpose in stating the basic function.

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

Completeness2/5

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

For a list operation with 5 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what a 'workflow' entails in ServiceNow context, how results are structured, or provide any behavioral context. The agent must rely entirely on the parameter names and default values in the schema without semantic guidance.

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

Parameters1/5

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

The description provides zero information about parameters, while the schema has 0% description coverage (the schema's descriptions are in the properties, not the overall schema). With 5 parameters (active, limit, name, offset, query) completely undocumented in the description, and no context about how filtering works (e.g., 'name' uses contains matching), this fails to compensate for the schema coverage gap.

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

Purpose3/5

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

The description 'List workflows from ServiceNow' states the basic action (list) and resource (workflows) but lacks specificity about scope or format. It doesn't differentiate from sibling tools like 'list_workflow_versions' or 'get_workflow_details', leaving the agent to infer differences. The purpose is clear but vague about what exactly is being listed.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'get_workflow_details' for specific workflows or 'list_workflow_versions' for version listings. The description offers no context about prerequisites, typical use cases, or exclusions, leaving the agent to guess based on tool names alone.

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

list_workflow_versionsC

List workflow versions from ServiceNow

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states the basic action without disclosing behavioral traits like pagination, rate limits, permissions required, or response format. It doesn't mention that it's a read-only operation or any constraints, leaving significant gaps for a tool with parameters.

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

Conciseness5/5

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

The description is a single, direct sentence with zero waste, front-loading the core action. It's appropriately sized for such a simple statement, though this conciseness comes at the cost of 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 no annotations, no output schema, and low schema coverage, the description is incomplete. It doesn't cover parameter meanings, behavioral aspects, or usage context, making it inadequate for a tool with parameters and siblings in a complex server environment.

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

Parameters1/5

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

Schema description coverage is 0%, and the description provides no information about parameters beyond what the schema includes. It doesn't explain the meaning of 'workflow_id', 'limit', or 'offset', or how they affect the listing, failing to compensate for the lack of schema descriptions.

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

Purpose3/5

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

The description 'List workflow versions from ServiceNow' clearly states the action (list) and resource (workflow versions), but it's vague about scope and doesn't distinguish from siblings like 'list_workflows' or 'get_workflow_details'. It doesn't specify whether this lists all versions or filtered ones, making it minimally adequate but with gaps.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as 'list_workflows' or 'get_workflow_details'. The description lacks context about prerequisites, filtering, or typical use cases, offering no help in tool selection.

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

move_catalog_itemsC

Move catalog items to a different category.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

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 implies a mutation ('Move'), suggesting potential side effects, but doesn't disclose behavioral traits such as permissions required, whether the move is atomic or reversible, error handling for invalid IDs, or impact on related data (e.g., references to moved items). This leaves significant gaps for a tool that modifies data.

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

Conciseness5/5

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

The description is a single, clear sentence with zero wasted words. It front-loads the core action ('Move catalog items') and specifies the destination efficiently. Every word earns its place, making it easy to parse quickly.

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

Completeness2/5

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

Given the tool's complexity (a mutation with no annotations, 0% schema description coverage, and no output schema), the description is incomplete. It doesn't explain what 'move' entails (e.g., does it remove from the original category?), potential side effects, error conditions, or return values. For a tool that alters data, more behavioral and contextual information is needed.

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

Parameters3/5

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

The description mentions 'catalog items' and 'different category', which aligns with the parameters 'item_ids' and 'target_category_id' in the schema. However, schema description coverage is 0%, so the schema provides no parameter descriptions. The description adds some semantic context (e.g., items are moved to a category) but lacks details on ID formats, constraints, or examples. Baseline 3 is appropriate as it partially compensates for the schema gap.

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

Purpose4/5

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

The description clearly states the action ('Move') and resource ('catalog items'), specifying the destination ('to a different category'). It distinguishes from sibling tools like 'update_catalog_item' or 'create_catalog_category' by focusing on relocation rather than modification or creation. However, it doesn't explicitly differentiate from potential similar tools like 'reorder_workflow_activities' in terms of scope.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites (e.g., existing items/categories), exclusions (e.g., cannot move to non-existent categories), or comparisons with siblings like 'update_catalog_item' for changing other properties. It only states the basic action without context.

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

publish_articleD

Publish a knowledge article

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

D1.7/5.0
Behavior1/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure but fails to do so. It doesn't indicate whether this is a read-only or destructive operation, what permissions are required, potential side effects (e.g., making content publicly visible), or error conditions. The description is too vague to inform the agent about the tool's behavior beyond the basic action implied by the name.

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

Conciseness5/5

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

The description is extremely concise with a single sentence, 'Publish a knowledge article', which is front-loaded and wastes no words. While this brevity contributes to clarity in structure, it results in significant informational gaps as noted in other dimensions.

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

Completeness1/5

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

Given the complexity of a publishing operation (likely a mutation with side effects), no annotations, no output schema, and 0% schema description coverage, the description is severely incomplete. It fails to address critical aspects like what publishing entails, expected outcomes, error handling, or how it differs from related tools, making it inadequate for safe and effective use by an AI agent.

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

Parameters1/5

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

The schema description coverage is 0%, meaning parameter descriptions in the schema are minimal or generic. The tool description adds no information about parameters beyond what's implied by the tool name. It doesn't explain the 'article_id' requirement, the purpose of 'workflow_state' or 'workflow_version', or how these parameters affect the publishing process. This leaves all parameter semantics undocumented.

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

Purpose2/5

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

The description 'Publish a knowledge article' is a tautology that essentially restates the tool name 'publish_article' with minimal elaboration. While it identifies the verb ('publish') and resource ('knowledge article'), it lacks specificity about what publishing entails (e.g., making it live, changing workflow states) and doesn't distinguish it from potential siblings like 'update_article' or 'create_article'.

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

Usage Guidelines1/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing article), exclusions, or relationships with sibling tools like 'create_article' (for creation) or 'update_article' (for modifications before publishing). This leaves the agent with no contextual cues for appropriate tool selection.

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

publish_changesetC

Publish a changeset in ServiceNow

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure but offers minimal insight. It states the action is 'publish' but doesn't clarify if this is a destructive/mutative operation, what permissions are required, what happens post-publish, or any side effects. This leaves critical behavioral traits undocumented.

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

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

Completeness2/5

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

Given the complexity of a 'publish' operation in ServiceNow (likely a mutative action with side effects), no annotations, no output schema, and 0% schema coverage, the description is incomplete. It fails to address behavioral risks, parameter meanings, or expected outcomes, leaving the agent under-informed for safe and effective use.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate but adds no parameter information. It doesn't explain what 'changeset_id' represents, the format of 'publish_notes', or their roles in the publishing process. This leaves both parameters semantically unclear beyond their names.

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

Purpose3/5

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

The description states the action ('Publish') and resource ('a changeset in ServiceNow'), which provides a basic understanding of the tool's function. However, it lacks specificity about what 'publish' entails operationally and doesn't differentiate from sibling tools like 'commit_changeset' or 'update_changeset', leaving ambiguity about when to use each.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites (e.g., whether the changeset must be committed first), exclusions, or relationships to sibling tools like 'commit_changeset', leaving the agent to infer usage context.

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

reject_changeD

Reject a change request

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

D1.8/5.0
Behavior1/5

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

With no annotations provided, the description carries full burden but offers no behavioral disclosure. It doesn't state whether this is a destructive/mutative action, what permissions are required, how it affects the change request lifecycle, or what the expected outcome is. For a tool that likely alters system state, this lack of transparency is critical.

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

Conciseness5/5

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

The description is a single, straightforward sentence with no wasted words. It's front-loaded with the core action and resource. While under-specified, it achieves maximum conciseness for its limited content.

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

Completeness1/5

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

Given the tool's likely complexity (state-changing operation in a change management context), no annotations, no output schema, and poor parameter documentation, the description is severely incomplete. It doesn't explain the tool's role in workflows, error conditions, or system impact, making it inadequate for safe and effective use.

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

Parameters2/5

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

The description mentions no parameters, while the schema has 3 parameters (change_id, rejection_reason, approver_id) with 0% schema description coverage. The schema provides basic titles but no contextual meaning. The description fails to compensate by explaining what these parameters represent or how they're used, leaving semantics largely undocumented.

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

Purpose2/5

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

The description 'Reject a change request' restates the tool name 'reject_change' almost verbatim, making it tautological. It specifies the verb 'reject' and resource 'change request', but lacks any detail about what rejecting entails or how it differs from alternatives like 'approve_change'. This provides minimal value beyond the name itself.

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

Usage Guidelines1/5

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

No guidance is provided on when to use this tool versus alternatives. The sibling list includes 'approve_change', but the description doesn't mention it or explain the decision context (e.g., after review, based on criteria). There's no indication of prerequisites, sequencing, or exclusion conditions, leaving the agent with no usage context.

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

remove_group_membersD
ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

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

Completeness1/5

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

Tool has no description.

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

Parameters1/5

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

Tool has no description.

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

Purpose1/5

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

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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

reorder_workflow_activitiesC

Reorder activities in a workflow

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.5/5.0
Behavior1/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 fails to disclose any behavioral traits: it doesn't mention that this is a mutation operation, potential side effects, permissions required, error conditions, or what happens to existing activity order. This is inadequate for a tool that modifies workflow state.

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

Conciseness5/5

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

The description is a single, efficient sentence with zero wasted words. It's front-loaded and appropriately sized for the tool's apparent complexity, though this conciseness comes at the cost of 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 no annotations, 0% schema description coverage, no output schema, and a mutation tool with siblings, the description is incomplete. It doesn't address behavioral aspects, parameter meanings, or usage context, making it insufficient for safe and effective tool invocation.

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

Parameters3/5

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

Schema description coverage is 0%, but the description adds no parameter information beyond what the tool name implies. The input schema documents two parameters (workflow_id and activity_ids), but the description doesn't explain their semantics, formats, or constraints. Baseline is 3 as the schema provides some structure, but the description doesn't compensate for the coverage gap.

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

Purpose3/5

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

The description 'Reorder activities in a workflow' clearly states the action (reorder) and resource (activities in a workflow), but it's vague about scope and doesn't differentiate from siblings like 'update_workflow_activity' or 'add_workflow_activity'. It lacks specificity about what 'reorder' entails operationally.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. With siblings like 'update_workflow_activity' and 'get_workflow_activities', the description doesn't explain prerequisites, context, or exclusions, leaving the agent to infer usage from the name alone.

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

resolve_incidentC

Resolve an incident in ServiceNow

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states the action without disclosing behavioral traits. It doesn't mention permissions required, whether resolution is reversible, side effects, or typical response formats, which is inadequate for a mutation tool.

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

Conciseness5/5

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

The description is a single, efficient sentence with no wasted words. It's front-loaded and appropriately sized for the tool's name, though it lacks 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's complexity (a mutation with 3 parameters), no annotations, no output schema, and 0% schema coverage, the description is incomplete. It doesn't provide enough context for safe and effective use, missing critical operational details.

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

Parameters1/5

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

Schema description coverage is 0%, meaning parameters are undocumented in the schema. The description adds no information about the three required parameters (incident_id, resolution_code, resolution_notes), failing to compensate for the schema gap.

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

Purpose3/5

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

The description 'Resolve an incident in ServiceNow' clearly states the action (resolve) and resource (incident), but it's vague about what 'resolve' entails compared to siblings like 'update_incident' or 'create_incident'. It doesn't specify if this is a final closure or status change, making it less distinct.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as 'update_incident' or other incident-related tools. The description lacks context about prerequisites, timing, or exclusions, leaving the agent without usage direction.

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

submit_change_for_approvalC

Submit a change request for approval

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It implies a mutation (submitting for approval) but doesn't specify permissions required, whether it triggers notifications, if it's reversible, or what happens upon submission. This is a significant gap for a tool that likely alters workflow states.

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

Conciseness5/5

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

The description is a single, clear sentence with no wasted words. It's front-loaded and efficiently conveys the core action, making it easy to parse quickly.

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

Completeness2/5

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

Given the complexity of a submission tool in a workflow context, no annotations, no output schema, and minimal parameter coverage, the description is inadequate. It doesn't explain the approval process, expected outcomes, or error conditions, leaving the agent with insufficient information for reliable use.

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 description doesn't mention parameters, but with only 1 required parameter (change_id) and 0% schema description coverage, it's minimal. Since there's only one essential parameter, the lack of param details in the description is less critical, but it doesn't add value beyond the schema.

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

Purpose3/5

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

The description 'Submit a change request for approval' clearly states the action (submit) and target (change request for approval), which is adequate. However, it doesn't differentiate from sibling tools like 'approve_change' or 'reject_change', leaving ambiguity about its specific role in the approval workflow.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., if the change request must be in a draft state), exclusions, or how it relates to siblings like 'approve_change' or 'reject_change', leaving the agent to infer usage context.

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

update_articleC

Update an existing knowledge article

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states this is an update operation (implying mutation), but doesn't describe what happens during update: whether partial updates are allowed (vs. full replacement), what permissions are required, if changes are reversible, or what the response looks like. For a mutation tool with zero annotation coverage, this is a significant gap.

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

Conciseness5/5

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

The description is a single, efficient sentence with no wasted words. It's appropriately sized for a basic tool description and front-loads the essential information (update operation on knowledge articles).

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

Completeness2/5

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

For a mutation tool with 1 required parameter (plus 5 optional ones), no annotations, no output schema, and 0% schema description coverage, the description is inadequate. It states what the tool does at a high level but provides no guidance on usage, no parameter information, and minimal behavioral context, leaving significant gaps for an AI agent to use it correctly.

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

Parameters1/5

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

The description provides zero information about parameters beyond what's implied by 'update an existing knowledge article.' With schema description coverage at 0% (no parameter descriptions in the schema), the description fails to compensate. It doesn't mention the required 'article_id' parameter or any of the optional update fields (title, text, category, etc.), leaving all parameters undocumented.

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

Purpose4/5

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

The description 'Update an existing knowledge article' clearly states the verb ('update') and resource ('knowledge article'), making the purpose immediately understandable. It distinguishes this from sibling tools like 'create_article' (creation) and 'get_article' (retrieval), though it doesn't explicitly differentiate from other update tools like 'update_catalog_item' or 'update_workflow'.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing article ID), when not to use it (e.g., for creating new articles), or how it differs from similar update operations on other resources in the sibling list.

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

update_catalog_categoryC

Update an existing service catalog category.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions 'update' which implies mutation, but doesn't specify permissions required, whether changes are reversible, error handling, or rate limits. This is inadequate for a mutation tool with zero annotation coverage.

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

Conciseness5/5

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

The description is a single, clear sentence with no wasted words. It's appropriately sized for a basic tool definition and front-loads the essential action, though this conciseness comes at the cost of 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?

For a mutation tool with no annotations, no output schema, and 7 parameters (through 'params'), the description is insufficient. It doesn't explain what 'update' entails, what fields can be modified, or what the response contains, making it inadequate for safe and effective tool invocation.

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

Parameters1/5

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

The description provides no information about parameters beyond the generic 'update' action. With 0% schema description coverage and 7 parameters (through the 'params' object), the description fails to compensate for the lack of schema documentation, leaving all parameters semantically undefined.

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

Purpose3/5

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

The description states the verb ('Update') and resource ('an existing service catalog category'), which provides a basic understanding of purpose. However, it doesn't differentiate from sibling tools like 'update_catalog_item' or 'update_category', nor does it specify what aspects can be updated beyond the generic term 'update'.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'create_catalog_category' or 'list_catalog_categories'. The description lacks context about prerequisites (e.g., needing an existing category ID) or exclusions, leaving the agent to infer usage from the tool name alone.

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

update_catalog_itemC

Update a service catalog item.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states 'update' implies a mutation, but fails to mention required permissions, whether changes are reversible, rate limits, or what the response looks like. This is inadequate for a mutation tool with zero annotation coverage.

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

Conciseness5/5

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

The description is a single, efficient sentence with no wasted words. It's appropriately sized for a basic tool definition, though this conciseness comes at the cost of 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's complexity (a mutation with 1 required and 7 optional parameters), no annotations, no output schema, and 0% schema description coverage, the description is severely incomplete. It doesn't explain what a 'service catalog item' is, what fields can be updated, or the behavioral implications, making it inadequate for effective use.

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

Parameters1/5

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

The schema description coverage is 0%, meaning all parameters are undocumented in the schema. The description adds no information about parameters beyond the tool name, not even hinting at the required 'item_id' or optional fields like 'active' or 'price'. It fails to compensate for the schema's lack of descriptions.

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

Purpose3/5

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

The description 'Update a service catalog item' clearly states the verb ('update') and resource ('service catalog item'), providing a basic understanding of the tool's function. However, it lacks specificity about what fields can be updated and doesn't differentiate from sibling tools like 'update_catalog_category' or 'update_article', making it somewhat vague.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing catalog item), exclusions, or comparisons to sibling tools like 'create_catalog_category' or 'move_catalog_items', leaving the agent with no usage context.

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

update_change_requestC

Update an existing change request in ServiceNow

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states this is an update operation, implying mutation, but provides no information about permissions required, whether changes are reversible, what happens to unspecified fields, or any rate limits/constraints. This is inadequate for a mutation tool with zero annotation coverage.

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

Conciseness5/5

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

The description is a single, efficient sentence that gets straight to the point with zero wasted words. It's appropriately sized for what it does convey, though it's under-specified rather than 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?

For a mutation tool with 11 parameters, 0% schema description coverage, no annotations, and no output schema, this description is severely incomplete. It doesn't explain what fields can be updated, what the change_id parameter represents, what happens after updating, or any behavioral constraints.

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

Parameters1/5

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

Schema description coverage is 0%, meaning none of the 11 parameters have descriptions in the schema. The tool description provides absolutely no information about parameters beyond what's in the name ('update_change_request'), failing to compensate for the complete lack of schema documentation.

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

Purpose4/5

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

The description clearly states the action ('Update') and resource ('an existing change request in ServiceNow'), making the purpose immediately understandable. However, it doesn't differentiate this tool from other update tools in the sibling list (like update_article, update_incident, etc.), which prevents a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. There's no mention of prerequisites (like needing an existing change request ID), when not to use it, or how it differs from related tools like 'create_change_request' or 'update_changeset' in the sibling list.

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

update_changesetC

Update an existing changeset in ServiceNow

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. While 'Update' implies a mutation operation, the description doesn't specify required permissions, whether changes are reversible, potential side effects, or what happens to unspecified fields. It lacks critical context for a mutation tool with zero annotation coverage.

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

Conciseness5/5

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

The description is a single, efficient sentence with zero wasted words. It's appropriately sized for a basic tool description and front-loads the essential information (action and resource).

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

Completeness2/5

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

For a mutation tool with 5 parameters, 0% schema description coverage, no annotations, and no output schema, the description is severely incomplete. It covers only the basic purpose without addressing parameter meanings, behavioral traits, usage context, or expected outcomes, leaving significant gaps for agent understanding.

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

Parameters1/5

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

The description mentions no parameters at all, while the input schema shows 5 parameters (changeset_id, description, developer, name, state) with 0% schema description coverage. The description fails to compensate for this complete lack of parameter documentation in the schema, leaving all parameters semantically undefined.

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

Purpose4/5

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

The description clearly states the action ('Update') and resource ('an existing changeset in ServiceNow'), providing a specific verb+resource combination. However, it doesn't differentiate this tool from sibling tools like 'update_change_request' or 'update_article', which follow the same pattern for different resources.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing changeset ID), when not to use it, or how it differs from related tools like 'create_changeset' or 'publish_changeset' in the sibling list.

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

update_groupD
ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

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

Completeness1/5

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

Tool has no description.

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

Parameters1/5

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

Tool has no description.

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

Purpose1/5

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

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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

update_incidentC

Update an existing incident in ServiceNow

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states it's an update operation, implying mutation, but doesn't mention required permissions, whether changes are reversible, rate limits, or what the response looks like. This is inadequate for a mutation tool with zero annotation coverage.

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

Conciseness5/5

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

The description is a single, efficient sentence with no wasted words. It's appropriately sized for a basic tool definition, though it could benefit from more detail given the complexity.

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

Completeness2/5

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

For a mutation tool with 14 parameters, 0% schema description coverage, no annotations, and no output schema, the description is severely incomplete. It doesn't explain what fields can be updated, behavioral traits, or return values, leaving significant gaps for an AI agent.

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

Parameters1/5

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

Schema description coverage is 0%, meaning none of the 14 parameters have descriptions in the schema. The tool description adds no information about parameters beyond what's implied by the name 'update_incident', failing to compensate for the complete lack of schema documentation.

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

Purpose3/5

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

The description 'Update an existing incident in ServiceNow' clearly states the verb ('update') and resource ('incident'), but it's vague about what specific aspects can be updated and doesn't differentiate from sibling tools like 'resolve_incident' or 'update_change_request'. It's a basic statement of purpose without specificity.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'resolve_incident' or 'create_incident', nor any prerequisites or context for usage. The description merely states what it does without indicating appropriate scenarios or exclusions.

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

update_script_includeC

Update an existing script include in ServiceNow

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. 'Update' implies a mutation operation, but the description doesn't disclose what permissions are required, whether the update is atomic/reversible, what happens to unspecified fields, error conditions, or rate limits. For a mutation tool with 7 parameters and zero annotation coverage, this is a significant gap in behavioral context.

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

Conciseness5/5

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

The description is maximally concise - a single sentence that states the core purpose without unnecessary words. It's front-loaded with the essential information and contains no redundant phrases. Every word earns its place in this minimal 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 mutation tool with 7 parameters, no annotations, no output schema, and 0% schema description coverage, the description is severely incomplete. It doesn't explain what constitutes a valid script include ID, what fields can be updated, what the update operation returns, or any behavioral constraints. The agent lacks sufficient context to use this tool effectively.

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

Parameters1/5

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

The description provides zero information about parameters beyond what's implied by the tool name. With 0% schema description coverage and 7 parameters (1 required, 6 optional), the description fails to compensate for the complete lack of parameter documentation in the schema. The agent must rely entirely on parameter names and types without semantic guidance.

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

Purpose4/5

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

The description clearly states the action ('Update') and resource ('an existing script include in ServiceNow'), providing specific verb+resource combination. However, it doesn't distinguish this tool from its sibling 'update_article', 'update_catalog_category', etc., which all follow the same 'update [resource]' pattern without indicating what makes script includes unique.

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. There's no mention of prerequisites (e.g., needing an existing script include ID), when to use this versus 'create_script_include' or 'delete_script_include', or what constitutes a valid update scenario. The agent must infer usage from the tool name alone.

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

update_userD
ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

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

Completeness1/5

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

Tool has no description.

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

Parameters1/5

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

Tool has no description.

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

Purpose1/5

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

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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

update_workflowC

Update an existing workflow in ServiceNow

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. While 'Update' implies a mutation operation, the description doesn't mention what permissions are required, whether changes are reversible, what happens to unspecified fields, or what the response looks like. This is a significant gap for a mutation tool with zero annotation coverage.

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

Conciseness5/5

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

The description is a single, efficient sentence that states exactly what the tool does without any wasted words. It's appropriately sized for a basic tool description and gets straight to the point.

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

Completeness2/5

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

For a mutation tool with 6 parameters, no annotations, and no output schema, the description is inadequate. It doesn't explain what fields can be updated, what the workflow_id parameter represents, what happens during the update, or what the tool returns. The description should provide much more context given the tool's complexity and lack of structured documentation.

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

Parameters1/5

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

The description provides zero information about parameters, while the schema has 6 parameters (workflow_id, active, attributes, description, name, table) with 0% schema description coverage. The description doesn't compensate for this complete lack of parameter documentation in the schema, leaving all parameters semantically undefined.

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

Purpose4/5

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

The description clearly states the verb ('Update') and resource ('an existing workflow in ServiceNow'), making the purpose immediately understandable. It doesn't differentiate from sibling tools like 'update_workflow_activity' or 'create_workflow', but it's specific enough to understand what the tool does.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'create_workflow', 'deactivate_workflow', or 'update_workflow_activity'. There's no mention of prerequisites, constraints, or appropriate contexts for using this update operation.

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

update_workflow_activityC

Update an existing activity in a workflow

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states this is an update operation (implying mutation) but doesn't describe what 'update' entails—whether it overwrites or merges fields, if changes are reversible, what permissions are needed, or what happens on success/failure. For a mutation tool with zero annotation coverage, this leaves critical behavioral aspects unspecified.

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

Conciseness5/5

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

The description is a single, direct sentence with zero wasted words. It front-loads the core action and target efficiently, making it easy to parse. Every word earns its place by conveying essential purpose.

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

Completeness2/5

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

Given the complexity (a mutation tool with nested parameters) and the lack of annotations, schema descriptions (0% coverage), and output schema, the description is incomplete. It doesn't explain what can be updated, how updates behave, or what the tool returns, leaving significant gaps for an AI agent to infer correctly.

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

Parameters1/5

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

The description provides no information about parameters, and the schema description coverage is 0% (no descriptions in the schema). With 1 required parameter ('params') that contains nested properties (activity_id, name, description, attributes), the description fails to compensate for the complete lack of schema documentation, leaving all parameter meanings unclear.

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

Purpose4/5

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

The description clearly states the action ('Update') and target ('an existing activity in a workflow'), making the purpose immediately understandable. It distinguishes itself from siblings like 'add_workflow_activity' (create) and 'delete_workflow_activity' (remove), though it doesn't explicitly contrast with 'update_workflow' (which modifies the workflow itself rather than activities).

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing activity ID), constraints (e.g., permissions required), or when to choose this over similar tools like 'reorder_workflow_activities' or 'update_workflow'. The description assumes context without providing it.

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

TDQS

C2.5/5.0
Disambiguation4/5

Most tools have distinct purposes targeting specific ServiceNow resources and actions, with clear boundaries between different domains like incidents, change requests, workflows, and knowledge articles. However, there is some potential overlap in generic CRUD operations across domains (e.g., create/update for different resources follow similar patterns), and a few tools like 'add_group_members' and 'remove_group_members' lack descriptions, which could cause minor confusion.

Naming Consistency5/5

Tool names follow a highly consistent verb_noun pattern throughout, such as 'create_incident', 'list_change_requests', and 'update_workflow'. All tools use snake_case without deviation, and verbs like create, get, list, update, delete, add, remove, approve, and reject are applied predictably across resources, making the naming scheme very readable and systematic.

Tool Count2/5

With 62 tools, the count is excessive for a single server, leading to cognitive overload and potential inefficiency for agents. While ServiceNow is a broad platform, this many tools suggests over-fragmentation of operations that could be consolidated or scoped into multiple focused servers, making it borderline overwhelming for typical agent workflows.

Completeness5/5

The tool set provides comprehensive coverage of ServiceNow domains, including incidents, change requests, workflows, knowledge bases, catalog items, and user/group management. It supports full CRUD operations, lifecycle actions (e.g., approve, reject, publish, resolve), and specialized functions like reordering activities, ensuring agents can handle end-to-end processes without significant gaps.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    Not graded
    maintenance
    Enables Claude to interact with ServiceNow instances through the ServiceNow API. Supports comprehensive ServiceNow operations including incident management, service catalog management, change requests, user management, and workflow automation through natural language.
    82
  • A
    license
    C
    quality
    D
    maintenance
    Enables Claude to interact with ServiceNow instances through comprehensive API integration. Supports incident management, service catalog operations, change requests, knowledge base management, user administration, and agile project management with multiple authentication methods.
    82
    MIT
  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables Claude to interact with ServiceNow instances for incident management, service catalog operations, change requests, knowledge base management, user administration, and agile project workflows through various authentication methods.

Latest Blog Posts

MCP directory API

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

curl -X GET 'https://glama.ai/api/mcp/v1/servers/echelon-ai-labs/servicenow-mcp'

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