ServiceNow MCP Server
Supports loading ServiceNow credentials and configuration from .env files for secure management of connection details.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ServiceNow MCP Servershow me the top 5 open incidents"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Clone this repository:
git clone https://github.com/yourusername/servicenow-mcp.git cd servicenow-mcpCreate a virtual environment and install the package:
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate pip install -e .Create a
.envfile 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.cliOr 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.cliServer-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-passwordBy 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=8000Connecting 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
Environment Variable: Set the
MCP_TOOL_PACKAGEenvironment variable to the name of the desired package.export MCP_TOOL_PACKAGE=catalog_builderPackage 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_PACKAGEis set to a valid package name defined inconfig/tool_packages.yaml, only the tools listed in that package will be loaded.If
MCP_TOOL_PACKAGEis not set or is empty, thefullpackage (containing all tools) is loaded by default.If
MCP_TOOL_PACKAGEis set to an invalid package name, thenonepackage is loaded (no tools exceptlist_tool_packages), and a warning is logged.Setting
MCP_TOOL_PACKAGE=noneexplicitly loads no tools (exceptlist_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.full: Includes all available tools (default).none: Includes no tools (exceptlist_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 exceptnone.
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
create_incident - Create a new incident in ServiceNow
update_incident - Update an existing incident in ServiceNow
add_comment - Add a comment to an incident in ServiceNow
resolve_incident - Resolve an incident in ServiceNow
list_incidents - List incidents from ServiceNow
Service Catalog Tools
list_catalog_items - List service catalog items from ServiceNow
get_catalog_item - Get a specific service catalog item from ServiceNow
list_catalog_categories - List service catalog categories from ServiceNow
create_catalog_category - Create a new service catalog category in ServiceNow
update_catalog_category - Update an existing service catalog category in ServiceNow
move_catalog_items - Move catalog items between categories in ServiceNow
create_catalog_item_variable - Create a new variable (form field) for a catalog item
list_catalog_item_variables - List all variables for a catalog item
update_catalog_item_variable - Update an existing variable for a catalog item
list_catalogs - List service catalogs from ServiceNow
Catalog Optimization Tools
get_optimization_recommendations - Get recommendations for optimizing the service catalog
update_catalog_item - Update a service catalog item
Change Management Tools
create_change_request - Create a new change request in ServiceNow
update_change_request - Update an existing change request
list_change_requests - List change requests with filtering options
get_change_request_details - Get detailed information about a specific change request
add_change_task - Add a task to a change request
submit_change_for_approval - Submit a change request for approval
approve_change - Approve a change request
reject_change - Reject a change request
Workflow Management Tools
list_workflows - List workflows from ServiceNow
get_workflow - Get a specific workflow from ServiceNow
create_workflow - Create a new workflow in ServiceNow
update_workflow - Update an existing workflow in ServiceNow
delete_workflow - Delete a workflow from ServiceNow
Script Include Management Tools
list_script_includes - List script includes from ServiceNow
get_script_include - Get a specific script include from ServiceNow
create_script_include - Create a new script include in ServiceNow
update_script_include - Update an existing script include in ServiceNow
delete_script_include - Delete a script include from ServiceNow
Changeset Management Tools
list_changesets - List changesets from ServiceNow with filtering options
get_changeset_details - Get detailed information about a specific changeset
create_changeset - Create a new changeset in ServiceNow
update_changeset - Update an existing changeset
commit_changeset - Commit a changeset
publish_changeset - Publish a changeset
add_file_to_changeset - Add a file to a changeset
Knowledge Base Management Tools
create_knowledge_base - Create a new knowledge base in ServiceNow
list_knowledge_bases - List knowledge bases with filtering options
create_category - Create a new category in a knowledge base
create_article - Create a new knowledge article in ServiceNow
update_article - Update an existing knowledge article in ServiceNow
publish_article - Publish a knowledge article in ServiceNow
list_articles - List knowledge articles with filtering options
get_article - Get a specific knowledge article by ID
User Management Tools
create_user - Create a new user in ServiceNow
update_user - Update an existing user in ServiceNow
get_user - Get a specific user by ID, username, or email
list_users - List users with filtering options
create_group - Create a new group in ServiceNow
update_group - Update an existing group in ServiceNow
add_group_members - Add members to a group in ServiceNow
remove_group_members - Remove members from a group in ServiceNow
list_groups - List groups with filtering options
UI Policy Tools
create_ui_policy - Creates a ServiceNow UI Policy, typically for a Catalog Item.
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 .envThis 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:
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"
}
}
}
}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'."
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-passwordOAuth 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.doAPI Key Authentication
SERVICENOW_AUTH_TYPE=api_key
SERVICENOW_API_KEY=your-api-keyDevelopment
Documentation
Additional documentation is available in the docs directory:
Catalog Integration - Detailed information about the Service Catalog integration
Catalog Optimization - Detailed plan for catalog optimization features
Change Management - Detailed information about the Change Management tools
Workflow Management - Detailed information about the Workflow Management tools
Changeset Management - Detailed information about the Changeset Management tools
Troubleshooting
Common Errors with Change Management Tools
Error:
argument after ** must be a mapping, not CreateChangeRequestParamsThis error occurs when you pass a
CreateChangeRequestParamsobject instead of a dictionary to thecreate_change_requestfunction.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.
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, bothshort_descriptionandtypeare required.
Error:
Invalid value for parameter 'type'This error occurs when you provide an invalid value for the
typeparameter.Solution: Use one of the valid values: "normal", "standard", or "emergency".
Error:
Cannot find get_headers method in either auth_manager or server_configThis 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_managerandserver_configparameters 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.
Fork the repository
Create your feature branch (
git checkout -b feature/amazing-feature)Commit your changes (
git commit -m 'Add some amazing feature')Push to the branch (
git push origin feature/amazing-feature)Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Available Tools
65 toolsactivate_workflowC
Activate a workflow in ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| workflow_id | Yes | Workflow ID or sys_id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action ('Activate') but doesn't explain what activation entails (e.g., makes workflow available for use, may require permissions, is irreversible, triggers side effects). 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's front-loaded with the core action and resource, making it easy to parse quickly. Every word earns its place without redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 and no output schema, the description is incomplete. It lacks details on behavioral traits (e.g., side effects, permissions), usage context, or expected outcomes. For a tool that modifies system state, more context is needed to guide safe and effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the parameter 'workflow_id' clearly documented in the schema as 'Workflow ID or sys_id'. The description adds no additional parameter information beyond what the schema provides, so it meets the baseline of 3 for high schema coverage without adding value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Activate') and resource ('a workflow in ServiceNow'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like 'deactivate_workflow' or 'create_workflow', but the verb 'activate' is specific enough to convey the core function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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., workflow must exist, be in a deactivated state), contrast with 'deactivate_workflow', or explain the context for activation versus creation/update of workflows.
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
| Name | Required | Description | Default |
|---|---|---|---|
| change_id | Yes | Change request ID or sys_id | |
| short_description | Yes | Short description of the task | |
| description | No | Detailed description of the task | |
| assigned_to | No | User assigned to the task | |
| planned_start_date | No | Planned start date (YYYY-MM-DD HH:MM:SS) | |
| planned_end_date | No | Planned end date (YYYY-MM-DD HH:MM:SS) |
TDQS
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. It states this is an 'add' operation (implying creation/mutation) but doesn't mention permissions required, whether this triggers notifications or workflows, what happens on success/failure, or any rate limits. 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.
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 with zero wasted words. It's appropriately sized for a straightforward tool and front-loads the essential information immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what happens after adding the task (success indicators, return values, error conditions), doesn't mention prerequisites or permissions, and provides no behavioral context. The 100% schema coverage helps with parameters but doesn't compensate for the overall behavioral gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 6 parameters thoroughly. The description adds no parameter information beyond what's in the schema, providing zero additional semantic context about parameters like 'change_id' or 'short_description'. Baseline 3 is appropriate when schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Add a task') and target resource ('to a change request'), providing a specific verb+resource combination. However, it doesn't differentiate from sibling tools like 'add_workflow_activity' or 'add_comment' that also add items to other entities, missing explicit sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With many sibling tools available (like 'add_workflow_activity' or 'add_comment'), there's no indication of when this specific task-adding operation is appropriate versus other addition operations in the system.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_commentC
Add a comment to an incident in ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| incident_id | Yes | Incident ID or sys_id | |
| comment | Yes | Comment to add to the incident | |
| is_work_note | No | Whether the comment is a work note |
TDQS
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 'Add a comment' implies a write/mutation operation, it doesn't disclose important behavioral traits: whether this requires specific permissions, if comments are reversible, rate limits, how the comment appears in ServiceNow (public vs private), or what happens on success/failure. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states the core purpose without unnecessary words. It's appropriately sized for a simple tool and front-loads the essential information. However, it could be slightly more structured by explicitly mentioning it's a write operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is incomplete. It doesn't address what the tool returns (success confirmation, comment ID, error details), doesn't mention authentication/permission requirements, and provides no behavioral context. Given the complexity of adding data to a ServiceNow incident, more completeness is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all parameters well-documented in the schema itself. The description doesn't add any parameter semantics beyond what's already in the schema - it doesn't explain format requirements for incident_id, length limits for comment, or practical implications of is_work_note. Given the high schema coverage, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 distinguish this tool from potential alternatives like 'update_incident' which might also allow comment addition, or explain how it differs from other comment-related operations that might exist in ServiceNow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 incident access), exclusions (e.g., cannot add comments to resolved incidents), or when to choose other tools like 'update_incident' for comment-related tasks. The sibling tool list includes 'create_incident' and 'resolve_incident' but no explicit comment-related alternatives.
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
| Name | Required | Description | Default |
|---|---|---|---|
| changeset_id | Yes | Changeset ID or sys_id | |
| file_path | Yes | Path of the file to add | |
| file_content | Yes | Content of the file |
TDQS
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. It doesn't mention whether this is a mutation (likely), what permissions are required, if files can be overwritten, error conditions, or response format. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, with zero waste or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 3 parameters), lack of annotations, and no output schema, the description is insufficient. It doesn't explain what happens after adding a file, error handling, or integration with sibling tools like 'commit_changeset', leaving the agent with incomplete operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, providing clear documentation for all three parameters. The description adds no additional parameter semantics beyond what's already in the schema, so it meets the baseline of 3 where the schema does the heavy lifting without compensating value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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. However, it doesn't differentiate from sibling tools like 'create_changeset' or 'commit_changeset', which would require explicit comparison to achieve a score of 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 changeset), exclusions, or comparisons to sibling tools like 'create_changeset' or 'update_changeset', leaving the agent without contextual usage instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_group_membersC
Add members to an existing group in ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| group_id | Yes | Group ID or sys_id | |
| members | Yes | List of user sys_ids or usernames to add as members |
TDQS
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 the tool adds members but lacks behavioral details: no mention of required permissions, whether the operation is idempotent (e.g., if members already exist), error conditions (e.g., invalid group_id), or what happens on success (e.g., confirmation message). 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's front-loaded with the core purpose and appropriately sized for a straightforward tool, earning its place without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (mutation operation), lack of annotations, and no output schema, the description is incomplete. It doesn't cover behavioral aspects like permissions, idempotency, or response format, leaving gaps for an AI agent to invoke it correctly. It should do more to compensate for missing structured data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters well-documented in the schema (group_id as 'Group ID or sys_id', members as 'List of user sys_ids or usernames'). The description adds no additional parameter semantics beyond what the schema provides, so baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Add members') and target resource ('to an existing group in ServiceNow'), providing specific verb+resource. It distinguishes from sibling 'create_group' (creation vs. modification) and 'remove_group_members' (add vs. remove), though not explicitly named. It's not a tautology as it elaborates beyond the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives is provided. The description implies usage for adding members to existing groups, but doesn't mention prerequisites (e.g., group must exist), exclusions, or compare with other member-management tools like 'remove_group_members'. Usage is inferred from the purpose alone.
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
| Name | Required | Description | Default |
|---|---|---|---|
| workflow_version_id | Yes | Workflow version ID | |
| name | Yes | Name of the activity | |
| description | No | Description of the activity | |
| activity_type | Yes | Type of activity (e.g., 'approval', 'task', 'notification') | |
| attributes | No | Additional attributes for the activity |
TDQS
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 'Add' operation (implying creation/mutation) but doesn't address permissions needed, whether the activity becomes active immediately, error conditions, or what the response contains. This is inadequate for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
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 its purpose 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.
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, no annotations, and no output schema, the description is insufficient. It doesn't explain what happens after adding (e.g., success response, error handling), doesn't clarify relationships with sibling tools, and provides minimal behavioral context despite the complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 5 parameters thoroughly. The description adds no parameter-specific information beyond what's in the schema, maintaining the baseline score of 3 for adequate but unenhanced parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 target resource ('to a workflow in ServiceNow'), providing a specific verb+resource combination. However, it doesn't differentiate from sibling tools like 'create_workflow' or 'update_workflow_activity', which reduces clarity about its unique scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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' or 'update_workflow_activity'. There's no mention of prerequisites (e.g., needing an existing workflow version) or contextual constraints, leaving usage entirely implicit.
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
| Name | Required | Description | Default |
|---|---|---|---|
| change_id | Yes | Change request ID or sys_id | |
| approver_id | No | ID of the approver | |
| approval_comments | No | Comments for the approval |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. 'Approve' implies a write/mutation operation that likely changes the state of a change request, but the description doesn't disclose behavioral traits such as required permissions, whether this action is reversible, what happens after approval (e.g., workflow progression), or any side effects. It's minimal and lacks critical context 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.
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 and easy to parse, though it could benefit from more detail given the lack of annotations. It's appropriately sized for its current content but under-specified overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (a mutation tool for approving changes) and the lack of annotations and output schema, the description is incomplete. It doesn't explain the outcome (e.g., what state the change request transitions to), error conditions, or dependencies. For a tool that likely alters system state, this is inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with clear parameter descriptions in the schema (change_id, approver_id, approval_comments). The description adds no additional meaning beyond the schema, such as explaining the format of change_id (e.g., numeric vs. alphanumeric) or when approver_id might be omitted. With high schema coverage, the baseline is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 action (approve) and resource (change request), but it's quite generic. It doesn't specify what system or context this applies to (e.g., IT change management), nor does it distinguish from the sibling 'reject_change' tool beyond the opposite action. It avoids tautology 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.
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., that a change request must be in a pending approval state), nor does it reference the sibling 'reject_change' tool for comparison. There's no context about when approval is appropriate versus other actions like updating or commenting.
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
| Name | Required | Description | Default |
|---|---|---|---|
| changeset_id | Yes | Changeset ID or sys_id | |
| commit_message | No | Commit message |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action ('commit') but doesn't explain what committing does (e.g., whether it's a write operation, requires permissions, has side effects like locking the changeset, or affects workflow states). For a mutation tool in a change management context, this lack of detail is a significant gap, 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.
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 by conveying the essential purpose without redundancy or unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a commit operation in ServiceNow (likely a mutation with potential side effects), no annotations, and no output schema, the description is incomplete. It doesn't explain what happens after committing (e.g., success/failure states, return values, or impact on related entities), leaving the agent with insufficient context to use the tool effectively beyond basic invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with clear parameter descriptions in the schema (e.g., 'changeset_id' as 'Changeset ID or sys_id'). The tool description adds no additional parameter semantics beyond what the schema provides, such as format examples or usage context. With high schema coverage, the baseline score of 3 is appropriate as the schema handles the documentation burden adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Commit a changeset in ServiceNow' states the basic action (commit) and resource (changeset) but lacks specificity about what committing entails (e.g., finalizing, applying, or saving changes). It distinguishes from siblings like 'create_changeset' and 'publish_changeset' by focusing on the commit step, but doesn't clarify the exact difference from 'publish_changeset' or the relationship to other change management tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 (e.g., needing an existing changeset). The description implies usage after changeset creation, but this is not explicitly stated, leaving the agent to infer context from sibling tool names alone.
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
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Title of the article | |
| text | Yes | The main body text for the article | |
| short_description | Yes | Short description of the article | |
| knowledge_base | Yes | The knowledge base to create the article in | |
| category | Yes | Category for the article | |
| keywords | No | Keywords for search | |
| article_type | No | The type of article | text |
TDQS
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 information. 'Create' implies a write operation, but it doesn't address permissions needed, whether the article is draft/published by default, what happens on duplicate titles, or what the response contains. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states the core purpose without unnecessary words. It's appropriately sized for a straightforward creation tool and gets directly to the point with zero wasted verbiage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, and no output schema, the description is inadequate. It doesn't explain what happens after creation, whether there are side effects, what permissions are required, or how this interacts with related operations like publishing. The context demands more comprehensive guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage, providing clear documentation for all 7 parameters. The description adds no additional parameter information beyond what's already in the schema, so it meets the baseline of 3 but doesn't enhance understanding of parameter relationships or usage context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 action (create) and resource (knowledge article), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'create_knowledge_base' or 'create_category' that also create resources in the same domain, preventing 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'update_article' and 'publish_article' available, there's no indication of prerequisites, sequencing, or when this creation tool should be selected over other article-related 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.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Title of the category | |
| description | No | Description of the category | |
| parent | No | Parent category sys_id | |
| icon | No | Icon for the category | |
| active | No | Whether the category is active | |
| order | No | Order of the category |
TDQS
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 doesn't mention permissions required, whether it's idempotent, what happens on duplicate titles, or what the response looks like. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states the core purpose without any wasted words. It's appropriately sized for a straightforward creation tool and gets directly to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 insufficient. It doesn't explain what 'service catalog category' means in this context, what happens after creation, or provide any behavioral context that would help an agent use this tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage, so all parameters are documented in the schema itself. The description adds no additional parameter information beyond what's already in the structured data, which meets the baseline expectation when schema coverage is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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. However, it doesn't differentiate from the sibling 'create_category' tool, which appears to serve a similar function but for a different resource type, leaving some ambiguity about when to choose one over the other.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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_category' or 'update_catalog_category'. There's no mention of prerequisites, constraints, or typical use cases, leaving the agent to infer usage from context alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_catalog_item_variableC
Create a new catalog item variable
| Name | Required | Description | Default |
|---|---|---|---|
| catalog_item_id | Yes | The sys_id of the catalog item | |
| name | Yes | The name of the variable (internal name) | |
| type | Yes | The type of variable (e.g., string, integer, boolean, reference) | |
| label | Yes | The display label for the variable | |
| mandatory | No | Whether the variable is required | |
| help_text | No | Help text to display with the variable | |
| default_value | No | Default value for the variable | |
| description | No | Description of the variable | |
| order | No | Display order of the variable | |
| reference_table | No | For reference fields, the table to reference | |
| reference_qualifier | No | For reference fields, the query to filter reference options | |
| max_length | No | Maximum length for string fields | |
| min | No | Minimum value for numeric fields | |
| max | No | Maximum value for numeric fields |
TDQS
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 tool, implying it's a write/mutation operation, but doesn't mention any behavioral traits like required permissions, whether it's idempotent, what happens on duplicate names, or what the response contains. 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.
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 tool name that already conveys the core action, though this conciseness comes at the cost of providing richer context that might be needed given the complexity of the operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 14 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what constitutes a successful creation, what errors might occur, or how this tool relates to other catalog item operations. The agent would need to infer too much from the minimal description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with each parameter well-documented in the schema itself. The tool description adds no additional parameter information beyond what's already in the schema. According to the scoring rules, when schema_description_coverage is high (>80%), the baseline is 3 even with no param info in the description, which applies here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Create a new catalog item variable' clearly states the action (create) and resource (catalog item variable), which is better than a tautology. However, it doesn't differentiate this tool from its sibling 'update_catalog_item_variable' or explain what a 'catalog item variable' is in this specific context, making it somewhat vague for precise agent understanding.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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_catalog_item_variable' or 'list_catalog_item_variables'. It doesn't mention prerequisites (e.g., needing an existing catalog item) or typical use cases, leaving the agent with no contextual usage information beyond the basic purpose.
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
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Title of the category | |
| description | No | Description of the category | |
| knowledge_base | Yes | The knowledge base to create the category in | |
| parent_category | No | Parent category (if creating a subcategory) | |
| active | No | Whether the category is active |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. While 'Create' implies a write/mutation operation, the description doesn't address important behavioral aspects like required permissions, whether this operation is idempotent, what happens on duplicate titles, what the response contains, or any rate limits. 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.
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 unnecessary words. It's appropriately sized and front-loaded with the core functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what the tool returns, what happens on success/failure, or important behavioral constraints. Given the complexity of creating a resource in a knowledge base system, more context about the operation's effects and requirements would be necessary for an agent to use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 5 parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema. The baseline score of 3 reflects adequate coverage through the schema alone, though the description adds no additional semantic context about parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create a new category') and resource ('in a knowledge base'), which is specific and unambiguous. However, it doesn't differentiate from sibling tools like 'create_catalog_category' or 'list_categories', which would require more specificity about what distinguishes this particular category creation operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 that involve categories (create_catalog_category, list_categories, update_catalog_category), but the description doesn't explain when this specific knowledge base category creation tool should be chosen over those alternatives or what prerequisites might exist.
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
| Name | Required | Description | Default |
|---|---|---|---|
| short_description | Yes | Short description of the change request | |
| description | No | Detailed description of the change request | |
| type | Yes | Type of change (normal, standard, emergency) | |
| risk | No | Risk level of the change | |
| impact | No | Impact of the change | |
| category | No | Category of the change | |
| requested_by | No | User who requested the change | |
| assignment_group | No | Group assigned to the change | |
| start_date | No | Planned start date (YYYY-MM-DD HH:MM:SS) | |
| end_date | No | Planned end date (YYYY-MM-DD HH:MM:SS) |
TDQS
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 operation, it doesn't specify required permissions, whether the change is immediately submitted or saved as draft, what happens on success/failure, or any 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states the core purpose without unnecessary words. It's appropriately sized and front-loaded, with every word earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, and no output schema, the description is insufficient. It doesn't explain what happens after creation (e.g., returns a change request ID), error conditions, or system behavior. The agent lacks critical context for proper tool invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with all 10 parameters well-documented in the schema itself. The description adds no parameter information beyond what's in the schema, so it meets the baseline of 3 where the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('change request in ServiceNow'), making the tool's purpose immediately understandable. However, it doesn't differentiate this tool from sibling tools like 'create_incident' or 'create_article' beyond the resource type, 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.
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, dependencies, or typical use cases, leaving the agent to infer usage from context alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_changesetC
Create a new changeset in ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the changeset | |
| description | No | Description of the changeset | |
| application | Yes | Application the changeset belongs to | |
| developer | No | Developer responsible for the changeset |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. While 'Create' implies a write operation, the description doesn't address permissions needed, whether the changeset becomes active immediately, what happens on success/failure, or any side effects. 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.
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 creation tool and immediately 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what a changeset is in ServiceNow context, what happens after creation, or what the tool returns. Given the complexity implied by sibling tools and lack of structured metadata, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters are documented in the schema itself. The description adds no additional parameter information beyond what's already in the structured schema, meeting the baseline expectation but not providing extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 changeset in ServiceNow'), making the purpose immediately understandable. However, it doesn't differentiate this tool from similar siblings like 'create_change_request' or 'create_article' beyond the resource name, 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.
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_change_request' or 'update_changeset', nor does it mention prerequisites or context for creating changesets. With many sibling tools in the ServiceNow domain, this lack of differentiation is a significant gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_groupC
Create a new group in ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the group | |
| description | No | Description of the group | |
| manager | No | Manager of the group (sys_id or username) | |
| parent | No | Parent group (sys_id or name) | |
| type | No | Type of the group | |
| No | Email address for the group | ||
| members | No | List of user sys_ids or usernames to add as members | |
| active | No | Whether the group is active |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It states 'Create' which implies a write operation, but fails to mention important aspects like required permissions, whether creation is irreversible, potential side effects, or what the response contains. This is inadequate for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that communicates the core purpose without unnecessary words. It's appropriately sized for a straightforward creation tool and gets directly to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 8 parameters, no annotations, and no output schema, the description is insufficient. It doesn't address behavioral aspects like permissions, side effects, or response format, leaving significant gaps in understanding how to properly use this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, providing clear documentation for all 8 parameters. The description adds no additional parameter information beyond what's already in the schema, so it meets the baseline expectation but doesn't enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 group in ServiceNow'), making the purpose immediately understandable. However, it doesn't differentiate this tool from sibling tools like 'create_user' or 'create_incident' beyond the resource type, 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.
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_group' or 'list_groups', nor does it mention prerequisites such as required permissions or system context. This leaves the agent without contextual usage information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_incidentC
Create a new incident in ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| short_description | Yes | Short description of the incident | |
| description | No | Detailed description of the incident | |
| caller_id | No | User who reported the incident | |
| category | No | Category of the incident | |
| subcategory | No | Subcategory of the incident | |
| priority | No | Priority of the incident | |
| impact | No | Impact of the incident | |
| urgency | No | Urgency of the incident | |
| assigned_to | No | User assigned to the incident | |
| assignment_group | No | Group assigned to the incident |
TDQS
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, the description doesn't mention permissions required, whether the operation is idempotent, what happens on success/failure, or any rate limits. For a mutation tool with zero annotation coverage, this represents significant gaps 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that communicates the core purpose without any wasted words. It's appropriately sized and front-loaded, with every word earning its place in conveying the essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, and no output schema, the description is inadequate. It doesn't explain what happens after creation (e.g., returns incident ID), doesn't mention required permissions or constraints, and provides no context about the ServiceNow incident lifecycle. The description fails to compensate for the lack of structured metadata.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with all 10 parameters well-documented in the input schema. The description adds no parameter-specific information beyond what's already in the structured schema. According to scoring rules, when schema_description_coverage is high (>80%), the baseline is 3 even with no param info in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 tool's purpose immediately understandable. However, it doesn't differentiate this tool from similar sibling tools like 'create_change_request' or 'create_article' beyond the resource type, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'update_incident', 'resolve_incident', and 'list_incidents' available, there's no indication whether this is for initial incident creation versus modification or when to choose it over other incident-related tools.
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
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Title of the knowledge base | |
| description | No | Description of the knowledge base | |
| owner | No | The specified admin user or group | |
| managers | No | Users who can manage this knowledge base | |
| publish_workflow | No | Publication workflow | Knowledge - Instant Publish |
| retire_workflow | No | Retirement workflow | Knowledge - Instant Retire |
TDQS
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 tool creates something but doesn't mention whether this is a write operation requiring specific permissions, what happens on success/failure, or any side effects. For a creation tool with zero annotation coverage, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states the core function without unnecessary words. It's appropriately sized and front-loaded, with every word earning its place. No structural issues or verbosity detract from clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 insufficient. It doesn't explain what a knowledge base is in ServiceNow context, what happens after creation, or any behavioral expectations. The combination of mutation functionality and missing structured data requires more descriptive context than provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with all parameters well-documented in the schema itself. The description adds no parameter information beyond what the schema provides, which is acceptable given the comprehensive schema documentation. The baseline score of 3 reflects adequate coverage through schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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. It doesn't differentiate from siblings like 'create_article' or 'create_category', but the specificity of 'knowledge base' is sufficient for basic identification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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_article' or 'list_knowledge_bases', nor does it mention prerequisites such as required permissions or system context. It's a bare statement of function without usage context.
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
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the script include | |
| script | Yes | Script content | |
| description | No | Description of the script include | |
| api_name | No | API name of the script include | |
| client_callable | No | Whether the script include is client callable | |
| active | No | Whether the script include is active | |
| access | No | Access level of the script include | package_private |
TDQS
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 'Create' implying a write/mutation operation, but doesn't mention permissions required, side effects, error conditions, or what happens on success/failure. For a creation 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.
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 and front-loaded with the core purpose, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 inadequate. It doesn't explain what a script include is, what happens after creation, error handling, or return values. The context signals indicate significant complexity that the description doesn't address.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 7 parameters thoroughly. The description adds no parameter information beyond what's in the schema, maintaining the baseline score of 3 for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 script include in ServiceNow'), providing a specific verb+resource combination. However, it doesn't differentiate from sibling tools like 'update_script_include' or 'delete_script_include' beyond the basic action, missing explicit sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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_script_include' or 'get_script_include', nor does it mention prerequisites or context for creation. It lacks any usage context, leaving the agent to infer 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.
create_userC
Create a new user in ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| user_name | Yes | Username for the user | |
| first_name | Yes | First name of the user | |
| last_name | Yes | Last name of the user | |
| Yes | Email address of the user | ||
| title | No | Job title of the user | |
| department | No | Department the user belongs to | |
| manager | No | Manager of the user (sys_id or username) | |
| roles | No | Roles to assign to the user | |
| phone | No | Phone number of the user | |
| mobile_phone | No | Mobile phone number of the user | |
| location | No | Location of the user | |
| password | No | Password for the user account | |
| active | No | Whether the user account is active |
TDQS
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, the description doesn't mention important behavioral aspects like whether this requires admin permissions, what happens if a user already exists, whether the user is immediately active, or what the response contains. For a mutation 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states the core purpose without unnecessary words. It's appropriately sized for a tool with a clear name and comprehensive schema documentation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a user creation tool with 13 parameters, no annotations, and no output schema, the description is inadequate. It doesn't explain what happens after creation, what permissions are needed, whether there are constraints on usernames or emails, or what the tool returns. The description should provide more context given the tool's complexity and lack of structured metadata.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 13 parameters thoroughly. The description adds no additional parameter information beyond what's in the schema. According to guidelines, when schema coverage is high (>80%), the baseline is 3 even with no param info in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 user in ServiceNow'), making the purpose immediately understandable. However, it doesn't differentiate this tool from other user-related tools like 'get_user' or 'update_user' beyond the obvious create vs. get/update distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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_user' or 'get_user'. There's no mention of prerequisites, permissions required, or typical use cases for creating users versus other user management operations.
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
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the workflow | |
| description | No | Description of the workflow | |
| table | No | Table the workflow applies to | |
| active | No | Whether the workflow is active | |
| attributes | No | Additional attributes for the workflow |
TDQS
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 operation, the description doesn't mention required permissions, whether the workflow becomes active by default, what happens on success/failure, or any side effects. For a mutation tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states the core purpose without any wasted words. It's appropriately sized for a basic creation tool and gets straight to the point. Every word earns its place in conveying the essential action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what constitutes a successful creation, what gets returned, or any behavioral nuances. Given the complexity of workflow creation in ServiceNow and the lack of structured behavioral information, the description should provide more context about the operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with all parameters well-documented in the input schema. The description adds no additional parameter information beyond what's already in the structured schema. According to scoring rules, when schema coverage is high (>80%), the baseline is 3 even with no param info in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('new workflow in ServiceNow'), making the purpose immediately understandable. It doesn't specifically differentiate from sibling tools like 'update_workflow' or 'activate_workflow', but the creation action is unambiguous. The description avoids tautology by not just repeating the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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_workflow' or 'activate_workflow'. There's no mention of prerequisites, constraints, or typical use cases. The agent must infer usage from the tool name alone, which is insufficient for optimal selection.
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
| Name | Required | Description | Default |
|---|---|---|---|
| workflow_id | Yes | Workflow ID or sys_id |
TDQS
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 is 'deactivate' which implies a state change (likely making the workflow inactive but not deleting it), but doesn't clarify whether this requires special permissions, is reversible, affects dependent processes, or has side effects. The description adds minimal behavioral context beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
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 single-parameter tool and gets straight to the point without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what happens after deactivation, whether the operation is reversible, what permissions are required, or what the expected outcome looks like. Given the complexity of workflow management and the lack of structured safety information, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the single parameter 'workflow_id' well-documented in the schema as 'Workflow ID or sys_id'. The description doesn't add any additional parameter semantics beyond what's already in the structured schema, so it meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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. However, it doesn't explicitly distinguish this tool from its sibling 'activate_workflow' or other workflow-related tools in the context of when to use deactivation versus deletion or other modifications.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'delete_workflow_activity' or 'update_workflow'. The description doesn't mention prerequisites, consequences of deactivation, or when deactivation is appropriate versus other workflow management operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_script_includeC
Delete a script include in ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| script_include_id | Yes | Script include ID or name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. While 'Delete' implies a destructive mutation, the description doesn't specify whether this action is reversible, what permissions are required, or what happens upon success/failure (e.g., error handling). It lacks critical context for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence with zero wasted words. It's front-loaded with the key action and resource, making it highly efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with no annotations and no output schema, the description is inadequate. It doesn't explain the consequences of deletion, success indicators, error conditions, or required permissions. Given the complexity of a delete operation in ServiceNow, 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the parameter 'script_include_id' clearly documented in the schema as 'Script include ID or name'. The description adds no additional parameter information beyond what the schema provides, so it meets the baseline for high schema coverage without adding value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 resource ('a script include in ServiceNow'), making the purpose immediately understandable. However, it doesn't differentiate this tool from other deletion-related tools in the sibling list (like delete_workflow_activity), 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.
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 the script_include_id from get_script_include or list_script_includes), nor does it warn about irreversible deletion or permission requirements. The sibling tools include create_script_include and update_script_include, but no comparison is made.
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
| Name | Required | Description | Default |
|---|---|---|---|
| activity_id | Yes | Activity ID or sys_id |
TDQS
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 if deletion is permanent, requires specific permissions, affects related workflow elements, or has side effects like cascading changes, which is critical for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, with every word earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with no annotations and no output schema, the description is insufficient. It lacks details on behavioral traits (e.g., permanence, permissions), expected outcomes, or error handling, leaving significant gaps in understanding how to use it safely and effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the parameter 'activity_id' well-documented in the schema as 'Activity ID or sys_id'. The description adds no additional meaning beyond what the schema provides, so it meets the baseline of 3 without compensating value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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'), providing a specific verb+resource combination. However, it doesn't differentiate from sibling tools like 'remove_group_members' or 'delete_script_include' by specifying what makes this deletion unique to workflow activities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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), exclusions, or related tools like 'add_workflow_activity' or 'reorder_workflow_activities' for context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_articleB
Get a specific knowledge article by ID
| Name | Required | Description | Default |
|---|---|---|---|
| article_id | Yes | ID of the article to get |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. While 'Get' implies a read operation, the description doesn't mention authentication requirements, rate limits, error conditions, or what happens if the article ID doesn't exist. For a tool with zero annotation coverage, this leaves significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that gets straight to the point with zero wasted words. It's appropriately sized for a simple retrieval tool and front-loads the essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieval tool with one parameter and no output schema, the description is minimally adequate but has clear gaps. It doesn't explain what information is returned, how to handle errors, or how this differs from related tools. With no annotations and no output schema, more context about the return format would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions 'by ID' which aligns with the single 'article_id' parameter in the schema. Since schema description coverage is 100% (the parameter is fully documented in the schema), the description adds minimal value beyond what's already in structured data. This meets the baseline expectation when schema coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 knowledge article by ID'), making the purpose immediately understandable. However, it doesn't distinguish this tool from its sibling 'list_articles' or explain how this differs from other retrieval tools like 'get_catalog_item' or 'get_user'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention that 'list_articles' exists for browsing articles or explain when you need a specific article ID versus listing articles. There's no context about prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_catalog_itemC
Get a specific service catalog item.
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Catalog item ID or sys_id |
TDQS
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 any behavioral traits like authentication requirements, rate limits, error conditions, or what happens if the item doesn't exist. For a retrieval 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.
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 retrieval tool and front-loads the essential information ('Get a specific service catalog item').
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete for a retrieval tool. It doesn't explain what information is returned (item details, metadata, etc.), error handling, or how this differs from similar sibling tools. For a tool in a rich ecosystem with many catalog-related alternatives, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the single parameter 'item_id' clearly documented as 'Catalog item ID or sys_id'. The description doesn't add any meaning beyond what the schema provides (it doesn't explain ID formats, examples, or constraints), so the baseline score of 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get a specific service catalog item' clearly states the verb 'Get' and resource 'service catalog item', making the purpose understandable. However, it doesn't differentiate from sibling tools like 'list_catalog_items' or 'get_article', leaving ambiguity about when to use this specific retrieval tool versus other catalog-related tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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_catalog_items' (for listing multiple items) and 'get_article' (for retrieving knowledge articles), there's no indication whether this tool is for retrieving individual catalog items by ID versus other retrieval methods or contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_change_request_detailsB
Get detailed information about a specific change request
| Name | Required | Description | Default |
|---|---|---|---|
| change_id | Yes | Change request ID or sys_id |
TDQS
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 this is a read operation ('Get'), implying it's likely non-destructive, but doesn't specify permissions, rate limits, error conditions, or the format of returned details. This is a significant gap for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
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 understand at a glance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (single parameter, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose but lacks behavioral details and usage context, which are important for effective tool selection and invocation by an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the single parameter 'change_id' documented as 'Change request ID or sys_id'. The description doesn't add any meaning beyond this, such as examples or constraints, so it meets the baseline for high schema coverage without compensating value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('detailed information about a specific change request'), making the purpose unambiguous. However, it doesn't differentiate from sibling tools like 'get_changeset_details' or 'list_change_requests' which might retrieve similar information, so it doesn't reach the highest score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 like needing a specific change ID, nor does it compare to sibling tools such as 'list_change_requests' for broader queries or 'get_changeset_details' for related data, leaving usage context unclear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_changeset_detailsB
Get detailed information about a specific changeset
| Name | Required | Description | Default |
|---|---|---|---|
| changeset_id | Yes | Changeset ID or sys_id |
TDQS
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 the tool retrieves information (implying read-only), but doesn't disclose behavioral traits like authentication requirements, rate limits, error conditions, or what happens if the changeset_id is invalid. For a read operation 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose ('Get detailed information about a specific changeset'). There is zero wasted text, and every word earns its place by clearly conveying the tool's function without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (single parameter, read operation) and high schema coverage, the description is minimally adequate. However, with no annotations and no output schema, it fails to explain what 'detailed information' includes or any behavioral context. For a tool that likely returns structured data, more completeness would be helpful despite the simple input.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, clearly documenting the single required parameter 'changeset_id' as 'Changeset ID or sys_id'. The description adds no additional meaning beyond this, such as format examples or where to find the ID. With high schema coverage, the baseline score of 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get detailed information') and target resource ('about a specific changeset'), which distinguishes it from sibling tools like 'list_changesets' (which lists multiple) and 'update_changeset' (which modifies). However, it doesn't specify what 'detailed information' includes, leaving some ambiguity about the exact scope of data returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when detailed information about a specific changeset is needed, distinguishing it from 'list_changesets' which provides summaries. However, it lacks explicit guidance on when to use alternatives like 'get_change_request_details' or prerequisites (e.g., needing a valid changeset_id). No exclusions or clear when-not-to-use scenarios are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_script_includeB
Get a specific script include from ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| script_include_id | Yes | Script include ID or name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It states 'Get' which implies a read-only operation, but doesn't clarify permissions required, error handling (e.g., if ID is invalid), response format, or whether it returns metadata or full content. For a tool with no 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.
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. Every part of the sentence earns its place by conveying essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (single parameter, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose but lacks context on usage, behavioral details, or output expectations. For a simple read tool, this might suffice, but it doesn't fully compensate for the absence of annotations or output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the parameter 'script_include_id' clearly documented as 'Script include ID or name'. The description adds no additional parameter semantics beyond what the schema provides, such as format examples or validation rules. With high schema coverage, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 script include from ServiceNow'), making the purpose unambiguous. It distinguishes this as a retrieval operation for individual script includes rather than listing them (like list_script_includes). However, it doesn't explicitly contrast with sibling tools beyond the implied specificity versus listing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a script include ID), contrast with list_script_includes for browsing, or specify use cases like retrieving details after listing. 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.
get_userC
Get a specific user in ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | No | User ID or sys_id | |
| user_name | No | Username of the user | |
| No | Email address of the user |
TDQS
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 'Get' implies a read operation, it doesn't specify whether this requires authentication, has rate limits, returns partial/full user data, or handles errors. For a read 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states the core purpose without unnecessary words. It's appropriately sized for a simple retrieval tool and front-loads the essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (retrieving specific user data), absence of annotations, and lack of output schema, the description is insufficient. It doesn't explain what user data is returned, how multiple parameters interact, or error conditions. For a tool with no structured behavioral or output documentation, the description should provide more complete context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with each parameter clearly documented. The description adds no additional parameter information beyond what's in the schema. According to scoring rules, when schema_description_coverage is high (>80%), the baseline is 3 even with no param info in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 user in ServiceNow'), making the purpose immediately understandable. However, it doesn't differentiate this tool from sibling tools like 'list_users' or 'get_user' (if there were multiple user retrieval tools), 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'list_users' (which appears in the sibling list). There's no mention of prerequisites, constraints, or comparison with other user-related tools, leaving 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_workflow_activitiesC
Get activities for a specific workflow
| Name | Required | Description | Default |
|---|---|---|---|
| workflow_id | Yes | Workflow ID or sys_id | |
| version | No | Specific version to get activities for |
TDQS
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 a read operation ('Get'), implying it's likely non-destructive, but doesn't specify permissions required, rate limits, pagination, error handling, or what the return format includes (e.g., list of activities with details). This leaves significant gaps for a tool that fetches data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste—it directly states the tool's purpose without unnecessary words. It's appropriately sized for a simple retrieval 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (retrieving workflow activities), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what 'activities' are, how results are structured, or behavioral aspects like authentication needs. For a data-fetching tool with no structured support, more context is needed to guide the agent effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters (workflow_id and version) with descriptions. The description adds no additional meaning beyond implying 'activities' are retrieved, which is redundant with the tool's purpose. Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 action (get) and resource (activities for a workflow), but it's vague about what 'activities' entail (e.g., tasks, steps, logs) and doesn't distinguish it from sibling tools like 'get_workflow_details' or 'list_workflows', which might overlap in scope. It avoids tautology by not just restating the name, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a valid workflow ID), exclusions, or compare it to siblings like 'list_workflow_versions' or 'get_workflow_details', 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.
get_workflow_detailsC
Get detailed information about a specific workflow
| Name | Required | Description | Default |
|---|---|---|---|
| workflow_id | Yes | Workflow ID or sys_id | |
| include_versions | No | Include workflow versions |
TDQS
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 detailed information' but doesn't disclose what 'detailed' includes, whether it's a read-only operation, permission requirements, error conditions, or response format. For a tool with no 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.
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 redundancy. It's appropriately sized for a simple retrieval tool and front-loads the core action. Every word earns its place with zero waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete. It doesn't explain what 'detailed information' includes, the response structure, or any behavioral traits like idempotency or error handling. For a tool in a context-rich server with many siblings, more guidance is needed to ensure correct usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters (workflow_id, include_versions) thoroughly. The description adds no parameter-specific context beyond what's in the schema, such as explaining what 'detailed information' comprises or how include_versions affects output. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('detailed information about a specific workflow'), making the purpose unambiguous. It distinguishes this from list-style tools like 'list_workflows' by focusing on a single workflow. However, it doesn't explicitly differentiate from 'get_workflow_activities' which also retrieves workflow-related details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 browsing) or 'get_workflow_activities' (for activity-level details), nor does it specify prerequisites like needing a workflow ID. Usage context is implied but not articulated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_articlesC
List knowledge articles
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of articles to return | |
| offset | No | Offset for pagination | |
| knowledge_base | No | Filter by knowledge base | |
| category | No | Filter by category | |
| query | No | Search query for articles | |
| workflow_state | No | Filter by workflow state |
TDQS
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 knowledge articles' implies a read-only operation, but it doesn't specify whether this requires permissions, how results are ordered, if there are rate limits, or what the output format looks like (e.g., list of objects with fields). For a tool with 6 parameters and no annotations, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with just three words ('List knowledge articles'), making it front-loaded and efficient. There is no wasted language or unnecessary elaboration, which aligns well with the tool's simple purpose, though this conciseness comes at the cost of detail in other dimensions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (6 parameters, no annotations, no output schema), the description is incomplete. It doesn't explain the return values (e.g., what fields are included in listed articles), behavioral aspects like pagination or filtering logic, or how it differs from siblings. For a list tool with multiple filtering options, 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with each parameter clearly documented (e.g., 'limit' for maximum articles, 'query' for search). The description adds no additional parameter semantics beyond what the schema provides, but since the schema coverage is high, the baseline score of 3 is appropriate as the schema adequately handles parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List knowledge articles' clearly states the verb ('List') and resource ('knowledge articles'), making the basic purpose understandable. However, it lacks specificity about what aspects of articles are listed (e.g., titles, metadata) and doesn't distinguish itself from sibling tools like 'get_article' or 'list_knowledge_bases', which could cause confusion about scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 choose 'list_articles' over 'get_article' (for single article details) or 'list_knowledge_bases' (for listing knowledge bases instead of articles), nor does it specify prerequisites like authentication or context. This leaves the agent without usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_catalog_categoriesC
List service catalog categories.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of categories to return | |
| offset | No | Offset for pagination | |
| query | No | Search query for categories | |
| active | No | Whether to only return active categories |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. The description only states what the tool does ('list') without mentioning pagination behavior, authentication requirements, rate limits, or what format the results will be in. For a listing 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.
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 simple listing operation and gets straight to the point without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is insufficiently complete. A listing tool should ideally mention something about the return format, pagination behavior, or authentication context. The description provides only the basic purpose without addressing these contextual elements that would help an agent use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all 4 parameters well-documented in the schema itself. The description adds no additional parameter information beyond what's already in the structured schema fields. This meets the baseline expectation when schema coverage is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 what specifically distinguishes this listing operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 sibling tools like 'list_categories' and 'list_catalog_items' present, the description offers no context about when this specific catalog category listing is appropriate versus other listing operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_catalog_itemsC
List service catalog items.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of catalog items to return | |
| offset | No | Offset for pagination | |
| category | No | Filter by category | |
| query | No | Search query for catalog items | |
| active | No | Whether to only return active catalog items |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral insight. It doesn't disclose whether this is a read-only operation, if it requires authentication, how results are structured, or any rate limits. 'List' implies a read operation, but without annotations, more explicit safety/behavior details would help.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with a single sentence, 'List service catalog items.', which is front-loaded and wastes no words. For a simple list operation, this brevity is appropriate and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete for a tool with 5 parameters. It doesn't explain what the output looks like (e.g., list format, fields returned), which is critical for a list operation. The schema covers inputs well, but the overall context lacks output and behavioral details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are well-documented in the schema itself. The description adds no additional parameter semantics beyond implying a listing action. This meets the baseline of 3 since the schema does the heavy lifting, but the description doesn't compensate with extra context like default behaviors or parameter interactions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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'), but it's vague about scope and doesn't differentiate from sibling tools like 'list_catalog_categories' or 'get_catalog_item'. It lacks specificity about what exactly gets listed (e.g., all items, filtered items, with what details).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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_catalog_item' (for single item) or 'list_catalog_categories' (for categories). The description doesn't mention any prerequisites, context, or exclusions for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_catalog_item_variablesC
List catalog item variables
| Name | Required | Description | Default |
|---|---|---|---|
| catalog_item_id | Yes | The sys_id of the catalog item | |
| include_details | No | Whether to include detailed information about each variable | |
| limit | No | Maximum number of variables to return | |
| offset | No | Offset for pagination |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure but offers none. It doesn't indicate whether this is a read-only operation, whether it requires specific permissions, how results are structured, if there are rate limits, or what happens when no variables exist. The single phrase provides zero behavioral context beyond the basic action implied by 'List'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is maximally concise at just three words with zero wasted text. It's front-loaded with the core action and resource, though this conciseness comes at the cost of completeness. Every word directly contributes to stating the tool's purpose, even if minimally.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters, no annotations, and no output schema, the description is severely inadequate. It doesn't explain what 'catalog item variables' are, what format the listing returns, or how this tool fits into the broader context of catalog management alongside sibling tools. The minimal description leaves too many contextual gaps for effective agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, providing clear documentation for all 4 parameters. The description adds no parameter information beyond what's already in the schema, so it meets the baseline of 3 for adequate schema coverage without adding value. The description doesn't explain relationships between parameters or provide usage examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List catalog item variables' is a tautology that essentially restates the tool name without adding meaningful context. While it correctly identifies the verb ('List') and resource ('catalog item variables'), it provides no additional specificity about scope, format, or what distinguishes this from similar listing tools like 'list_catalog_items' or 'list_catalog_categories'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides absolutely no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, appropriate contexts, or relationships to sibling tools like 'create_catalog_item_variable' or 'update_catalog_item_variable'. An agent would have to infer usage purely from the tool name and parameters.
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
| Name | Required | Description | Default |
|---|---|---|---|
| knowledge_base | No | Filter by knowledge base ID | |
| parent_category | No | Filter by parent category ID | |
| limit | No | Maximum number of categories to return | |
| offset | No | Offset for pagination | |
| active | No | Filter by active status | |
| query | No | Search query for categories |
TDQS
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. The description only states what the tool does ('List categories') without mentioning any behavioral traits such as whether it's read-only, if it requires authentication, rate limits, pagination behavior (implied by parameters but not described), or what the output looks like. This leaves significant gaps for an agent to understand how to use it effectively.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence ('List categories in a knowledge base') that is front-loaded and wastes no words. It directly communicates the core 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of 6 parameters, no annotations, and no output schema, the description is insufficiently complete. It doesn't explain the tool's behavior, output format, or usage context, leaving the agent to rely solely on the schema for details. For a listing tool with multiple filtering options, more contextual information would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with all 6 parameters well-documented in the input schema (e.g., 'knowledge_base' for filtering by ID, 'limit' for maximum returns). The description adds no additional parameter information beyond what's in the schema, so it meets the baseline of 3 where the schema does the heavy lifting without compensating for any gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('List') and resource ('categories in a knowledge base'), making the purpose immediately understandable. However, it doesn't distinguish this tool from sibling tools like 'list_catalog_categories' or 'list_articles', which also list different types of entities, so it doesn't fully differentiate from alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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_catalog_categories' and 'list_articles' available, there's no indication of whether this tool is for knowledge base categories specifically or how it differs from other listing tools. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_change_requestsC
List change requests from ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of records to return | |
| offset | No | Offset to start from | |
| state | No | Filter by state | |
| type | No | Filter by type (normal, standard, emergency) | |
| category | No | Filter by category | |
| assignment_group | No | Filter by assignment group | |
| timeframe | No | Filter by timeframe (upcoming, in-progress, completed) | |
| query | No | Additional query string |
TDQS
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 ('list') without behavioral details. It doesn't disclose if this is read-only (implied but not explicit), how results are returned (e.g., pagination, format), rate limits, authentication needs, or error handling. For a tool with 8 parameters and no annotations, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste—'List change requests from ServiceNow' is front-loaded and to the point. Every word earns its place by specifying action, resource, and source without redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 incomplete. It lacks details on return values (e.g., structure, fields), behavioral traits (e.g., pagination, sorting), and differentiation from siblings. Given the complexity and missing structured data, the description should provide more context to guide effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter well-documented in the schema (e.g., 'limit' as 'Maximum number of records to return'). The description adds no parameter-specific information beyond what's in the schema, so it meets the baseline of 3 but doesn't compensate with additional context like examples or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List change requests from ServiceNow' clearly states the verb ('list') and resource ('change requests'), but it's vague about scope and doesn't distinguish from sibling tools like 'list_changesets' or 'get_change_request_details'. It specifies the source (ServiceNow) but lacks detail on what 'list' entails (e.g., filtered vs. all).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'get_change_request_details' for single records or 'list_changesets' for related entities. The description implies a listing function but doesn't specify use cases (e.g., monitoring, reporting) or prerequisites, leaving the agent to infer usage from context alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_changesetsC
List changesets from ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of records to return | |
| offset | No | Offset to start from | |
| state | No | Filter by state | |
| application | No | Filter by application | |
| developer | No | Filter by developer | |
| timeframe | No | Filter by timeframe (recent, last_week, last_month) | |
| query | No | Additional query string |
TDQS
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. 'List changesets' implies a read-only operation, but the description doesn't mention authentication requirements, rate limits, pagination behavior (despite limit/offset parameters), or what format the results will be in. For a 7-parameter tool with no annotation coverage, this is insufficient behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
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 purpose and contains no unnecessary elaboration, making it efficient for an AI agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter tool with no annotations and no output schema, the description is inadequate. It doesn't explain what a changeset is in ServiceNow context, what data is returned, how results are structured, or any behavioral constraints. The combination of complex parameters and lack of structured metadata requires more descriptive context than provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents all 7 parameters with clear descriptions. The description adds no additional parameter information beyond what's in the schema, which meets the baseline expectation when schema coverage is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool 'List changesets from ServiceNow', which clearly indicates a read/list operation on changesets. However, it lacks specificity about what a changeset is in ServiceNow context and doesn't distinguish this tool from other list operations like list_change_requests or list_workflows among the many sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 numerous sibling tools including get_changeset_details and list_change_requests, there's no indication of when list_changesets is appropriate versus those other tools for accessing change-related data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_groupsB
List groups from ServiceNow with optional filtering
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of groups to return | |
| offset | No | Offset for pagination | |
| active | No | Filter by active status | |
| query | No | Case-insensitive search term that matches against group name or description fields. Uses ServiceNow's LIKE operator for partial matching. | |
| type | No | Filter by group type |
TDQS
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 mentions 'optional filtering' but doesn't describe pagination behavior (implied by limit/offset), rate limits, authentication needs, or what the output looks like. For a list operation with 5 parameters, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose. There's no wasted language or redundancy, making it easy to parse while conveying essential information about the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (5 parameters, no output schema, no annotations), the description is minimally adequate. It states what the tool does but lacks behavioral details, usage context, and output information that would help an agent use it effectively. The high schema coverage partially compensates for description gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, providing good documentation for all parameters. The description adds minimal value beyond the schema by mentioning 'optional filtering' but doesn't explain parameter interactions or provide additional context. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('List') and resource ('groups from ServiceNow') with scope ('with optional filtering'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'list_users' or 'list_workflows' beyond the resource type, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With many sibling list tools available (e.g., list_users, list_workflows), there's no indication of context-specific usage, prerequisites, or comparisons. This leaves the agent without direction for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_incidentsC
List incidents from ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of incidents to return | |
| offset | No | Offset for pagination | |
| state | No | Filter by incident state | |
| assigned_to | No | Filter by assigned user | |
| category | No | Filter by category | |
| query | No | Search query for incidents |
TDQS
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 'List incidents from ServiceNow,' which implies a read-only operation, but does not disclose critical traits like whether it requires authentication, has rate limits, returns paginated results, or what the output format is. This leaves significant gaps in understanding the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste: 'List incidents from ServiceNow.' It is front-loaded and appropriately sized for its purpose, avoiding unnecessary elaboration. Every word earns its place by conveying the core action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (6 parameters, no output schema, no annotations), the description is incomplete. It does not explain the return values, error handling, or behavioral context needed for effective use. While the schema covers parameters well, the lack of output information and behavioral details makes it inadequate for a tool with multiple filtering options.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with clear documentation for all 6 parameters (e.g., 'limit' for maximum returns, 'offset' for pagination). The description adds no additional meaning beyond the schema, as it does not explain parameter interactions, default behaviors, or usage examples. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List incidents from ServiceNow' states the verb ('List') and resource ('incidents from ServiceNow'), which clarifies the basic purpose. However, it lacks specificity about scope (e.g., all incidents vs. filtered) and does not distinguish it from sibling tools like 'list_change_requests' or 'list_articles' beyond the resource type. This makes it vague but not tautological.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 any context, prerequisites, or exclusions, such as how it differs from 'create_incident' or 'update_incident' for incident management. Without such information, the agent has no explicit or implied usage cues.
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
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of knowledge bases to return | |
| offset | No | Offset for pagination | |
| active | No | Filter by active status | |
| query | No | Search query for knowledge bases |
TDQS
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 it's a list operation but doesn't disclose behavioral traits like pagination behavior (implied by offset/limit parameters), rate limits, authentication requirements, or what format the results will be in. This leaves significant gaps for a tool with 4 parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
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 and front-loaded with the core purpose, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list tool with 4 parameters and no annotations or output schema, the description is insufficient. It doesn't explain the return format, pagination behavior, or any constraints beyond the basic purpose. With rich parameter schema but no behavioral context, this creates significant gaps for agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, providing good documentation for all 4 parameters. The description adds no additional parameter information beyond what's in the schema, so it meets the baseline of 3 where the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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'), providing a specific verb+resource combination. However, it doesn't differentiate from sibling tools like 'list_articles' or 'list_categories' beyond the resource type, which keeps it from a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With many sibling list tools available (e.g., list_articles, list_categories), there's no indication of context, prerequisites, or comparisons to help the agent choose appropriately.
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
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of script includes to return | |
| offset | No | Offset for pagination | |
| active | No | Filter by active status | |
| client_callable | No | Filter by client callable status | |
| query | No | Search query for script includes |
TDQS
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 'lists' without disclosing behavioral traits. It doesn't mention whether this is a read-only operation, if it requires specific permissions, how results are ordered, what format they return, or any rate limits. For a listing tool with 5 parameters, 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.
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 listing tool and front-loads the core 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.
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 incomplete. It doesn't explain what script includes are, what fields are returned, how results are structured, or provide any context about ServiceNow-specific behavior. For a listing tool with filtering capabilities, more guidance is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all 5 parameters (limit, offset, active, client_callable, query). The description adds no parameter information beyond what's already in the schema, meeting the baseline of 3 when schema does the heavy lifting but not compensating with additional context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List script includes from ServiceNow' clearly states the verb ('List') and resource ('script includes'), but it's vague about scope and doesn't differentiate from sibling tools like 'get_script_include' (singular retrieval) or 'create_script_include'. It provides basic purpose but lacks specificity about what 'list' entails compared to alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus alternatives. With siblings like 'get_script_include' (for retrieving a specific script include) and 'create_script_include' (for creating new ones), there's no indication that this tool is for browsing/filtering multiple records rather than single retrieval or creation operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tool_packagesB
Lists available tool packages and the currently loaded one.
| Name | Required | Description | Default |
|---|---|---|---|
| random_string | Yes | Dummy parameter for no-parameter tools |
TDQS
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 lists packages but doesn't add context like whether it's a read-only operation, if it requires authentication, how results are formatted, or any rate limits. For a tool with no annotations, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded and wastes no space, making it easy to parse quickly. Every part of the sentence earns its place by conveying essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (a list operation with one dummy parameter) and no output schema, the description is minimally adequate but incomplete. It lacks details on behavioral traits (e.g., read-only nature, result format) that would be helpful for an agent, especially with no annotations. It meets basic needs but leaves room for improvement in context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the parameter 'random_string' documented as a dummy for no-parameter tools. The description doesn't add any meaning beyond this, as it doesn't mention parameters at all. Given the high schema coverage, a baseline score of 3 is appropriate, as the schema handles the parameter documentation adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('Lists') and resource ('available tool packages and the currently loaded one'), making it easy to understand what it does. However, it doesn't explicitly differentiate from sibling tools like 'list_workflows' or 'list_script_includes', which also list resources, so it misses full sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 context, prerequisites, or exclusions, leaving the agent to infer usage based on the name alone. This lack of explicit guidelines reduces its effectiveness in tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_usersB
List users in ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of users to return | |
| offset | No | Offset for pagination | |
| active | No | Filter by active status | |
| department | No | Filter by department | |
| query | No | Case-insensitive search term that matches against name, username, or email fields. Uses ServiceNow's LIKE operator for partial matching. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral context. It doesn't disclose whether this is a read-only operation (implied by 'List' but not explicit), pagination behavior (though schema hints at it), rate limits, authentication requirements, or what fields are returned. The description adds almost no value 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.
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 list operation and gets straight to the point without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list operation with rich schema coverage (100%) but no annotations or output schema, the description is minimally adequate. It states what the tool does but lacks behavioral context and usage guidance that would be helpful given the tool's purpose and sibling tools available.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all 5 parameters. The description adds no additional parameter semantics beyond what's in the schema, which meets the baseline of 3 when schema coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('List') and resource ('users in ServiceNow'), making the purpose unambiguous. However, it doesn't differentiate this from sibling tools like 'get_user' or 'list_groups', which would require more specificity to earn a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get_user' (for single user details) or 'list_groups' (for listing groups). There's no mention of prerequisites, typical use cases, or exclusion criteria.
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
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of records to return | |
| offset | No | Offset to start from | |
| active | No | Filter by active status | |
| name | No | Filter by name (contains) | |
| query | No | Additional query string |
TDQS
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. 'List workflows' implies a read-only operation, but the description doesn't specify whether this requires authentication, what permissions are needed, whether results are paginated (beyond what the schema indicates), what format the output takes, or any rate limits. For a tool with 5 parameters and no 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at just 4 words ('List workflows from ServiceNow'). It's front-loaded with the core action and resource, with zero wasted words. Every element earns its place by establishing the basic purpose without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 5 parameters, no annotations, and no output schema, the description is insufficiently complete. While concise, it doesn't address key contextual questions: what information is returned about each workflow, how results are ordered, whether this lists all workflows or just certain types, or how it relates to other workflow tools. The absence of output schema means the description should ideally provide some indication of return format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with each parameter clearly documented in the input schema. The description adds no additional parameter information beyond what's already in the structured schema. According to the scoring rules, when schema_description_coverage is high (>80%), the baseline is 3 even with no param info in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('List') and resource ('workflows from ServiceNow'), making the purpose immediately understandable. It distinguishes this as a read operation rather than a create/update/delete workflow tool. However, it doesn't explicitly differentiate from sibling tools like 'list_workflow_versions' or 'get_workflow_details' which also retrieve workflow information.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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_workflow_versions', 'get_workflow_details', and 'get_workflow_activities' available, there's no indication whether this tool provides a comprehensive list, summary information, or how it differs from other listing/retrieval tools in the workflow domain.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_workflow_versionsB
List workflow versions from ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| workflow_id | Yes | Workflow ID or sys_id | |
| limit | No | Maximum number of records to return | |
| offset | No | Offset to start from |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral context. It doesn't mention that this is a read-only operation (implied by 'list'), doesn't discuss pagination behavior (though parameters suggest it), doesn't describe response format, and doesn't mention authentication or rate limits. The description adds almost no value beyond what's obvious from the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
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 list operation and front-loads the essential information. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with good schema coverage but no annotations or output schema, the description is minimally adequate. It states what the tool does but lacks behavioral context, usage guidance, and output information. The agent can infer basic usage but would need to rely heavily on the schema and trial-and-error for proper invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all three parameters. The description adds no parameter information beyond what's already in the schema - it doesn't clarify what a 'workflow version' entails or provide context about the ID format. Baseline 3 is appropriate when the schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('workflow versions from ServiceNow'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'list_workflows' or 'get_workflow_details' - the agent must infer this lists versions of a specific workflow rather than workflows themselves.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 agent must deduce from the name and parameters that this is for listing versions of a specific workflow, but there's no explicit comparison to 'list_workflows' (which lists workflows themselves) or 'get_workflow_details' (which might get details of a specific workflow version).
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.
| Name | Required | Description | Default |
|---|---|---|---|
| item_ids | Yes | List of catalog item IDs to move | |
| target_category_id | Yes | Target category ID to move items to |
TDQS
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 the tool performs a 'move' operation, implying mutation, but doesn't disclose behavioral traits such as permissions required, whether the move is atomic or reversible, error handling for invalid IDs, or effects on related data (e.g., item references). 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core action ('Move catalog items') and destination ('to a different category'). There is no wasted verbiage or redundancy, making it easy to parse quickly. Every word earns its place by directly contributing to understanding the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity as a mutation operation with no annotations and no output schema, the description is incomplete. It lacks details on behavioral aspects (e.g., success/failure responses, side effects), usage context, and output expectations. For a tool that modifies data, this minimal description fails to provide adequate context 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with clear descriptions for both parameters ('item_ids' and 'target_category_id'). The description adds minimal value beyond the schema, as it only reiterates the general purpose without providing additional semantics like format examples or constraints. With high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate but doesn't detract either.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 itself from sibling tools like 'list_catalog_items' or 'update_catalog_category' by focusing on relocation rather than listing or updating. However, it doesn't explicitly differentiate from potential similar tools like 'reorder_workflow_activities', which might involve moving items within a workflow context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 existing items and categories), exclusions (e.g., cannot move items to non-existent categories), or comparisons to siblings like 'update_catalog_category' which might handle category changes differently. Usage is implied by the action but lacks explicit context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
publish_articleC
Publish a knowledge article
| Name | Required | Description | Default |
|---|---|---|---|
| article_id | Yes | ID of the article to publish | |
| workflow_state | No | The workflow state to set | published |
| workflow_version | No | The workflow version to use |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. 'Publish' implies a mutation (likely changing an article's state to live), but the description doesn't disclose critical behavioral traits such as permissions required, whether it's idempotent, what happens on failure, or if it triggers notifications. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's appropriately sized and front-loaded, directly stating 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.
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 no output schema and no annotations), the description is incomplete. It doesn't cover behavioral aspects like side effects, error handling, or return values, which are crucial for an agent to use it correctly. The high schema coverage doesn't compensate for these missing contextual details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters (article_id, workflow_state, workflow_version) with descriptions. The description adds no additional meaning beyond the schema, such as explaining default behaviors or interactions between parameters, which aligns with the baseline score when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Publish a knowledge article' clearly states the verb ('publish') and resource ('knowledge article'), which is better than a tautology. However, it lacks specificity about what publishing entails (e.g., making it live, changing its state) and doesn't distinguish it from siblings like 'update_article' or 'create_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.
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., an article must exist), exclusions, or how it differs from similar tools like 'update_article' or 'activate_workflow', leaving the agent to infer usage from context alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
publish_changesetC
Publish a changeset in ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| changeset_id | Yes | Changeset ID or sys_id | |
| publish_notes | No | Notes for publishing |
TDQS
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. 'Publish' implies a significant state change, but the description doesn't reveal whether this is irreversible, requires specific permissions, triggers notifications, or has side effects. For a mutation tool with zero annotation coverage, this leaves critical 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states the core purpose without unnecessary words. It's appropriately sized for a tool with only two parameters and follows good front-loading principles by immediately conveying the essential action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what publishing entails, what happens after publication, potential errors, or return values. Given the complexity implied by 'publish' in a ServiceNow context and the lack of structured behavioral data, more descriptive context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents both parameters (changeset_id and publish_notes). The description adds no additional parameter context beyond what's in the schema, such as format examples or constraints. The baseline score of 3 reflects adequate but minimal value addition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Publish') and resource ('a changeset in ServiceNow'), making the purpose immediately understandable. However, it doesn't differentiate this tool from sibling tools like 'commit_changeset' or 'update_changeset', which would require more specific language about what publishing entails versus those other operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 'commit_changeset', 'update_changeset', and 'approve_change' available, there's no indication of the workflow sequence or prerequisites for publishing a changeset. The agent receives no usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reject_changeC
Reject a change request
| Name | Required | Description | Default |
|---|---|---|---|
| change_id | Yes | Change request ID or sys_id | |
| approver_id | No | ID of the approver | |
| rejection_reason | Yes | Reason for rejection |
TDQS
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. 'Reject a change request' implies a destructive write operation that modifies state, but it doesn't disclose permissions required, whether the action is reversible, what happens to the change request status, or any side effects. 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.
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 and appropriately sized for its purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what rejection entails (e.g., status change, notifications), what permissions are needed, or what the tool returns. Given the complexity of change management workflows, 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description adds no additional parameter context beyond what's in the schema (e.g., format examples, constraints, or relationships between parameters). Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Reject a change request' clearly states the action (reject) and the resource (change request), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'approve_change' beyond the opposite action, missing explicit comparison that would earn a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 'approve_change' or 'update_change_request', nor does it mention prerequisites such as needing a pending change request. Without any context about appropriate usage scenarios, this is minimal guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_group_membersC
Remove members from an existing group in ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| group_id | Yes | Group ID or sys_id | |
| members | Yes | List of user sys_ids or usernames to remove as members |
TDQS
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 'Remove' implies a destructive mutation, the description doesn't address important behavioral aspects: whether this operation is reversible, what permissions are required, whether it validates member existence before removal, what happens with invalid member IDs, 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.
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 straightforward operation and front-loads the essential information (action + target). Every word earns its place in this concise formulation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation tool with no annotations and no output schema, the description is incomplete. It doesn't address behavioral implications, error conditions, permissions, or response format. While the schema covers parameters adequately, the overall context for safe and effective tool invocation is insufficient given the tool's complexity and potential impact.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters well-documented in the schema itself (group_id as 'Group ID or sys_id', members as 'List of user sys_ids or usernames to remove'). The description adds no additional parameter information beyond what's already in the structured schema, so the baseline score of 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Remove members') and target resource ('from an existing group in ServiceNow'), providing specific verb+resource information. However, it doesn't explicitly distinguish this tool from its sibling 'add_group_members' beyond the obvious verb difference, missing an opportunity to clarify the relationship between these complementary operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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., group must exist, members must be current members), doesn't reference the sibling 'add_group_members' tool, and offers no context about appropriate use cases or constraints beyond the basic operation stated.
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
| Name | Required | Description | Default |
|---|---|---|---|
| workflow_id | Yes | Workflow ID or sys_id | |
| activity_ids | Yes | List of activity IDs in the desired order |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. 'Reorder' implies a mutation operation, but the description doesn't disclose critical behavioral traits: whether this requires specific permissions, if it's destructive (overwrites existing order), what happens on success/failure, or any rate limits. It adds no context beyond the basic action, which 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's front-loaded with the core action and resource, making it easy to parse. Every word earns its place, and there's no redundant or verbose phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 and no output schema, the description is incomplete. It lacks behavioral context (permissions, effects), usage guidance, and any indication of return values or errors. For a tool that modifies workflow state, this minimal description leaves significant gaps for an agent to operate safely and effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with clear descriptions for both parameters (workflow_id and activity_ids). The description adds no additional meaning beyond what the schema provides (e.g., it doesn't explain format constraints or ordering semantics). Baseline 3 is appropriate when the schema does the heavy lifting, though the description could have clarified that activity_ids must be a complete list in new order.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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). It distinguishes from siblings like 'add_workflow_activity' or 'delete_workflow_activity' by specifying reordering rather than adding/removing. However, it doesn't explicitly mention that it's for changing the sequence/order of existing activities, which could be slightly more specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 with activities), when not to use it, or how it relates to siblings like 'update_workflow_activity' or 'get_workflow_activities'. This leaves 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
| Name | Required | Description | Default |
|---|---|---|---|
| incident_id | Yes | Incident ID or sys_id | |
| resolution_code | Yes | Resolution code for the incident | |
| resolution_notes | Yes | Resolution notes for the incident |
TDQS
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. 'Resolve' implies a state-changing write operation, but the description doesn't mention required permissions, whether resolution is reversible, what happens to related records, or typical response format. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with zero wasted words. It's appropriately sized for a straightforward tool and front-loads the essential information immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is inadequate. It doesn't address behavioral aspects like side effects, error conditions, or response format. While the schema covers parameters well, the overall context for safe and effective use is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all three parameters clearly documented in the schema itself. The description adds no additional parameter context beyond what's already in the structured schema, so it meets the baseline expectation but doesn't provide extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('resolve') and resource ('an incident in ServiceNow'), making the purpose immediately understandable. However, it doesn't differentiate this tool from potential siblings like 'update_incident' or 'close_incident' (if they existed), which might have overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. Given the sibling tools include 'create_incident', 'update_incident', and 'list_incidents', there's no indication of prerequisites (e.g., incident must be open), timing considerations, or how this differs from general incident updates.
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
| Name | Required | Description | Default |
|---|---|---|---|
| change_id | Yes | Change request ID or sys_id | |
| approval_comments | No | Comments for the approval request |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions 'submit for approval' but lacks details on behavioral traits: it doesn't specify required permissions, whether this is a mutating operation, what happens after submission (e.g., status change, notifications), or potential side effects. This is inadequate 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded and easy to parse, though it could be slightly more specific (e.g., 'Submit a change request to initiate the approval workflow').
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (a workflow submission tool with no annotations and no output schema), the description is insufficient. It doesn't explain what the tool returns, error conditions, or behavioral context like state transitions. For a tool that likely involves mutating a change request's approval status, more detail is needed to guide an AI agent effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents both parameters (change_id and approval_comments). The description adds no additional meaning beyond what's in the schema, such as explaining the purpose of 'change_id' or when to use 'approval_comments'. Baseline 3 is appropriate when the schema handles parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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), but it's somewhat vague about what 'submit' entails (e.g., initiating an approval workflow vs. sending a notification). It doesn't distinguish from siblings like 'approve_change' or 'reject_change', which are related but different actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 specify prerequisites (e.g., must be in a draft state), when it's appropriate (e.g., after creating a change request), or contrast with siblings like 'approve_change' or 'reject_change' that handle different approval stages.
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
| Name | Required | Description | Default |
|---|---|---|---|
| article_id | Yes | ID of the article to update | |
| title | No | Updated title of the article | |
| text | No | Updated main body text for the article | |
| short_description | No | Updated short description | |
| category | No | Updated category for the article | |
| keywords | No | Updated keywords for search |
TDQS
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 'update' implies mutation, it doesn't describe permissions required, whether updates are reversible, what happens to unspecified fields (partial vs. full updates), 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.
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 (update + resource).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 insufficient. It doesn't explain behavioral aspects, usage context, or what the tool returns. The 100% schema coverage helps with parameters, but other critical context is missing for proper tool selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 6 parameters thoroughly. The description adds no additional parameter information beyond what's in the schema. According to scoring rules, when schema coverage is high (>80%), the baseline is 3 even with no param info in description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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), but it's generic and doesn't differentiate from sibling tools like update_catalog_category, update_change_request, etc. It specifies the resource type (knowledge article) which helps somewhat, but lacks specificity about what aspects can be updated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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., article must exist), doesn't distinguish from create_article or publish_article, and offers no context about appropriate scenarios for updating versus other operations on knowledge articles.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| category_id | Yes | Category ID or sys_id | |
| title | No | Title of the category | |
| description | No | Description of the category | |
| parent | No | Parent category sys_id | |
| icon | No | Icon for the category | |
| active | No | Whether the category is active | |
| order | No | Order of the category |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral insight. It states this is an update operation (implying mutation) but doesn't disclose permission requirements, whether changes are reversible, what happens to unspecified fields, or error conditions. For a mutation 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.
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 straightforward update operation and gets directly to the point without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, and no output schema, the description is inadequate. It doesn't explain what constitutes a successful update, what values are returned, error handling, or system impacts. The agent would need to guess about important behavioral aspects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all 7 parameters. The description doesn't add any parameter-specific context beyond what's in the schema (like explaining relationships between fields or providing examples). Baseline 3 is appropriate when the schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('existing service catalog category'), making the purpose unambiguous. However, it doesn't differentiate from sibling tools like 'update_category' or 'update_catalog_item_variable', which could cause confusion in a catalog context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 doesn't mention prerequisites, dependencies, or contextual constraints for updating categories.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_catalog_item_variableC
Update a catalog item variable
| Name | Required | Description | Default |
|---|---|---|---|
| variable_id | Yes | The sys_id of the variable to update | |
| label | No | The display label for the variable | |
| mandatory | No | Whether the variable is required | |
| help_text | No | Help text to display with the variable | |
| default_value | No | Default value for the variable | |
| description | No | Description of the variable | |
| order | No | Display order of the variable | |
| reference_qualifier | No | For reference fields, the query to filter reference options | |
| max_length | No | Maximum length for string fields | |
| min | No | Minimum value for numeric fields | |
| max | No | Maximum value for numeric fields |
TDQS
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. 'Update' implies a mutation operation, but the description doesn't mention permission requirements, whether changes are reversible, side effects, or what happens to unspecified fields. For an 11-parameter mutation tool with zero annotation coverage, this is a significant gap in safety and operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
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 tool where detailed information is provided in the schema, though this conciseness comes at the cost of missing contextual guidance. Every word earns its place by stating the core action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (11 parameters, mutation operation) and lack of annotations or output schema, the description is incomplete. It doesn't address behavioral aspects like permissions, side effects, or response format. For a mutation tool with rich parameters but no structured safety hints, the description should provide more operational context to compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter well-documented in the schema (e.g., 'variable_id' as sys_id, 'label' as display label). The description adds no parameter information beyond the schema, not even hinting at the scope of updatable fields. Baseline 3 is appropriate since the schema does all the heavy lifting for parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Update a catalog item variable' clearly states the action (update) and resource (catalog item variable), but it's quite generic. It doesn't specify what aspects can be updated or differentiate from sibling tools like 'update_catalog_category' or 'update_article' beyond the resource type. The purpose is understandable but lacks specificity about scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'create_catalog_item_variable' and 'list_catalog_item_variables', there's no indication of prerequisites, dependencies, or appropriate contexts for updating versus creating or listing. 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_change_requestC
Update an existing change request in ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| change_id | Yes | Change request ID or sys_id | |
| short_description | No | Short description of the change request | |
| description | No | Detailed description of the change request | |
| state | No | State of the change request | |
| risk | No | Risk level of the change | |
| impact | No | Impact of the change | |
| category | No | Category of the change | |
| assignment_group | No | Group assigned to the change | |
| start_date | No | Planned start date (YYYY-MM-DD HH:MM:SS) | |
| end_date | No | Planned end date (YYYY-MM-DD HH:MM:SS) | |
| work_notes | No | Work notes to add to the change request |
TDQS
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, the description doesn't specify required permissions, whether changes are reversible, what happens to unspecified fields, or typical response format. It mentions no constraints like rate limits, validation rules, or side effects. For a mutation tool with 11 parameters and no 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states the core purpose without unnecessary words. It's appropriately sized for a straightforward update operation and front-loads the essential information. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (11 parameters, mutation operation, no output schema) and absence of annotations, the description is insufficient. It doesn't address behavioral aspects like permissions, side effects, or response format. For a tool that modifies critical ServiceNow records, more context is needed about what constitutes a valid update, error conditions, or typical use cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter clearly documented in the input schema. The description adds no parameter-specific information beyond what's already in the schema (e.g., it doesn't explain field relationships or provide examples). According to scoring rules, when schema coverage is high (>80%), the baseline is 3 even with no param info in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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. It distinguishes from sibling 'create_change_request' by specifying 'existing' rather than new creation. However, it doesn't explicitly differentiate from other update tools like 'update_incident' or 'update_article' 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.
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 change request ID), when not to use it (e.g., for creating new requests), or how it differs from similar update operations on other ServiceNow entities. 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_changesetC
Update an existing changeset in ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| changeset_id | Yes | Changeset ID or sys_id | |
| name | No | Name of the changeset | |
| description | No | Description of the changeset | |
| state | No | State of the changeset | |
| developer | No | Developer responsible for the changeset |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure but only states the basic action. It doesn't mention required permissions, whether updates are reversible, what happens to unspecified fields, error conditions, or typical response format. For a mutation tool with zero annotation coverage, 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.
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 tool with good schema documentation and is perfectly front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what 'update' entails operationally, what values can be modified, what the typical response looks like, or any behavioral constraints. The combination of mutation operation + zero annotation coverage requires more descriptive context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters are documented in the schema. The description adds no additional parameter information beyond what's already in the structured fields. Baseline score of 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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'), making the purpose immediately understandable. It distinguishes from sibling tools like 'create_changeset' by specifying 'existing', but doesn't explicitly differentiate from other update tools (e.g., 'update_change_request').
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. The description doesn't mention prerequisites (e.g., needing a changeset ID), when to choose this over 'create_changeset' or 'update_change_request', or any context about typical update scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_groupC
Update an existing group in ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| group_id | Yes | Group ID or sys_id to update | |
| name | No | Name of the group | |
| description | No | Description of the group | |
| manager | No | Manager of the group (sys_id or username) | |
| parent | No | Parent group (sys_id or name) | |
| type | No | Type of the group | |
| No | Email address for the group | ||
| active | No | Whether the group is active |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. 'Update an existing group' implies a mutation operation, but the description doesn't specify required permissions, whether changes are reversible, what happens to unspecified fields, or any rate limits. For a mutation tool with zero annotation coverage, this leaves critical behavioral aspects undocumented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that communicates the core purpose without any wasted words. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 8 parameters and no annotations or output schema, the description is insufficient. It doesn't explain what happens during the update, what the response contains, error conditions, or how this operation fits within the broader ServiceNow context. The agent lacks critical information 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, providing complete documentation for all 8 parameters. The description adds no parameter-specific information beyond what's already in the schema. According to the scoring rules, when schema coverage is high (>80%), the baseline score is 3 even with no param info in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 group in ServiceNow'), making the purpose immediately understandable. However, it doesn't distinguish this tool from its sibling 'create_group' or other update tools like 'update_user' or 'update_workflow', which would require more specific differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 group), when to choose 'create_group' instead, or how this differs from other update 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.
update_incidentC
Update an existing incident in ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| incident_id | Yes | Incident ID or sys_id | |
| short_description | No | Short description of the incident | |
| description | No | Detailed description of the incident | |
| state | No | State of the incident | |
| category | No | Category of the incident | |
| subcategory | No | Subcategory of the incident | |
| priority | No | Priority of the incident | |
| impact | No | Impact of the incident | |
| urgency | No | Urgency of the incident | |
| assigned_to | No | User assigned to the incident | |
| assignment_group | No | Group assigned to the incident | |
| work_notes | No | Work notes to add to the incident | |
| close_notes | No | Close notes to add to the incident | |
| close_code | No | Close code for the incident |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure but only states it's an update operation. It doesn't mention whether this requires specific permissions, if changes are reversible, what happens to unspecified fields, or any rate limits. For a mutation tool with 14 parameters, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, with every word earning its place by conveying the core functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, no annotations, and no output schema, the description is insufficiently complete. It doesn't explain what the tool returns, error conditions, or behavioral constraints. The agent would need to guess about the update operation's effects and response format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with each parameter well-documented in the schema itself. The description doesn't add any parameter-specific information beyond what's already in the schema, so it meets the baseline of 3 where the schema does the heavy lifting. However, it doesn't explain relationships between parameters (e.g., that close_notes and close_code might be relevant when setting state to closed).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 incident in ServiceNow'), making the purpose immediately understandable. However, it doesn't distinguish this tool from other update tools like update_article or update_change_request, which would require mentioning it's specifically for incident management rather than general updates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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., that an incident must exist), when to use create_incident instead, or how it differs from resolve_incident. 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_script_includeC
Update an existing script include in ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| script_include_id | Yes | Script include ID or name | |
| script | No | Script content | |
| description | No | Description of the script include | |
| api_name | No | API name of the script include | |
| client_callable | No | Whether the script include is client callable | |
| active | No | Whether the script include is active | |
| access | No | Access level of the script include |
TDQS
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 mention permissions required, whether changes are reversible, potential side effects, or response format. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without any fluff or redundancy. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, and no output schema, the description is inadequate. It doesn't explain what happens during updates (e.g., partial vs. full updates), error conditions, or return values, leaving critical gaps for agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 7 parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema, such as explaining relationships between fields or update behavior for null values. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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'), making the purpose immediately understandable. However, it doesn't differentiate this from sibling tools like 'create_script_include' or 'delete_script_include' beyond the verb, 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.
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_script_include' or 'delete_script_include'. It doesn't mention prerequisites (e.g., needing an existing script include ID) or context for updates versus creation, leaving the agent with minimal usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_userC
Update an existing user in ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | User ID or sys_id to update | |
| user_name | No | Username for the user | |
| first_name | No | First name of the user | |
| last_name | No | Last name of the user | |
| No | Email address of the user | ||
| title | No | Job title of the user | |
| department | No | Department the user belongs to | |
| manager | No | Manager of the user (sys_id or username) | |
| roles | No | Roles to assign to the user | |
| phone | No | Phone number of the user | |
| mobile_phone | No | Mobile phone number of the user | |
| location | No | Location of the user | |
| password | No | Password for the user account | |
| active | No | Whether the user account is active |
TDQS
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 'Update' implies a mutation operation, the description doesn't mention permission requirements, whether changes are reversible, what happens to unspecified fields, or typical response patterns. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states the core purpose without unnecessary words. It's appropriately sized for a tool with comprehensive schema documentation and gets straight to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 and no annotations or output schema, the description is inadequate. It doesn't address behavioral aspects like permissions, side effects, or response format, leaving the agent with insufficient context to use the tool effectively beyond basic parameter passing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with each parameter well-documented in the schema itself. The description adds no additional parameter information beyond what's already in the structured data, so it meets the baseline expectation but doesn't provide extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 user in ServiceNow'), making the purpose immediately understandable. However, it doesn't differentiate this from sibling tools like 'create_user' or 'get_user' beyond the obvious verb difference, 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.
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_user' or 'get_user', nor does it mention prerequisites (e.g., needing the user's ID). It simply states what the tool does without context about appropriate usage scenarios.
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
| Name | Required | Description | Default |
|---|---|---|---|
| workflow_id | Yes | Workflow ID or sys_id | |
| name | No | Name of the workflow | |
| description | No | Description of the workflow | |
| table | No | Table the workflow applies to | |
| active | No | Whether the workflow is active | |
| attributes | No | Additional attributes for the workflow |
TDQS
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 'Update' implies mutation, the description doesn't specify what permissions are required, whether changes are reversible, what happens to unspecified fields, or what the response contains. 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.
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 tool with comprehensive schema documentation and gets straight to the point without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what 'updating' entails operationally, what happens to unspecified fields, whether the update is partial or complete, or what the tool returns. The agent lacks critical context for proper invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 6 parameters thoroughly. The description adds no additional parameter information beyond what's in the schema. According to guidelines, when schema coverage is high (>80%), the baseline is 3 even with no param info in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 workflow in ServiceNow'), providing specific verb+resource pairing. However, it doesn't differentiate this tool from sibling 'update_workflow_activity' or explain what distinguishes updating a workflow from updating workflow activities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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' or 'update_workflow_activity'. There's no mention of prerequisites, appropriate contexts, or exclusions. The agent must infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_workflow_activityC
Update an existing activity in a workflow
| Name | Required | Description | Default |
|---|---|---|---|
| activity_id | Yes | Activity ID or sys_id | |
| name | No | Name of the activity | |
| description | No | Description of the activity | |
| attributes | No | Additional attributes for the activity |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure but offers minimal information. It states this is an update operation (implying mutation) but doesn't address permission requirements, whether changes are reversible, what happens to unspecified fields, or error conditions. This is inadequate for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
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 and front-loaded with the 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what the update operation returns, what permissions are needed, or how it differs from related operations. The context signals indicate this is a non-trivial tool (4 parameters, 1 required) that deserves more comprehensive documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the schema already documents all four parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema, making the baseline score of 3 appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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'), providing a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'update_workflow' or 'add_workflow_activity', which would be needed for a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 'add_workflow_activity' or 'delete_workflow_activity'. There's no mention of prerequisites, constraints, or appropriate contexts for this update operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
65 tool updates
- First observed
activate_workflow - First observed
add_change_task - First observed
add_comment - First observed
add_file_to_changeset - First observed
add_group_members - First observed
add_workflow_activity - First observed
approve_change - First observed
commit_changeset - First observed
create_article - First observed
create_catalog_category - First observed
create_catalog_item_variable - First observed
create_category - First observed
create_change_request - First observed
create_changeset - First observed
create_group - First observed
create_incident - First observed
create_knowledge_base - First observed
create_script_include - First observed
create_user - First observed
create_workflow - First observed
deactivate_workflow - First observed
delete_script_include - First observed
delete_workflow_activity - First observed
get_article - First observed
get_catalog_item - First observed
get_change_request_details - First observed
get_changeset_details - First observed
get_script_include - First observed
get_user - First observed
get_workflow_activities - First observed
get_workflow_details - First observed
list_articles - First observed
list_catalog_categories - First observed
list_catalog_item_variables - First observed
list_catalog_items - First observed
list_categories - First observed
list_change_requests - First observed
list_changesets - First observed
list_groups - First observed
list_incidents - First observed
list_knowledge_bases - First observed
list_script_includes - First observed
list_tool_packages - First observed
list_users - First observed
list_workflow_versions - First observed
list_workflows - First observed
move_catalog_items - First observed
publish_article - First observed
publish_changeset - First observed
reject_change - First observed
remove_group_members - First observed
reorder_workflow_activities - First observed
resolve_incident - First observed
submit_change_for_approval - First observed
update_article - First observed
update_catalog_category - First observed
update_catalog_item_variable - First observed
update_change_request - First observed
update_changeset - First observed
update_group - First observed
update_incident - First observed
update_script_include - First observed
update_user - First observed
update_workflow - First observed
update_workflow_activity
TDQS
Most tools have distinct purposes targeting specific ServiceNow resources and actions, with clear boundaries like 'create_incident' vs. 'resolve_incident'. However, some overlap exists, such as 'add_change_task' and 'add_workflow_activity' both being additive operations that could cause minor confusion in selection, though descriptions help differentiate them.
Tool names follow a highly consistent verb_noun pattern throughout, such as 'create_change_request', 'list_incidents', and 'update_user'. All tools use snake_case uniformly, with verbs like create, get, list, update, delete, and add applied predictably across resources, making the set easy to navigate.
With 65 tools, the count is excessive for a single server, likely overwhelming for agents and indicating poor scoping. While ServiceNow is a broad platform, this many tools suggests fragmentation that could be consolidated into fewer, more general-purpose tools, making it heavy and difficult to manage effectively.
The tool set provides comprehensive CRUD and lifecycle coverage across key ServiceNow domains like incidents, change requests, knowledge bases, workflows, and users. For example, incidents have create, list, update, resolve, and add_comment tools, ensuring no dead ends and full operational support for typical agent workflows.
Maintenance
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
- platform7nOAuthtech.p7n
Connect Claude to your Platform7n workspaces — chat, links, and tasks. One-click OAuth.
Connect Claude to Fathom meeting recordings, transcripts, and summaries
Connect your team's living knowledge base — docs, data, issues, CRM — to Claude and ChatGPT.
WHOOP recovery, strain, sleep and workouts in Claude via official WHOOP OAuth. Free, open source.
Related MCP Servers
- AlicenseCqualityFmaintenanceAn implementation that enables Claude to connect to ServiceNow instances, retrieve data, and perform actions through the ServiceNow API.62297MIT
- AlicenseCqualityDmaintenanceEnables 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.82MIT
- AlicenseNot gradedqualityNot gradedmaintenanceEnables 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.-
- AlicenseCqualityDmaintenanceEnables Claude to interact with ServiceNow instances to manage incidents, service catalogs, workflows, and knowledge bases through the ServiceNow API. It supports comprehensive operations including record querying, script execution, and user management using various authentication methods.66MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/vparlapalli490/MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server