ServiceNow MCP Server
Provides comprehensive ServiceNow integration including incident management, service catalog operations, change request workflows, knowledge base management, user administration, and agile project management capabilities through the ServiceNow API.
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 open incidents assigned to my team"
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: Azure 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.agile_management: Tools for managing user stories, epics, scrum tasks, and projects.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
Agile Management Tools
Story Management
create_story - Create a new user story in ServiceNow
update_story - Update an existing user story in ServiceNow
list_stories - List user stories with filtering options
create_story_dependency - Create a dependency between two stories
delete_story_dependency - Delete a dependency between stories
Epic Management
create_epic - Create a new epic in ServiceNow
update_epic - Update an existing epic in ServiceNow
list_epics - List epics from ServiceNow with filtering options
Scrum Task Management
create_scrum_task - Create a new scrum task in ServiceNow
update_scrum_task - Update an existing scrum task in ServiceNow
list_scrum_tasks - List scrum tasks from ServiceNow with filtering options
Project Management
create_project - Create a new project in ServiceNow
update_project - Update an existing project in ServiceNow
list_projects - List projects from ServiceNow with filtering options
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'."
Agile Management Examples
"Create a new user story for implementing a new reporting dashboard"
"Update the 'Implement a new reporting dashboard' story to set it as blocked"
"List all user stories assigned to the Data Analytics team"
"Create a dependency between the 'Implement a new reporting dashboard' story and the 'Develop data extraction pipeline' story"
"Delete the dependency between the 'Implement a new reporting dashboard' story and the 'Develop data extraction pipeline' story"
"Create a new epic called 'Data Analytics Initiatives'"
"Update the 'Data Analytics Initiatives' epic to set it as completed"
"List all epics in the 'Data Analytics' project"
"Create a new scrum task for the 'Implement a new reporting dashboard' story"
"Update the 'Develop data extraction pipeline' scrum task to set it as completed"
"List all scrum tasks in the 'Implement a new reporting dashboard' story"
"Create a new project called 'Data Analytics Initiatives'"
"Update the 'Data Analytics Initiatives' project to set it as completed"
"List all projects in the 'Data Analytics' epic"
Workflow Management Examples
"Show me all active workflows in ServiceNow"
"Get details about the incident approval workflow"
"List all versions of the change request workflow"
"Show me all activities in the service catalog request workflow"
"Create a new workflow for handling software license requests"
"Update the description of the incident escalation workflow"
"Activate the new employee onboarding workflow"
"Deactivate the old password reset workflow"
"Add an approval activity to the software license request workflow"
"Update the notification activity in the incident escalation workflow"
"Delete the unnecessary activity from the change request workflow"
"Reorder the activities in the service catalog request workflow"
Changeset Management Examples
"List all changesets in ServiceNow"
"Show me all changesets created by developer 'john.doe'"
"Get details about changeset 'sys_update_set_123'"
"Create a new changeset for the 'HR Portal' application"
"Update the description of changeset 'sys_update_set_123'"
"Commit changeset 'sys_update_set_123' with message 'Fixed login issue'"
"Publish changeset 'sys_update_set_123' to production"
"Add a file to changeset 'sys_update_set_123'"
"Show me all changes in changeset 'sys_update_set_123'"
Knowledge Base Examples
"Create a new knowledge base for the IT department"
"List all knowledge bases in the organization"
"Create a category called 'Network Troubleshooting' in the IT knowledge base"
"Write an article about VPN setup in the Network Troubleshooting category"
"Update the VPN setup article to include mobile device instructions"
"Publish the VPN setup article so it's visible to all users"
"List all articles in the Network Troubleshooting category"
"Show me the details of the VPN setup article"
"Find knowledge articles containing 'password reset' in the IT knowledge base"
"Create a subcategory called 'Wireless Networks' under the Network Troubleshooting category"
User Management Examples
"Create a new user Dr. Alice Radiology in the Radiology department"
"Update Bob's user record to make him the manager of Alice"
"Assign the ITIL role to Bob so he can approve change requests"
"List all users in the Radiology department"
"Create a new group called 'Biomedical Engineering' for managing medical devices"
"Add an admin user to the Biomedical Engineering group as a member"
"Update the Biomedical Engineering group to change its manager"
"Remove a user from the Biomedical Engineering group"
"Find all active users in the system with 'doctor' in their title"
"Create a user that will act as an approver for the Radiology department"
"List all IT support groups in the system"
UI Policy Examples
"Create a UI policy for the 'Software Request' item (sys_id: abc...) named 'Show Justification' that applies when 'software_cost' is greater than 100."
"For the UI policy 'Show Justification' (sys_id: def...), add an action to make the 'business_justification' variable visible and mandatory."
"Create another action for policy 'Show Justification' to hide the 'alternative_software' variable."
Example Scripts
The repository includes example scripts that demonstrate how to use the tools:
examples/catalog_optimization_example.py: Demonstrates how to analyze and improve the ServiceNow Service Catalog
examples/change_management_demo.py: Shows how to create and manage change requests in ServiceNow
Authentication Methods
Basic Authentication
SERVICENOW_AUTH_TYPE=basic
SERVICENOW_USERNAME=your-username
SERVICENOW_PASSWORD=your-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
82 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?
With no annotations, the description carries full burden but provides minimal behavioral insight. 'Activate' implies a state change, but it doesn't disclose permissions required, side effects (e.g., enabling automation), error conditions, or what 'activate' entails beyond the basic action. 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, clear sentence with no wasted words. It's front-loaded with the core action and resource, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 lacks details on behavior, outcomes, error handling, and usage context, leaving the agent with insufficient information to invoke it reliably beyond the basic parameter.
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' documented as 'Workflow ID or sys_id'. The description adds no additional parameter semantics beyond this, 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 states the verb ('Activate') and resource ('a workflow in ServiceNow'), providing a basic purpose. However, it lacks specificity about what 'activate' means operationally and doesn't distinguish from sibling tools like 'deactivate_workflow' or 'create_workflow' beyond the obvious verb difference.
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., workflow must exist, be in a deactivated state), exclusions, or relationships with sibling tools like 'deactivate_workflow' or 'update_workflow'.
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 |
|---|---|---|---|
| assigned_to | No | User assigned to the task | |
| change_id | Yes | Change request ID or sys_id | |
| description | No | Detailed description of the task | |
| planned_end_date | No | Planned end date (YYYY-MM-DD HH:MM:SS) | |
| planned_start_date | No | Planned start date (YYYY-MM-DD HH:MM:SS) | |
| short_description | Yes | Short description of the task |
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 'Add a task' implies a write/mutation operation, the description doesn't disclose any behavioral traits: no information about permissions required, whether this is an idempotent operation, what happens on failure, or what the response looks like. For a mutation tool with zero annotation coverage, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at just 6 words, with zero wasted language. It's front-loaded with the core action and target, making it immediately understandable. Every word earns its place in this minimal description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 insufficiently complete. It doesn't address the behavioral implications of adding tasks, doesn't explain the relationship to change requests, and provides no information about what happens after invocation. The description should do more 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 6 parameters well-documented in the input schema. The description adds no parameter information beyond what's already in the schema, so it meets the baseline of 3 for high schema coverage. No additional parameter semantics are provided in the description text.
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 distinguish this tool from similar sibling tools like 'create_scrum_task' or 'add_workflow_activity', which also create task-like entities in different contexts.
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 that create or add various entities (tasks, activities, dependencies), there's no indication of the specific context for change request tasks versus other task types or when this tool is appropriate versus similar operations.
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 |
|---|---|---|---|
| comment | Yes | Comment to add to the incident | |
| incident_id | Yes | Incident ID or sys_id | |
| 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, the description doesn't disclose important behavioral aspects: required permissions, whether this creates an audit trail, if comments are reversible, rate limits, or what happens on success/failure. 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 purpose and appropriately sized for what it communicates. Every word earns its place in this minimal but complete statement of 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?
For a mutation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what happens after comment addition - whether it returns the updated incident, confirmation status, or error details. With 3 parameters and behavioral implications, more context about outcomes, error conditions, and integration with ServiceNow workflows would be needed for completeness.
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 semantics beyond what's in the schema - it doesn't explain format requirements for incident_id, comment length limits, or the practical difference between regular comments and work notes. 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 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 why this specialized tool exists when there's a general update tool.
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 about when to use this tool versus alternatives. With sibling tools like 'update_incident' available, there's no indication whether this is the preferred method for adding comments or when one might choose this specialized tool over the general update tool. No prerequisites, exclusions, or comparison context is provided.
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_content | Yes | Content of the file | |
| file_path | Yes | Path of the file to add |
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. It doesn't disclose behavioral traits like whether this is a mutation (implied by 'Add'), what permissions are needed, if there are size limits for files, how conflicts are handled, or what happens on success/failure. 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 waste. It's front-loaded with the core action and resource, making it easy to parse quickly. Every word earns 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?
For a mutation tool with no annotations and no output schema, the description is incomplete. It doesn't explain what the tool returns, error conditions, or side effects. Given the complexity of adding files to changesets (which may involve version control or state changes), more context is needed for the 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?
The description adds no parameter semantics beyond what's in the input schema, which has 100% coverage with clear descriptions for all three parameters. The baseline is 3 since the schema does the heavy lifting, but the description doesn't compensate with additional context like file format expectations or path conventions.
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 a specific verb+resource combination. However, it doesn't differentiate from sibling tools like 'commit_changeset' or 'publish_changeset' that might also involve changeset operations, so it misses the highest tier.
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., whether a changeset must exist or be in a specific state), nor does it reference sibling tools like 'create_changeset' or 'commit_changeset' for context. This leaves the agent without usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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?
With no annotations provided, the description carries full burden for behavioral disclosure. While 'Add members' implies a mutation operation, it doesn't disclose permission requirements, whether the operation is idempotent, what happens if members already exist, error conditions, or rate limits. This is inadequate for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's appropriately sized for a simple tool and front-loads the essential information without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 adding members (success response, error handling), doesn't mention permission requirements, and provides no behavioral context. The 100% schema coverage helps with parameters, but overall completeness is poor for a write 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?
Schema description coverage is 100%, with both parameters well-documented in the schema. The description adds no additional parameter semantics beyond what's already in the schema (group_id and members are clearly defined there). 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 clearly states the action ('Add members') and target resource ('existing group in ServiceNow'), providing a specific verb+resource combination. However, it doesn't explicitly differentiate from its sibling 'remove_group_members' beyond the opposite action direction, missing an opportunity for clearer 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 prerequisites (like needing an existing group), doesn't specify when to use 'create_group' first, and offers no comparison with sibling tools like 'update_group' which might also manage members.
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 |
|---|---|---|---|
| activity_type | Yes | Type of activity (e.g., 'approval', 'task', 'notification') | |
| attributes | No | Additional attributes for the activity | |
| description | No | Description of the activity | |
| name | Yes | Name of the activity | |
| workflow_version_id | Yes | Workflow version 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 this is an 'Add' operation (implying creation/mutation) but doesn't mention permission requirements, whether this is reversible, what happens on success/failure, or any rate limits. 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 and front-loaded with the core 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 mutation tool with 5 parameters, no annotations, and no output schema, the description is inadequate. It doesn't explain what happens after adding the activity, what the return value might be, or any behavioral constraints. The description should provide more context given 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 additional parameter information beyond what's in the schema, so it meets the baseline of 3 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 action ('Add a new activity') and target resource ('to a workflow in ServiceNow'), providing specific verb+resource information. However, it doesn't differentiate from sibling tools like 'create_workflow' or 'update_workflow_activity', which would require 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 'create_workflow' or 'update_workflow_activity', nor does it mention prerequisites or context. It simply states what the tool does without usage instructions.
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 |
|---|---|---|---|
| approval_comments | No | Comments for the approval | |
| approver_id | No | ID of the approver | |
| change_id | Yes | Change request 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 disclosing behavioral traits. It doesn't mention whether this is a destructive/mutative operation, permission requirements, side effects (e.g., triggers workflow transitions), or what happens after approval. 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 and front-loaded, though this conciseness comes at the cost of completeness for 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?
For a mutation tool with no annotations and no output schema, the description is incomplete. It doesn't explain what happens after approval, return values, error conditions, or system behavior. Given the complexity of change approval workflows and lack of structured data, 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. The description adds no additional meaning about parameters beyond what the schema provides (e.g., doesn't explain format of change_id or when approver_id/comments are needed). 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 'Approve a change request' clearly states the verb ('approve') and resource ('change request'), but it's vague about what approval entails and doesn't differentiate from the sibling 'reject_change' tool. It provides basic purpose but lacks specificity about the approval mechanism or consequences.
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 'reject_change' or 'submit_change_for_approval'. The description doesn't mention prerequisites (e.g., change must be in pending approval state) or contextual constraints, leaving the agent with no usage direction.
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?
No annotations are provided, so the description carries full burden for behavioral disclosure. While 'commit' implies a write/mutation operation, the description doesn't clarify what committing entails (e.g., finalizing changes, triggering workflows, requiring permissions), whether it's reversible, or what side effects might occur. 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 extremely concise with a single, direct sentence that states the tool's purpose without any wasted words. It's appropriately sized for a straightforward operation and front-loaded with the essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 explain what 'commit' means operationally, what happens after committing, potential side effects, or how this differs from related sibling tools. The context signals indicate this is a non-trivial operation in a complex ServiceNow environment, requiring more completeness.
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 ('changeset_id' and 'commit_message') clearly documented in the schema. The description adds no additional parameter information beyond what's already in the structured 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 ('commit') and target resource ('a changeset in ServiceNow'), providing a specific verb+resource combination. However, it doesn't distinguish this tool from sibling tools like 'publish_changeset' or 'update_changeset', which might have related functionality in the ServiceNow 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. With sibling tools like 'publish_changeset', 'update_changeset', and 'create_changeset' available, there's no indication of the specific context or workflow stage where 'commit_changeset' should be invoked, nor any prerequisites or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_articleC
Create a new knowledge article
| Name | Required | Description | Default |
|---|---|---|---|
| article_type | No | The type of article. Options are 'text' or 'wiki'. text lets the text field support html formatting. wiki lets the text field support wiki markup. | html |
| category | Yes | Category for the article | |
| keywords | No | Keywords for search | |
| knowledge_base | Yes | The knowledge base to create the article in | |
| short_description | Yes | Short description of the article | |
| text | Yes | The main body text for the article. Field supports html formatting and wiki markup based on the article_type. HTML is the default. | |
| title | Yes | Title of the article |
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 ('create'). It lacks details on permissions required, whether creation is idempotent, what happens on failure, or the format of the response. 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 front-loaded with the core purpose and appropriately sized for the tool's complexity.
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 (e.g., returns an ID, triggers workflows), error conditions, or how it relates to other knowledge management tools like 'publish_article'.
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 (e.g., article_type options explained, text formatting details). The description adds no additional parameter semantics beyond what the schema provides, 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 '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_category' or 'create_knowledge_base', which also create resources in the same domain, leaving some ambiguity 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?
No guidance is provided on when to use this tool versus alternatives like 'update_article' or 'publish_article', nor does it mention prerequisites such as needing an existing knowledge base. The description assumes context without explicit usage instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_catalog_categoryC
Create a new service catalog category.
| Name | Required | Description | Default |
|---|---|---|---|
| active | No | Whether the category is active | |
| description | No | Description of the category | |
| icon | No | Icon for the category | |
| order | No | Order of the category | |
| parent | No | Parent category sys_id | |
| title | Yes | Title of the category |
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 operation but doesn't mention whether it requires specific permissions, what happens on success/failure, whether the creation is immediate or queued, or any rate limits. For a mutation tool with zero annotation coverage, this is a significant gap in behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
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 for a straightforward creation tool and is front-loaded with 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 no annotations and no output schema, the description is insufficiently complete. It doesn't explain what happens after creation, what values are returned, error conditions, or how this tool relates to sibling tools. The agent would need to guess about important behavioral aspects of this write 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%, so all parameters are documented in the schema. The description adds no additional parameter information beyond what's already in the schema. According to the 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 service catalog category'), making the purpose immediately understandable. It distinguishes this from sibling tools like 'create_category' by specifying it's for 'service catalog' categories, though it doesn't explicitly contrast with 'update_catalog_category' 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 no guidance on when to use this tool versus alternatives like 'update_catalog_category' or 'list_catalog_categories'. It doesn't mention prerequisites, dependencies, or typical use cases, leaving the agent to infer context from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_catalog_item_variableC
Create a new catalog item variable
| Name | Required | Description | Default |
|---|---|---|---|
| catalog_item_id | Yes | The sys_id of the catalog item | |
| default_value | No | Default value for the variable | |
| description | No | Description of the variable | |
| help_text | No | Help text to display with the variable | |
| label | Yes | The display label for the variable | |
| mandatory | No | Whether the variable is required | |
| max | No | Maximum value for numeric fields | |
| max_length | No | Maximum length for string fields | |
| min | No | Minimum value for numeric fields | |
| name | Yes | The name of the variable (internal name) | |
| order | No | Display order of the variable | |
| reference_qualifier | No | For reference fields, the query to filter reference options | |
| reference_table | No | For reference fields, the table to reference | |
| type | Yes | The type of variable (e.g., string, integer, boolean, reference) |
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 'Create a new catalog item variable', implying a write operation, but doesn't cover permissions required, side effects, error handling, or response format. For a tool with 14 parameters and no output schema, this lack of behavioral context is a significant gap, though it doesn't contradict 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, straightforward sentence: 'Create a new catalog item variable'. It is front-loaded and wastes no words, making it efficient. However, it may be overly concise given the tool's complexity, potentially sacrificing clarity for brevity.
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 (14 parameters, no output schema, no annotations), the description is incomplete. It lacks details on behavioral aspects, usage context, and output expectations. While the schema covers parameters, the description fails to provide necessary context for effective tool invocation, leaving gaps in understanding the tool's role and effects.
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%, meaning all parameters are documented in the input schema. The description adds no additional parameter semantics beyond the schema, such as examples or usage notes. According to the rules, with high schema coverage, the baseline score is 3, as the description doesn't need to compensate but also doesn't enhance 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 'Create a new catalog item variable' restates the tool name with minimal elaboration. It specifies the verb 'create' and resource 'catalog item variable', but lacks detail on what a catalog item variable is or its purpose, making it vague. It doesn't differentiate from siblings like 'update_catalog_item_variable' or 'list_catalog_item_variables', leaving the agent to infer distinctions.
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. The description doesn't mention prerequisites, such as needing an existing catalog item, or contrast it with sibling tools like 'update_catalog_item_variable' for modifications or 'list_catalog_item_variables' for viewing. This absence leaves the agent without context for appropriate tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_categoryC
Create a new category in a knowledge base
| Name | Required | Description | Default |
|---|---|---|---|
| active | No | Whether the category is active | |
| 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). Sys_id refering to the parent category or sys_id of the parent table. | |
| parent_table | No | Parent table (if creating a subcategory). Sys_id refering to the table where the parent category is defined. | |
| title | Yes | Title 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. While 'Create' implies a write operation, it doesn't address permissions needed, whether creation is idempotent, what happens on duplicate titles, 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 gets straight to the point with zero wasted words. It's appropriately sized for a straightforward creation tool and front-loads the essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 creation, what permissions are required, or provide any error handling context. The 100% schema coverage helps with parameters but doesn't compensate for missing behavioral 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 the schema fully documents all 6 parameters. The description adds no parameter-specific information beyond what's already in the schema. This meets the baseline expectation 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 action ('Create') and resource ('a new category in a knowledge base'), making the purpose immediately understandable. It doesn't explicitly distinguish from sibling tools like 'create_catalog_category', but the knowledge base context provides some implicit 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. It doesn't mention prerequisites, appropriate contexts, or compare it to similar tools like 'create_catalog_category' or 'update_catalog_category' from the sibling list.
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 |
|---|---|---|---|
| assignment_group | No | Group assigned to the change | |
| category | No | Category of the change | |
| description | No | Detailed description of the change request | |
| end_date | No | Planned end date (YYYY-MM-DD HH:MM:SS) | |
| impact | No | Impact of the change | |
| requested_by | No | User who requested the change | |
| risk | No | Risk level of the change | |
| short_description | Yes | Short description of the change request | |
| start_date | No | Planned start date (YYYY-MM-DD HH:MM:SS) | |
| type | Yes | Type of change (normal, standard, emergency) |
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 a change request but doesn't describe what happens after creation (e.g., whether it triggers workflows, sends notifications, or returns an ID), potential side effects, error conditions, or authentication requirements. 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, direct sentence with zero wasted words. It front-loads the core purpose ('Create a new change request') and specifies the system ('in ServiceNow'), making it immediately clear and efficient. 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 of creating a change request (10 parameters, 2 required), no annotations, and no output schema, the description is insufficient. It doesn't explain what the tool returns (e.g., a change request ID or confirmation), error handling, or system-specific constraints (e.g., ServiceNow field validations). For a mutation tool in a workflow-heavy context, this leaves the agent under-informed.
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 10 parameters with titles and descriptions. The description adds no parameter-specific information beyond what's in the schema, such as explaining relationships between parameters (e.g., how 'type' affects other fields) or providing examples. The baseline score of 3 reflects adequate coverage from the 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 ('new change request in ServiceNow'), making the purpose immediately understandable. It distinguishes from siblings like 'update_change_request' by specifying creation rather than modification, though it doesn't explicitly contrast with other creation tools like 'create_incident' or 'create_project'.
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., required permissions), when to choose this over similar creation tools (e.g., 'create_incident'), or what constitutes a valid change request scenario. The agent must infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_changesetC
Create a new changeset in ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| application | Yes | Application the changeset belongs to | |
| description | No | Description of the changeset | |
| developer | No | Developer responsible for the changeset | |
| name | Yes | Name of the changeset |
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 'Create' implying a write operation, but doesn't mention permissions required, whether it's idempotent, what happens on failure, or the expected output format. For a mutation tool with zero annotation coverage, this leaves critical behavioral traits unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
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 front-loads the core action, though its brevity contributes to gaps in other dimensions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 doesn't explain what a changeset is, how it fits into ServiceNow workflows, what gets returned, or error conditions. For a tool in a complex domain with many siblings, 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 the schema fully documents all 4 parameters (name, application, description, developer) with their types and requirements. The description adds no parameter-specific information beyond what's in the schema, meeting the baseline of 3 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 'Create a new changeset in ServiceNow' clearly states the verb ('Create') and resource ('changeset'), but it's vague about what a changeset is or its purpose. It doesn't distinguish from siblings like 'create_change_request' or 'create_project', leaving the agent to infer differences from tool names alone.
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_change_request' or 'update_changeset'. The description lacks context about prerequisites, typical workflows, or exclusions, offering no help for tool selection among many creation-related siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_epicC
Create a new epic in ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| assigned_to | No | User assigned to the epic | |
| assignment_group | No | Group assigned to the epic | |
| description | No | Detailed description of the epic | |
| priority | No | Priority of epic (1 is Critical, 2 is High, 3 is Moderate, 4 is Low, 5 is Planning) | |
| short_description | Yes | Short description of the epic | |
| state | No | State of story (-6 is Draft,1 is Ready,2 is Work in progress, 3 is Complete, 4 is Cancelled) | |
| work_notes | No | Work notes to add to the epic. Used for adding notes and comments to an epic |
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' which implies a write/mutation operation, but doesn't mention permissions required, whether creation is reversible, rate limits, or what happens on success/failure. 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 any wasted words. It's appropriately sized and front-loaded with the essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 and no annotations or output schema, the description is inadequate. It doesn't explain what happens after creation, error conditions, or behavioral aspects. The high schema coverage helps with parameters, but overall context is incomplete for a creation 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?
Schema description coverage is 100%, so the schema already documents all 7 parameters thoroughly. The description adds no additional parameter information beyond what's in the schema, meeting the baseline expectation 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 action ('Create') and resource ('new epic in ServiceNow'), making the purpose immediately understandable. It doesn't differentiate from siblings like 'create_story' or 'create_change_request', but the specificity is adequate for basic understanding.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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_story' or 'create_change_request'. The description states what it does but offers no context about appropriate scenarios, prerequisites, or comparisons to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_groupC
Create a new group in ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| active | No | Whether the group is active | |
| description | No | Description of the group | |
| No | Email address for the group | ||
| manager | No | Manager of the group (sys_id or username) | |
| members | No | List of user sys_ids or usernames to add as members | |
| name | Yes | Name of the group | |
| parent | No | Parent group (sys_id or name) | |
| type | No | Type of the group |
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 it 'creates' without additional context. It doesn't mention permissions required, whether the operation is idempotent, what happens on failure, or what the return value might be (especially problematic since there's no output schema). 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 the core purpose without any fluff. 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, no annotations, and no output schema, the description is insufficiently complete. It doesn't address behavioral aspects (permissions, side effects), provide usage context, or hint at return values. The agent lacks critical information needed to use this tool effectively beyond basic parameter 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?
Schema description coverage is 100%, so all 8 parameters are well-documented in the schema itself. The description adds no parameter-specific information beyond what's already in the schema (like explaining format constraints or relationships between parameters). 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 ('Create') and resource ('new group in ServiceNow'), making the purpose immediately understandable. However, it doesn't differentiate this tool from other 'create' tools in the sibling list like create_user, create_incident, or create_change_request, which would require 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. There's no mention of prerequisites, when not to use it, or how it relates to sibling tools like update_group, add_group_members, or list_groups. The agent must 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_incidentC
Create a new incident in ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| assigned_to | No | User assigned to the incident | |
| assignment_group | No | Group assigned to the incident | |
| caller_id | No | User who reported the incident | |
| category | No | Category of the incident | |
| description | No | Detailed description of the incident | |
| impact | No | Impact of the incident | |
| priority | No | Priority of the incident | |
| short_description | Yes | Short description of the incident | |
| subcategory | No | Subcategory of the incident | |
| urgency | No | Urgency of the incident |
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/mutation operation, the description doesn't mention required permissions, whether this action is reversible, what happens on success/failure, or any rate limits. For a mutation tool with zero annotation coverage, this leaves significant behavioral questions unanswered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
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 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 10 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what gets returned (incident ID, status, etc.), doesn't mention error conditions or validation rules, and provides no behavioral context. The agent would need to guess about the tool's behavior and output format based solely on the name and parameter 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 each parameter clearly documented in the schema itself. 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 parameter information 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 target resource ('a new incident in ServiceNow'), making the purpose immediately understandable. However, it doesn't differentiate this tool from other creation tools in the sibling list (like create_article, create_change_request, etc.), which would require specifying what makes incident creation distinct.
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_change_request' and 'resolve_incident' available, there's no indication of when an incident is appropriate versus a change request, or whether this should be used for new incidents versus updating existing ones. The agent must infer usage context from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_knowledge_baseC
Create a new knowledge base in ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| description | No | Description of the knowledge base | |
| managers | No | Users who can manage this knowledge base | |
| owner | No | The specified admin user or group | |
| publish_workflow | No | Publication workflow | Knowledge - Instant Publish |
| retire_workflow | No | Retirement workflow | Knowledge - Instant Retire |
| title | Yes | Title of the knowledge base |
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 operation but doesn't mention required permissions, whether this is a write operation (implied but not explicit), what happens on success/failure, or any side effects. 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 tool with good 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 creation tool with 6 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what a 'knowledge base' represents in ServiceNow context, what happens after creation, or provide any behavioral context. The schema handles parameter documentation, but the description fails to add meaningful value beyond the tool name.
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 all parameters are documented in the schema. The description adds no additional parameter information beyond what's already in the structured data. This meets the baseline expectation 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 ('create') and resource ('knowledge base in ServiceNow'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'create_article' or 'create_category' that also create ServiceNow resources, 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 like 'list_knowledge_bases' for viewing existing ones or 'create_article' for adding content. There's no mention of prerequisites, dependencies, 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.
create_projectC
Create a new project in ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| assigned_to | No | User assigned to the project | |
| assignment_group | No | Group assigned to the project | |
| description | No | Detailed description of the project | |
| end_date | No | End date for the project | |
| percentage_complete | No | Percentage complete for the project | |
| project_manager | No | Project manager for the project | |
| short_description | Yes | Project name of the project | |
| start_date | No | Start date for the project | |
| state | No | State of project (-5 is Pending,1 is Open, 2 is Work in progress, 3 is Closed Complete, 4 is Closed Incomplete, 5 is Closed Skipped) | |
| status | No | Status of the project (green, yellow, red) |
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 'Create a new project' which implies a write/mutation operation, but doesn't disclose any behavioral traits such as required permissions, whether the creation is immediate or queued, what happens on failure, or what the response contains (e.g., project ID). For a mutation tool with zero annotation coverage, this leaves significant gaps in understanding how the tool behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without any unnecessary words. It's appropriately sized for a basic creation tool and front-loaded with 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 (10 parameters, 1 required) and the absence of both annotations and an output schema, the description is insufficiently complete. It doesn't explain what happens after creation (e.g., returns a project ID), what permissions are needed, or how errors are handled. For a mutation tool with many parameters and no structured safety/behavior hints, the description should provide more context to guide proper 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?
The input schema has 100% description coverage, with each parameter clearly documented (e.g., 'User assigned to the project' for assigned_to). The description adds no additional parameter information beyond what the schema provides. According to the rules, when schema_description_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 action ('Create') and resource ('new project in ServiceNow'), making the purpose unambiguous. It distinguishes this from sibling tools like 'list_projects' or 'update_project' by specifying creation rather than listing or updating. However, it doesn't explicitly differentiate from other creation tools like 'create_incident' or 'create_change_request' 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., required permissions), when not to use it (e.g., for updating existing projects), or how it relates to sibling tools like 'list_projects' or 'update_project'. The agent must infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_script_includeB
Create a new script include in ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| access | No | Access level of the script include | package_private |
| active | No | Whether the script include is active | |
| api_name | No | API name of the script include | |
| client_callable | No | Whether the script include is client callable | |
| description | No | Description of the script include | |
| name | Yes | Name of the script include | |
| script | Yes | Script content |
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 permission requirements, whether this operation is idempotent, what happens on duplicate names, or what the response looks like. For a creation tool with zero annotation coverage, this is a significant gap in behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states exactly what the tool does without any wasted words. It's appropriately sized and front-loaded with the essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 (2 required), no annotations, and no output schema, the description is minimally adequate. It states what the tool does but doesn't provide behavioral context, usage guidance, or information about the return value. The high schema coverage helps, but the description alone doesn't provide complete 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%, so the schema already documents all 7 parameters thoroughly. The description adds no parameter-specific 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 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 script include in ServiceNow'), providing a specific verb+resource combination. However, it doesn't differentiate this from sibling tools like 'update_script_include' or 'delete_script_include' beyond the obvious creation vs modification/deletion 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. There's no mention of prerequisites, when this operation is appropriate, or what distinguishes it from similar tools like 'update_script_include' or 'get_script_include' beyond the basic create/read/update distinction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_scrum_taskC
Create a new scrum task in ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| assigned_to | No | User assigned to the scrum task | |
| assignment_group | No | Group assigned to the scrum task | |
| description | No | Detailed description of the scrum task | |
| hours | No | Actual Hours for the scrum task | |
| planned_hours | No | Planned hours for the scrum task | |
| priority | No | Priority of scrum task (1 is Critical, 2 is High, 3 is Moderate, 4 is Low) | |
| remaining_hours | No | Remaining hours for the scrum task | |
| short_description | Yes | Short description of the scrum task | |
| state | No | State of scrum task (-6 is Draft,1 is Ready, 2 is Work in progress, 3 is Complete, 4 is Cancelled) | |
| story | Yes | Short description of the story. It requires the System ID of the story. | |
| type | No | Type of scrum task (1 is Analysis, 2 is Coding, 3 is Documentation, 4 is Testing) | |
| work_notes | No | Work notes to add to the scrum task |
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 'Create' which implies a write/mutation operation, but doesn't mention required permissions, whether the creation is reversible, what happens on failure, or what the response contains. For a 12-parameter creation tool with zero annotation coverage, this leaves significant behavioral gaps unaddressed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states exactly what the tool does without any wasted words. It's appropriately sized for a tool with comprehensive schema documentation and gets straight to the point with zero 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 creation tool with 12 parameters, no annotations, and no output schema, the description is insufficiently complete. It doesn't explain what happens after creation (return values, success indicators), doesn't mention required permissions or constraints, and provides no context about how this fits into the broader ServiceNow scrum workflow. 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%, with each parameter well-documented in the schema itself (including descriptions of what each field represents and enum values for priority, state, and type). The description adds no additional parameter information beyond what's already in the structured schema, so it meets but doesn't exceed the baseline expectation.
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 scrum task in ServiceNow'), making the purpose immediately understandable. It distinguishes from siblings like 'update_scrum_task' by specifying creation rather than modification. However, it doesn't explicitly differentiate from other creation tools like 'create_story' or 'create_incident' within the same domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 story), when this tool is appropriate versus other task management methods, or what distinguishes it from sibling tools like 'create_story' or 'update_scrum_task'. The agent must infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_storyC
Create a new story in ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| acceptance_criteria | Yes | Acceptance criteria for the story | |
| assigned_to | No | User assigned to the story | |
| assignment_group | No | Group assigned to the story | |
| description | No | Detailed description of the story | |
| epic | No | Epic that the story belongs to. It requires the System ID of the epic. | |
| project | No | Project that the story belongs to. It requires the System ID of the project. | |
| short_description | Yes | Short description of the story | |
| state | No | State of story (-6 is Draft,-7 is Ready for Testing,-8 is Testing,1 is Ready, 2 is Work in progress, 3 is Complete, 4 is Cancelled) | |
| story_points | No | Points value for the story | |
| work_notes | No | Work notes to add to the story. Used for adding notes and comments to a story |
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 it creates a story but doesn't mention required permissions, whether the operation is idempotent, what happens on failure, or the format of the response. 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 wasted words. It's front-loaded with the core purpose and appropriately sized for a tool with 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 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 a story ID), error conditions, or system behavior. The agent lacks crucial 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?
Schema description coverage is 100%, so the schema fully documents all 10 parameters. The description adds no parameter-specific information beyond what's in the schema, such as 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 action ('Create') and resource ('new story in ServiceNow'), making the purpose unambiguous. However, it doesn't differentiate this tool from sibling tools like 'create_epic' or 'create_incident' beyond the resource type, 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 like 'create_epic' or 'update_story'. There's no mention of prerequisites, context, or exclusions, leaving the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_story_dependencyC
Create a dependency between two stories in ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| dependent_story | Yes | Sys_id of the dependent story is required | |
| prerequisite_story | Yes | Sys_id that this story depends on is required |
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/mutation operation, the description doesn't address important behavioral aspects: what permissions are required, whether this operation is reversible, what happens if the dependency already exists, what the response looks like, or any rate limits. 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 any unnecessary words. It's appropriately sized for a simple tool and gets straight to the point 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?
For a mutation tool with no annotations and no output schema, the description is incomplete. It doesn't explain what happens after creation, what the response contains, error conditions, or how this operation fits into the broader ServiceNow story management workflow. The agent would need to guess about important behavioral aspects of this write 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?
Schema description coverage is 100%, with both parameters clearly documented in the schema itself. The description adds no additional parameter information beyond what's already in the structured schema fields. According to scoring rules, when schema coverage is high (>80%), the baseline is 3 even with no parameter information 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 a dependency') and resource ('between two stories in ServiceNow'), making the purpose immediately understandable. However, it doesn't distinguish this tool from its sibling 'delete_story_dependency' or explain how it differs from 'list_story_dependencies' - it only specifies what it does, not how it's unique among 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. There's no mention of prerequisites, when dependencies should be created, or how this relates to other story management tools like 'create_story', 'update_story', or 'delete_story_dependency'. The agent receives 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_userC
Create a new user in ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| active | No | Whether the user account is active | |
| department | No | Department the user belongs to | |
| Yes | Email address of the user | ||
| first_name | Yes | First name of the user | |
| last_name | Yes | Last name of the user | |
| location | No | Location of the user | |
| manager | No | Manager of the user (sys_id or username) | |
| mobile_phone | No | Mobile phone number of the user | |
| password | No | Password for the user account | |
| phone | No | Phone number of the user | |
| roles | No | Roles to assign to the user | |
| title | No | Job title of the user | |
| user_name | Yes | Username for 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 but only states the action without behavioral details. It doesn't mention whether this is a write operation (implied but not explicit), what permissions are needed, what happens on success/failure, or any side effects like email notifications. 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 and front-loaded with the essential action, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 13 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what the tool returns, error conditions, authentication requirements, or system-specific behaviors. The context demands more completeness 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 fully documents all 13 parameters. The description adds no parameter-specific information beyond what's in the schema, maintaining the baseline score 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 ('new user in ServiceNow'), making the purpose unambiguous. However, it doesn't differentiate from sibling tools like 'create_group' or 'create_incident' beyond specifying 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?
No guidance is provided on when to use this tool versus alternatives like 'update_user' or 'get_user', nor does it mention prerequisites, permissions required, or typical use cases. The description only states what it does, not when to use it.
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 |
|---|---|---|---|
| active | No | Whether the workflow is active | |
| attributes | No | Additional attributes for the workflow | |
| description | No | Description of the workflow | |
| name | Yes | Name of the workflow | |
| table | No | Table the workflow applies to |
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, it doesn't mention permission requirements, whether this is an idempotent operation, what happens on duplicate names, or what the response contains. For a creation 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 basic creation operation 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 creation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what happens after creation, whether there are side effects, what permissions are needed, or how to verify success. Given the complexity of workflow creation in ServiceNow, 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?
With 100% schema description coverage, the schema already documents all 5 parameters thoroughly. The description adds no additional parameter information beyond what's in the 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 ('Create') and resource ('new workflow in ServiceNow'), providing a specific verb+resource combination. However, it doesn't differentiate from sibling tools like 'update_workflow' or explain what distinguishes creation from other workflow 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 like 'update_workflow', 'list_workflows', or 'get_workflow_details'. There's no mention of prerequisites, use cases, or when this tool would be inappropriate compared to sibling operations.
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 the full burden of behavioral disclosure. It mentions 'Deactivate' which implies a state change, but doesn't specify if this is reversible, requires permissions, affects dependent processes, or what the outcome looks like, leaving critical behavioral traits unclear.
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 no wasted words, efficiently conveying the core action and context. It's appropriately sized and front-loaded, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 lacks details on behavioral implications, success/failure responses, and usage context, leaving gaps that could hinder an AI agent's ability to invoke it correctly in complex scenarios.
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 'workflow_id' parameter. The description adds no additional parameter information beyond what the schema provides, 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 action ('Deactivate') and resource ('a workflow in ServiceNow'), making the purpose specific and understandable. However, it doesn't differentiate from its sibling 'activate_workflow' beyond the opposite action, missing explicit comparison.
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, such as 'delete_workflow' or 'update_workflow', or prerequisites like workflow state. The description only states what it does, not when it's appropriate.
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. It states the action is a deletion but doesn't cover critical aspects like whether deletion is permanent or reversible, required permissions, confirmation prompts, error handling, or side effects. For a destructive operation with zero annotation coverage, this leaves significant gaps 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, direct sentence with no wasted words, making it highly concise and front-loaded. It efficiently communicates the core action and resource without unnecessary elaboration, adhering to best practices for tool descriptions.
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 destructive nature, lack of annotations, and absence of an output schema, the description is insufficiently complete. It doesn't address behavioral risks, return values, or integration with sibling tools like 'list_script_includes' or 'get_script_include'. For a deletion tool in a complex system like ServiceNow, more context is needed to ensure 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 single parameter 'script_include_id' documented as 'Script include ID or name'. The description doesn't add any semantic details beyond this, such as format examples or validation rules. With high schema coverage, 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 clearly states the action ('Delete') and resource ('a script include in ServiceNow'), making the purpose unambiguous. It doesn't explicitly differentiate from sibling tools like 'delete_story_dependency' or 'delete_workflow_activity', but the specificity of 'script include' provides inherent distinction. No tautology or misleading elements are present.
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, prerequisites, or exclusions. It doesn't reference sibling tools like 'get_script_include' for verification or 'create_script_include' for creation, nor does it mention permissions or typical workflows. Usage is implied only by the verb 'Delete'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_story_dependencyC
Delete a story dependency in ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| dependency_id | Yes | Sys_id of the dependency is required |
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 performs a deletion but doesn't mention critical aspects like whether this is reversible, what permissions are required, what happens to dependent data, or error conditions. This is inadequate 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 with zero wasted words. It's appropriately sized for a simple 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 destructive tool with no annotations and no output schema, the description is insufficient. It doesn't explain what a 'story dependency' is, what deletion entails, what the response looks like, or potential side effects. Given the complexity and lack of structured data, 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 the schema already documents the single parameter 'dependency_id' as 'Sys_id of the dependency is required'. The description adds no additional parameter information beyond what the schema provides, meeting the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Delete') and resource ('a story dependency in ServiceNow'), providing specific verb+resource information. However, it doesn't differentiate from sibling tools like 'delete_script_include' or 'delete_workflow_activity' 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. There are no mentions of prerequisites, conditions, or comparisons to sibling tools like 'list_story_dependencies' or 'create_story_dependency', leaving 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.
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 the full burden of behavioral disclosure. It states the tool performs a deletion but doesn't clarify if this is reversible, requires specific permissions, affects dependent workflows, or returns confirmation data. For a destructive operation, this lack of detail 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, direct sentence with no wasted words, making it highly concise and front-loaded. It immediately conveys the core action and target, earning full marks for efficiency and clarity in structure.
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 destructive nature, lack of annotations, and absence of an output schema, the description is insufficiently complete. It doesn't address critical context like deletion permanence, error conditions, or what happens to workflow integrity, leaving the agent with incomplete information 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?
The input schema has 100% description coverage, with the single parameter 'activity_id' clearly documented as 'Activity ID or sys_id'. The description doesn't add any meaning beyond this, such as format examples or sourcing tips. With high schema coverage, the 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 action ('Delete') and the target resource ('an activity from a workflow'), making the purpose immediately understandable. It distinguishes itself from sibling tools like 'add_workflow_activity' or 'reorder_workflow_activities' by specifying deletion, though it doesn't explicitly contrast with alternatives like 'deactivate_workflow' or 'delete_script_include'.
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., whether the workflow must be inactive), consequences (e.g., if deletion is permanent), or suggest other tools for related operations like viewing activities with 'get_workflow_activities'. This leaves the agent with minimal context for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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?
With no annotations provided, the description carries full burden for behavioral disclosure. It states the tool retrieves an article but doesn't mention whether this is a read-only operation, what permissions are required, what happens if the ID doesn't exist, or any rate limits. For a retrieval 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, focused sentence that efficiently communicates the core functionality without unnecessary words. It's front-loaded with the essential information and contains zero redundant or verbose elements. This is an excellent example of conciseness.
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 well-documented parameter and no output schema, the description provides the minimum viable information about what the tool does. However, it lacks context about error handling, return format, or how it differs from sibling tools. Without annotations or output schema, the description should ideally provide more behavioral context to be fully complete.
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 the single parameter 'article_id' clearly documented in the schema. The description adds no additional parameter information beyond what's in the schema (e.g., format examples, ID sources, or validation rules). This meets the baseline score 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 action ('Get') and resource ('a specific knowledge article by ID'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like 'list_articles' or 'create_article', but the specificity of 'by ID' provides some implicit distinction. The description avoids tautology by not simply 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 'list_articles' for browsing or 'create_article' for creation. There's no mention of prerequisites, error conditions, or typical use cases. The agent must infer usage from the name and description alone without explicit direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_catalog_itemB
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 the full burden of behavioral disclosure. It states the tool 'Get[s] a specific service catalog item' but doesn't clarify whether this is a read-only operation, what permissions are required, if it returns structured data or raw content, or any error handling (e.g., for invalid IDs). For a retrieval 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 directly states the tool's purpose without unnecessary words. It is front-loaded with the core action ('Get a specific service catalog item'), making it easy to parse. There is no wasted language 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?
The tool is relatively simple with one parameter and no output schema. The description covers the basic purpose but lacks details on behavioral aspects like read-only nature, return format, or error conditions. Given the absence of annotations and output schema, it provides a minimal but functional overview, though it could be more informative for reliable 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, with the 'item_id' parameter clearly documented as 'Catalog item ID or sys_id'. The description doesn't add any additional meaning beyond this, such as format examples or sourcing instructions. Given the high schema coverage, a 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 clearly states the verb ('Get') and resource ('specific service catalog item'), making the purpose understandable. It distinguishes itself from sibling tools like 'list_catalog_items' by focusing on retrieval of a single item rather than listing multiple items. However, it doesn't specify what 'get' entails (e.g., retrieving details, metadata, or full content), 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 sibling tools like 'list_catalog_items' for browsing or 'update_catalog_item' for modifications, nor does it specify prerequisites such as needing an item_id. Without this context, the agent must infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_change_request_detailsC
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 the tool retrieves information, implying a read-only operation, but doesn't specify permissions, rate limits, error conditions, or return format. This is inadequate for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is appropriately sized and front-loaded, with no wasted content.
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, potential errors, or behavioral traits like authentication needs. For a tool with rich sibling context, this leaves significant 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%, with the single parameter 'change_id' documented as 'Change request ID or sys_id'. The description adds no additional parameter semantics beyond this, so it meets the baseline score 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 ('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 handle related but different resources.
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_change_requests' for listing multiple requests or 'get_changeset_details' for different resource details, 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_detailsC
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 'Get detailed information' but doesn't disclose behavioral traits like whether this is a read-only operation, what format the information returns, error conditions, or authentication requirements. For a 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 directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, 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 the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'detailed information' includes, potential return formats, or error handling. For a tool that likely returns complex data (implied by 'details'), 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?
Schema description coverage is 100%, with the single parameter 'changeset_id' well-documented in the schema. The description doesn't add any meaning beyond what the schema provides (e.g., it doesn't clarify what constitutes 'detailed information' or parameter constraints), so 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 verb 'Get' and resource 'detailed information about a specific changeset', making the purpose evident. However, it doesn't explicitly differentiate from sibling tools like 'get_change_request_details' or 'list_changesets', which would require more specific scope definition.
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 siblings like 'list_changesets' (for listing) and 'get_change_request_details' (for related but different entities), there's no indication of context, prerequisites, or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_optimization_recommendationsC
Get optimization recommendations for the service catalog.
| Name | Required | Description | Default |
|---|---|---|---|
| category_id | No | ||
| recommendation_types | Yes |
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 mentions 'Get' but does not clarify if this is a read-only operation, what permissions are required, whether it has side effects, or how results are returned (e.g., pagination, format). For a tool with no annotation coverage, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no wasted words, making it easy to parse. However, it is overly concise to the point of under-specification, as it omits necessary details for effective tool use. This brevity is appropriate in structure but compromises completeness.
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 optimization recommendations, no annotations, 0% schema coverage, and no output schema, the description is incomplete. It does not explain what the tool returns, how recommendations are structured, or any behavioral nuances. For a tool with two parameters and potential variability in output, 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 0%, so the description must compensate for undocumented parameters. It does not explain the meaning of 'category_id' or 'recommendation_types,' their expected values, or how they influence the output. Without this information, the agent lacks context for proper parameter usage, failing to add value beyond the bare schema.
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's purpose as 'Get optimization recommendations for the service catalog,' which is clear but vague. It specifies the verb 'Get' and resource 'optimization recommendations,' but does not detail what these recommendations entail or how they differ from other tools like 'list_catalog_items' or 'update_catalog_item.' This lack of specificity prevents it from achieving a higher 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 tools related to catalog management (e.g., 'list_catalog_items,' 'update_catalog_item'), there is no indication of context, prerequisites, or exclusions. This absence of usage instructions limits its effectiveness for an AI agent.
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?
With no annotations provided, the description carries the full burden of behavioral disclosure. While 'Get' implies a read operation, the description doesn't specify what information is returned, whether authentication is required, if there are rate limits, or what happens when the script include doesn't exist. This leaves significant gaps for an agent to understand 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 that communicates the core purpose without any wasted words. It's appropriately sized for a simple retrieval tool 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 simple retrieval tool with one well-documented parameter and no output schema, the description is minimally adequate. However, the lack of annotations means the description should do more to explain behavioral aspects like authentication requirements, error conditions, and return format to be truly complete.
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 'script_include_id' clearly documented as accepting either ID or name. The description adds no additional parameter information beyond what's already in the schema, so 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 immediately understandable. However, it doesn't distinguish this tool from its sibling 'list_script_includes' which presumably lists multiple script includes rather than retrieving a specific one.
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, when this tool is appropriate versus 'list_script_includes', or any context about what constitutes a 'specific script include' that would help an agent choose correctly.
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 |
|---|---|---|---|
| No | Email address of the user | ||
| user_id | No | User ID or sys_id | |
| user_name | No | Username of the user |
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 'Get a specific user' but doesn't mention authentication requirements, error handling (e.g., if no user is found), rate limits, or response format. This leaves significant gaps in understanding how the tool behaves beyond basic functionality.
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 front-loaded with the core action and resource, making it easy to parse quickly. Every part of the sentence contributes directly to understanding the tool's 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 tool with 3 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain how parameters interact (e.g., if multiple are provided), what the return value includes, or error conditions. Given the complexity and lack of structured data, more context is needed for 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 (email, user_id, user_name). The description adds no additional meaning beyond the schema, such as parameter precedence or usage examples. 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 verb ('Get') and resource ('a specific user in ServiceNow'), making the purpose unambiguous. However, it doesn't differentiate from sibling tools like 'list_users' or 'get_article', which follow similar patterns, so it doesn't fully distinguish itself 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 like 'list_users' for multiple users or other 'get_' tools for different resources. It lacks explicit context, prerequisites, or exclusions, leaving usage decisions unclear.
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 |
|---|---|---|---|
| version | No | Specific version to get activities for | |
| 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 the full burden of behavioral disclosure. It states a read operation ('Get') but does not cover aspects like permissions needed, pagination, rate limits, error handling, or what the return format might be (e.g., list of activities with details). 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, direct sentence with no wasted words, making it highly concise and front-loaded. It efficiently communicates the core action without unnecessary elaboration, earning full marks for brevity and clarity in structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 that likely returns a list of activities. It fails to explain what 'activities' are, their structure, or any behavioral traits like data format or access constraints. This leaves the agent with insufficient context for 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 clear documentation for both parameters ('workflow_id' and 'version'). The description adds no additional meaning beyond the schema, such as explaining activity types or version implications. Baseline 3 is appropriate as the schema adequately covers parameter semantics.
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 verb ('Get') and resource ('activities for a specific workflow'), which clarifies the basic purpose. However, it lacks specificity about what 'activities' entail (e.g., tasks, steps, logs) and does not differentiate from siblings like 'get_workflow_details' or 'list_workflow_versions', 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?
No guidance is provided on when to use this tool versus alternatives such as 'get_workflow_details' or 'list_workflow_versions'. The description implies usage for a specific workflow but offers no context on prerequisites, exclusions, or comparative scenarios with sibling tools.
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 |
|---|---|---|---|
| include_versions | No | Include workflow versions | |
| 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. While 'Get detailed information' implies a read operation, it doesn't specify what constitutes 'detailed information', whether authentication is required, rate limits, error conditions, or response format. The description is too vague for a tool with no annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that gets straight to the point. There's no wasted language or unnecessary elaboration. However, it could be more front-loaded with critical context given the lack of annotations.
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 read operation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what 'detailed information' includes, the response format, error handling, or authentication requirements. Given the complexity implied by sibling tools and the lack of structured support, 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 fully documents both parameters. The description doesn't add any parameter semantics beyond what's in the schema - it doesn't explain what 'detailed information' includes or how the 'include_versions' parameter affects the 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 states 'Get detailed information about a specific workflow' which clearly indicates a read operation on a workflow resource. However, it doesn't differentiate from sibling tools like 'get_workflow_activities' or 'list_workflows' which also retrieve workflow-related information. The purpose is clear but lacks 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. There's no mention of when to use 'get_workflow_details' versus 'list_workflows' or 'get_workflow_activities', nor any prerequisites or constraints. The agent must infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_articlesC
List knowledge articles
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Filter by category | |
| knowledge_base | No | Filter by knowledge base | |
| limit | No | Maximum number of articles to return | |
| offset | No | Offset for pagination | |
| 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?
With no annotations provided, the description carries the full burden of behavioral disclosure but offers almost none. 'List knowledge articles' implies a read-only operation but doesn't specify pagination behavior, rate limits, authentication requirements, or what happens when filters return no results. The description fails to provide meaningful behavioral context beyond the basic operation implied by the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is maximally concise at just three words with zero wasted language. It's appropriately sized for such a simple statement, though this conciseness comes at the expense of providing helpful information beyond the tool name.
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 6 parameters, no annotations, and no output schema, the description is inadequate. While the schema covers parameters well, the description fails to provide necessary context about the tool's behavior, return format, or relationship to other tools. The agent would need to infer too much from just 'List knowledge articles' given the tool's 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?
The schema description coverage is 100%, with all 6 parameters well-documented in the schema itself. The description adds no additional parameter 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 parameter information 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 'List knowledge articles' is a tautology that merely restates the tool name 'list_articles' with minimal added context. It specifies the resource ('knowledge articles') but lacks a clear verb beyond 'list' and doesn't differentiate from sibling tools like 'get_article' or 'create_article' beyond the obvious list vs. get/create 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. There's no mention of when to use 'list_articles' versus 'get_article' for retrieving specific articles, or how it relates to other list tools like 'list_knowledge_bases'. The agent receives no contextual usage information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_catalog_categoriesC
List service catalog categories.
| Name | Required | Description | Default |
|---|---|---|---|
| active | No | Whether to only return active categories | |
| limit | No | Maximum number of categories to return | |
| offset | No | Offset for pagination | |
| 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 full burden for behavioral disclosure. While 'List' implies a read-only operation, the description doesn't mention pagination behavior (implied by parameters), rate limits, authentication requirements, or what format the returned categories will have. For a tool with 4 parameters and no output schema, 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 states exactly what the tool does without any wasted words. It's appropriately sized for a straightforward listing operation 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 tool with 4 parameters, no annotations, and no output schema, the description is insufficiently complete. It doesn't explain what 'service catalog categories' are in this context, what information they contain, or how the listing operation behaves. 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?
With 100% schema description coverage, all parameters are well-documented in the schema itself. The description adds no additional parameter information beyond what's already in the structured fields, 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 ('List') and resource ('service catalog categories'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'list_categories' or 'list_catalog_items', which reduces its score from a perfect 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. With multiple list tools available (list_categories, list_catalog_items, list_catalog_item_variables), there's no indication of what distinguishes this specific listing operation or when it should be preferred.
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 |
|---|---|---|---|
| active | No | Whether to only return active catalog items | |
| category | No | Filter by category | |
| limit | No | Maximum number of catalog items to return | |
| offset | No | Offset for pagination | |
| query | No | Search query for catalog items |
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. 'List service catalog items' implies a read-only operation that returns multiple items, but doesn't disclose important behaviors like pagination handling (though the schema shows limit/offset), authentication requirements, rate limits, error conditions, or what happens when no items match filters. The description adds minimal value beyond the basic operation 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 maximally concise - a single four-word sentence that states the core operation. There's zero wasted language or unnecessary elaboration. While this conciseness comes at the cost of completeness, the structure is perfectly efficient for what it does communicate.
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 5 parameters, no annotations, and no output schema, the description is severely incomplete. It doesn't explain what 'service catalog items' are in this context, what fields are returned, how results are ordered, whether there are permissions considerations, or what the response format looks like. The agent would need to guess about many important aspects of using 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?
Schema description coverage is 100%, so all 5 parameters are well-documented in the schema itself. The description adds no parameter information beyond what's in the schema - it doesn't explain relationships between parameters, provide examples of valid category values, or clarify search query syntax. With complete schema coverage, the baseline of 3 is appropriate as the description doesn't compensate but also doesn't need to.
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' is a tautology that essentially restates the tool name 'list_catalog_items'. It provides the verb 'List' and resource 'service catalog items', but doesn't specify what catalog items are, what fields are returned, or how this differs from sibling tools like 'get_catalog_item' or 'list_catalog_categories'. The purpose is clear at a basic level but lacks meaningful differentiation from 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 absolutely no guidance on when to use this tool versus alternatives. With multiple sibling tools like 'get_catalog_item' (singular retrieval), 'list_catalog_categories', and 'list_catalog_item_variables', there's no indication of when this list operation is appropriate versus those other catalog-related operations. No context, prerequisites, or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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?
No annotations are provided, so the description carries the full burden of behavioral disclosure. The description only states the action ('list') without revealing any behavioral traits such as whether this is a read-only operation, what permissions might be required, whether results are paginated (though parameters suggest pagination), what format the output takes, or any rate limits. For a tool with no annotation coverage, this minimal description 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 extremely concise at just three words, with zero wasted language. It's front-loaded with the core action and resource. While this conciseness comes at the cost of completeness, the description itself is perfectly structured for its minimal content.
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 (4 parameters, no annotations, no output schema), the description is insufficiently complete. It doesn't explain what catalog item variables are, how they relate to other catalog tools, what the output format looks like, or any behavioral considerations. The agent would need to rely heavily on the parameter schema alone, which is inadequate 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?
The schema description coverage is 100%, with all parameters well-documented in the schema itself. The description adds no additional parameter information beyond what's already in the schema. According to scoring rules, when schema coverage is high (>80%), the baseline score is 3 even with no parameter information 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 'List catalog item variables' is a tautology that essentially restates the tool name. It specifies the verb 'list' and resource 'catalog item variables' but provides no additional context about what catalog items or variables are, or how this differs from sibling tools like 'list_catalog_items' or 'get_catalog_item'. The purpose is clear at a basic level but lacks differentiation from 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. There are multiple sibling tools for catalog items (e.g., 'list_catalog_items', 'get_catalog_item', 'create_catalog_item_variable', 'update_catalog_item_variable'), but the description offers no indication of when this specific listing tool is appropriate versus those other operations. No prerequisites, exclusions, or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_categoriesB
List categories in a knowledge base
| Name | Required | Description | Default |
|---|---|---|---|
| active | No | Filter by active status | |
| knowledge_base | No | Filter by knowledge base ID | |
| limit | No | Maximum number of categories to return | |
| offset | No | Offset for pagination | |
| parent_category | No | Filter by parent category ID | |
| query | No | Search query for categories |
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. It doesn't disclose behavioral traits like whether it's read-only (implied but not stated), pagination behavior (though schema hints at it), rate limits, authentication requirements, or error conditions. For a listing tool with 6 parameters, this leaves significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It's front-loaded with the core purpose and appropriately sized for a listing 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 read-only listing tool with good schema coverage but no output schema or annotations, the description is minimally adequate. It covers the basic purpose but lacks context about return format, error handling, or relationship to other tools. Given the complexity (6 parameters, no output schema), it should provide more guidance on usage patterns.
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 filtering by knowledge base. This meets the baseline for high schema coverage but doesn't enhance understanding of parameter interactions or use cases.
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 unambiguous. It distinguishes from siblings like 'list_knowledge_bases' or 'list_articles' by specifying categories, but doesn't explicitly differentiate from 'list_catalog_categories' or 'create_category' in usage 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. It doesn't mention prerequisites like authentication, when to use filtering parameters, or how it differs from similar listing tools (e.g., 'list_catalog_categories'). The description is purely functional without contextual advice.
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 |
|---|---|---|---|
| assignment_group | No | Filter by assignment group | |
| category | No | Filter by category | |
| limit | No | Maximum number of records to return | |
| offset | No | Offset to start from | |
| query | No | Additional query string | |
| state | No | Filter by state | |
| timeframe | No | Filter by timeframe (upcoming, in-progress, completed) | |
| type | No | Filter by type (normal, standard, emergency) |
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 none. It doesn't mention that this is a read-only operation, doesn't describe pagination behavior (though limit/offset parameters exist), doesn't indicate authentication requirements, rate limits, or what format the results will be in. For a list operation with 8 parameters, this leaves significant behavioral questions unanswered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is maximally concise - a single sentence that states exactly what the tool does without any wasted words. It's front-loaded with the essential information and earns its place efficiently.
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 insufficiently complete. It doesn't explain what constitutes a 'change request' in ServiceNow context, doesn't describe the return format, and provides no behavioral context. While the schema covers parameter documentation, the overall tool understanding remains 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?
The 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 fields. This meets the baseline expectation when the schema does the heavy lifting, 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 verb ('List') and resource ('change requests from ServiceNow'), making the purpose immediately understandable. However, it doesn't differentiate this tool from other list_* siblings like list_incidents or list_stories, which would require specifying what makes change requests distinct.
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 (including get_change_request_details for individual records and create_change_request for creation), there's no indication of when list_change_requests is appropriate versus other change-related tools.
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 |
|---|---|---|---|
| application | No | Filter by application | |
| developer | No | Filter by developer | |
| limit | No | Maximum number of records to return | |
| offset | No | Offset to start from | |
| query | No | Additional query string | |
| state | No | Filter by state | |
| timeframe | No | Filter by timeframe (recent, last_week, last_month) |
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 limit/offset parameters), authentication requirements, rate limits, or what the output looks like. For a read operation with 7 parameters, this leaves significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
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 core purpose 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 tool with 7 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what a changeset is in this context, what the output format looks like, or how filtering parameters interact. Given the complexity 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 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 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 'List changesets from ServiceNow' states the basic action (list) and resource (changesets) but is vague about scope and format. It doesn't specify whether this lists all changesets or filtered ones, nor does it distinguish from sibling tools like 'list_change_requests' or 'get_changeset_details' beyond the resource name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 many sibling tools including 'list_change_requests' and 'get_changeset_details', the description offers no context about when this listing tool is appropriate versus those detailed view tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_epicsC
List epics from ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| assignment_group | No | Filter by assignment group | |
| limit | No | Maximum number of records to return | |
| offset | No | Offset to start from | |
| priority | No | Filter by priority | |
| query | No | Additional query string | |
| timeframe | No | Filter by timeframe (upcoming, in-progress, completed) |
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 none. It doesn't indicate whether this is a read-only operation, what permissions might be required, whether results are paginated, what format the output takes, or any rate limits. The simple statement 'List epics from ServiceNow' reveals nothing about the tool's behavior beyond the obvious 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 extremely concise at just 4 words. It's front-loaded with the essential action and resource. There's zero wasted language or unnecessary elaboration. While it may be too brief for completeness, it earns full marks for conciseness.
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 (6 parameters, no output schema, no annotations), the description is inadequate. It doesn't explain what constitutes an 'epic' in ServiceNow, what fields are returned, how results are structured, or any behavioral characteristics. For a listing tool with multiple filtering parameters, more context is needed to help an agent 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?
The input schema has 100% description coverage, providing clear documentation for all 6 parameters. The description adds no 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, 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 'List epics from ServiceNow' states the basic action (list) and resource (epics) but is vague about scope and filtering capabilities. It doesn't distinguish this tool from other list_* tools on the server or explain what 'epics' are in the ServiceNow context. The purpose is clear at a basic level 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. With many sibling tools including create_epic, update_epic, and other list_* tools, there's no indication of when list_epics is appropriate versus when other listing tools might be needed. No context about prerequisites or typical use cases is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_groupsC
List groups from ServiceNow with optional filtering
| Name | Required | Description | Default |
|---|---|---|---|
| active | No | Filter by active status | |
| limit | No | Maximum number of groups to return | |
| offset | No | Offset for pagination | |
| 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 the full burden. It states it's a list operation with filtering, implying it's read-only, but doesn't disclose behavioral traits like pagination behavior (implied by offset/limit in schema but not described), rate limits, authentication needs, or what happens with large result sets. The description is minimal and lacks critical 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 that front-loads the core purpose ('List groups from ServiceNow') and adds a key feature ('with optional filtering'). There is no wasted verbiage, making it appropriately sized for its 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 complexity (a list operation with 5 parameters) and lack of annotations and output schema, the description is incomplete. It doesn't explain return values, error conditions, or behavioral nuances like how filtering interacts with pagination. For a tool with no structured output documentation, 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?
The schema description coverage is 100%, so all parameters are documented in the schema. The description adds no additional meaning beyond mentioning 'optional filtering', which is already covered by the schema's parameter descriptions. This 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 ('List') and resource ('groups from ServiceNow'), making the purpose evident. It also mentions 'optional filtering' which adds specificity. However, it doesn't explicitly differentiate from sibling tools like 'list_users' or 'list_workflows' 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. With many sibling list tools (e.g., list_users, list_incidents), there's no indication of context, prerequisites, or exclusions. The mention of 'optional filtering' is a feature hint, not usage guidance.
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 |
|---|---|---|---|
| assigned_to | No | Filter by assigned user | |
| category | No | Filter by category | |
| limit | No | Maximum number of incidents to return | |
| offset | No | Offset for pagination | |
| query | No | Search query for incidents | |
| state | No | Filter by incident state |
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. 'List incidents from ServiceNow' implies a read-only operation but doesn't confirm safety, permissions required, rate limits, pagination behavior (beyond schema), or what the output looks like. For a tool with 6 parameters and no output schema, 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 a single, efficient sentence with zero wasted words. It's front-loaded with the core purpose and appropriately sized for a list operation. 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 6 parameters, no annotations, and no output schema, the description is incomplete. It doesn't address key behavioral aspects like pagination strategy, return format, error conditions, or how it differs from other list tools. For a moderately complex retrieval tool in a rich sibling environment, this minimal description leaves significant 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%, with all 6 parameters well-documented in the schema (e.g., 'Filter by assigned user', 'Maximum number of incidents to return'). The description adds no parameter-specific information beyond implying filtering via 'List incidents'. 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 'List incidents from ServiceNow' clearly states the action (list) and resource (incidents) with the source (ServiceNow). However, it doesn't distinguish this from other list tools like list_articles, list_change_requests, or list_users, nor does it specify scope or filtering capabilities beyond what's implied by the name. It's adequate but lacks 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 including create_incident, resolve_incident, and update_incident, there's no indication that this is for retrieval versus modification, or when to prefer it over other list tools. No usage context or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_knowledge_basesC
List knowledge bases from ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| active | No | Filter by active status | |
| limit | No | Maximum number of knowledge bases to return | |
| offset | No | Offset for pagination | |
| query | No | Search query for knowledge bases |
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 the basic action. It doesn't mention whether this is a read-only operation, if it requires authentication, potential rate limits, pagination behavior beyond the schema, or what the output format looks like. For a list operation 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 list operation and front-loads the core purpose immediately. 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 (a list operation with filtering/pagination), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what a 'knowledge base' entails in ServiceNow context, what fields are returned, or behavioral aspects like error handling. The schema covers parameters well, but overall context is lacking for effective tool 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, clearly documenting all four parameters (active, limit, offset, query) with their purposes. 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 distinguish this tool from other list tools in the sibling set (like list_articles, list_categories, etc.), which would require mentioning what makes knowledge bases unique or when to prefer this over other list 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. Given the extensive sibling tool list including other list operations (e.g., list_articles, list_categories) and a create_knowledge_base tool, there's no mention of prerequisites, typical use cases, or how this fits into workflows. 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.
list_projectsC
List projects from ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| assignment_group | No | Filter by assignment group | |
| limit | No | Maximum number of records to return | |
| offset | No | Offset to start from | |
| query | No | Additional query string | |
| state | No | Filter by state | |
| timeframe | No | Filter by timeframe (upcoming, in-progress, completed) |
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 doesn't disclose behavioral traits like whether this is a read-only operation (implied by 'list'), pagination behavior (though schema has limit/offset), authentication needs, rate limits, or what the output looks like. 'List projects' suggests a safe read, but no explicit confirmation.
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 4 words with zero waste. It's front-loaded with the core action and resource. Every word earns its place, 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?
For a tool with 6 parameters, no annotations, and no output schema, the description is inadequate. It doesn't explain return values, error conditions, or behavioral context. While the schema covers parameters well, the overall context for agent usage 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%, so parameters are well-documented in the schema. The description adds no parameter information beyond what's in the schema, but this is acceptable given the high coverage. 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 'List projects from ServiceNow' states the basic action (list) and resource (projects) but is vague about scope and filtering capabilities. It doesn't distinguish this from other list tools like list_articles or list_change_requests, nor does it specify if this lists all projects or has inherent filtering.
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. There's no mention of prerequisites, typical use cases, or comparison with sibling tools like get_project (if it existed) or create_project. The agent must infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_script_includesB
List script includes from ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| active | No | Filter by active status | |
| client_callable | No | Filter by client callable status | |
| limit | No | Maximum number of script includes to return | |
| offset | No | Offset for pagination | |
| 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 for behavioral disclosure but only states the basic action. It doesn't mention whether this is a read-only operation, if it requires authentication, what the return format looks like, or any rate limits. For a listing tool with 5 parameters and no annotations, 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 a single, efficient sentence with zero wasted words. It's appropriately sized for a listing tool and front-loads the essential information (action + resource). 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 5 parameters with 100% schema coverage but no output schema and no annotations, the description provides the minimum viable context. It states what the tool does but doesn't explain return values, error conditions, or behavioral traits. For a read operation with good schema documentation, this is adequate but has clear gaps in behavioral transparency.
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 with clear descriptions. The description adds no additional parameter information beyond what's in the schema, which meets the baseline for high coverage but doesn't provide extra value like explaining relationships between parameters or 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 clearly states the action ('List') and resource ('script includes from ServiceNow'), providing a specific verb+resource combination. However, it doesn't differentiate from sibling tools like 'get_script_include' (singular retrieval) or 'create_script_include' (creation), 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 like 'get_script_include' for single records or 'create_script_include' for creation. There's no mention of prerequisites, context, or exclusions, leaving the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_scrum_tasksC
List scrum tasks from ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| assignment_group | No | Filter by assignment group | |
| limit | No | Maximum number of records to return | |
| offset | No | Offset to start from | |
| query | No | Additional query string | |
| state | No | Filter by state | |
| timeframe | No | Filter by timeframe (upcoming, in-progress, completed) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. 'List' implies a read operation, but the description doesn't disclose behavioral traits like pagination behavior (implied by limit/offset parameters), authentication requirements, rate limits, or what happens when no tasks match filters. It mentions the source system but provides no 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 list operation and front-loads the essential information (verb + resource + source). 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 list tool with 6 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what 'scrum tasks' are in ServiceNow context, what fields are returned, how results are ordered, or error conditions. The agent must rely entirely on the input schema for parameter 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 all parameters are documented in the schema. The description adds no 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 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 'List scrum tasks from ServiceNow' clearly states the verb ('List') and resource ('scrum tasks'), but it's vague about scope and doesn't distinguish from sibling tools like 'list_stories' or 'list_epics' that also list ServiceNow entities. It specifies the source ('from ServiceNow') which is helpful 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 about when to use this tool versus alternatives. With many sibling list tools (list_stories, list_epics, list_incidents, etc.), the description doesn't explain what makes scrum tasks distinct or when they should be listed versus other entity types.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_storiesC
List stories from ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| assignment_group | No | Filter by assignment group | |
| limit | No | Maximum number of records to return | |
| offset | No | Offset to start from | |
| query | No | Additional query string | |
| state | No | Filter by state | |
| timeframe | No | Filter by timeframe (upcoming, in-progress, completed) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. 'List stories' implies a read-only operation, but the description doesn't disclose pagination behavior (implied by limit/offset parameters), authentication requirements, rate limits, or what format/structure the returned stories will have. For a listing tool with 6 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 wasted words. It's appropriately sized for a listing operation and front-loads the essential information (verb + 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 tool has 6 parameters, no annotations, and no output schema, the description is insufficiently complete. It doesn't explain what constitutes a 'story' in ServiceNow context, what fields are returned, or how results are structured. For a listing tool in a complex system with many similar entities, 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. 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 ('List') and resource ('stories from ServiceNow'), making the purpose immediately understandable. It doesn't explicitly distinguish from sibling tools like 'list_epics' or 'list_scrum_tasks', but the resource specificity is adequate for basic understanding.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 (list_epics, list_scrum_tasks, list_story_dependencies, etc.), there's no indication of what distinguishes 'stories' from these other entities or when an agent should choose this specific listing tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_story_dependenciesC
List story dependencies from ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| dependent_story | No | Sys_id of the dependent story is required | |
| limit | No | Maximum number of records to return | |
| offset | No | Offset to start from | |
| prerequisite_story | No | Sys_id that this story depends on is required | |
| 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' implies a read operation, but the description doesn't specify whether this requires authentication, what permissions are needed, whether results are paginated, or what happens when no dependencies exist. It mentions 'from ServiceNow' but doesn't explain the system context or potential rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at just 5 words. It's front-loaded with the core purpose and wastes no words. Every word earns its place by specifying what's being listed and from where.
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 insufficient. It doesn't explain what a 'story dependency' actually is in ServiceNow context, what format the results take, or how to interpret the returned data. The agent must rely entirely on parameter names and schema descriptions without understanding the domain semantics.
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. It doesn't explain how parameters interact (e.g., whether 'dependent_story' and 'prerequisite_story' can be used together) or provide examples of valid query strings.
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 story dependencies from ServiceNow' which clearly indicates it retrieves dependency information. However, it doesn't specify what format the dependencies are returned in or how they're structured, and it doesn't differentiate from sibling tools like 'create_story_dependency' or 'delete_story_dependency' beyond the basic verb difference.
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 when to use this versus 'list_stories' or how it relates to 'create_story_dependency' and 'delete_story_dependency' operations. The agent must infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tool_packagesC
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 what the tool does but doesn't describe how it behaves: no information on output format (e.g., list structure, pagination), permissions required, rate limits, or whether it's a read-only operation. For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
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 ('Lists') and resources, making it easy to parse. Every part of the sentence earns its place by specifying both available and currently loaded packages.
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 lack of annotations and output schema, the description is incomplete for a tool that likely returns structured data about tool packages. It doesn't explain what information is included in the listing (e.g., package names, versions, status) or how to interpret the output. For a list operation 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?
The input schema has 100% description coverage, with one parameter clearly documented as a 'Dummy parameter for no-parameter tools.' The description adds no additional parameter information beyond what the schema provides. According to the rules, when schema_description_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 tool's purpose with the verb 'Lists' and specifies the resources 'available tool packages and the currently loaded one.' It distinguishes itself from sibling tools by focusing on tool packages rather than articles, users, workflows, etc. However, it doesn't explicitly differentiate from hypothetical similar tools like 'list_tools' or 'get_tool_package_details' that might exist elsewhere.
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, timing considerations, or how it relates to other tools in the sibling list (e.g., whether it should be used before activating workflows or creating script includes). 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.
list_usersC
List users in ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| active | No | Filter by active status | |
| department | No | Filter by department | |
| limit | No | Maximum number of users to return | |
| offset | No | Offset for pagination | |
| 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?
No annotations are provided, so the description carries full burden for behavioral disclosure. 'List users' implies a read-only operation, but it doesn't mention pagination behavior (implied by offset/limit parameters), authentication requirements, rate limits, or what fields are returned. This leaves significant gaps for a tool with 5 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 for a straightforward list operation 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?
Given the tool's complexity (5 parameters, no output schema, no annotations), the description is inadequate. It doesn't explain return format, pagination behavior, or how parameters interact (e.g., query vs. department filtering). For a list tool with multiple filtering options, more context is needed to help the agent 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?
The description adds no parameter information beyond what's already in the schema, which has 100% coverage with clear descriptions for all 5 parameters (active, department, limit, offset, query). This meets the baseline of 3 since the schema does the heavy lifting, but the description provides no additional context about parameter interactions or usage.
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 users in ServiceNow' clearly states the verb ('List') and resource ('users'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'get_user' or 'create_user' beyond the basic action, 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 siblings like 'get_user' (likely for retrieving a single user) and 'create_user', the agent receives no explicit or implied direction about appropriate contexts or exclusions for this list operation.
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 |
|---|---|---|---|
| active | No | Filter by active status | |
| limit | No | Maximum number of records to return | |
| name | No | Filter by name (contains) | |
| offset | No | Offset to start from | |
| 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 but only states the basic action without details on permissions, rate limits, pagination, or response format. It doesn't clarify if this is a read-only operation, what data is returned, or any constraints, leaving significant gaps for an agent to understand 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, clear sentence with no wasted words, making it efficient and easy to parse. However, it's overly brief and could benefit from more detail to improve utility without sacrificing conciseness, as it currently under-specifies the tool's scope and behavior.
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 lack of annotations and output schema, the description is incomplete for a tool with 5 parameters and no behavioral context. It doesn't explain what 'list' returns (e.g., workflow names, IDs, metadata), how results are structured, or any operational limits, making it inadequate for an agent to use the tool effectively without additional assumptions.
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 5 parameters well-documented in the schema (e.g., 'active' for filtering by status, 'limit' for maximum records). The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline of 3 for adequate but not enhanced 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 workflows from ServiceNow' states the basic action (list) and resource (workflows) with the source (ServiceNow), making the purpose understandable. However, it lacks specificity about what 'list' entails (e.g., retrieving metadata, filtering capabilities) and doesn't distinguish it from sibling tools like 'get_workflow_details' or 'list_workflow_versions', leaving room for ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'get_workflow_details' for specific workflows or 'list_workflow_versions' for version history, nor does it specify prerequisites or contexts where listing workflows is appropriate, such as for overviews or bulk operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_workflow_versionsC
List workflow versions from ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of records to return | |
| offset | No | Offset to start from | |
| 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 but offers minimal information. It doesn't mention whether this is a read-only operation, what permissions might be required, how results are structured, whether pagination is handled, or any rate limits. The description merely restates the tool name without adding meaningful 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 5 words, with zero wasted language. It's front-loaded with the essential action and resource, making it efficient for quick scanning. Every word earns its place in this minimal description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 parameters, no annotations, and no output schema, the description is insufficiently complete. It doesn't explain what workflow versions are, how they differ from workflows, what information is returned, or any behavioral characteristics. The description fails to compensate for the lack of structured metadata that would help an agent understand this tool's proper 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?
With 100% schema description coverage, the schema already documents all three parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema. The baseline score of 3 reflects adequate parameter documentation through the schema alone, though the description contributes nothing extra.
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'), providing a specific verb+resource combination. However, it doesn't differentiate from sibling tools like 'list_workflows' or 'get_workflow_details', which would require more specificity about what distinguishes workflow versions from 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?
The description provides no guidance on when to use this tool versus alternatives. With many sibling tools available (including 'list_workflows', 'get_workflow_details', and 'get_workflow_activities'), there's no indication of when this specific version-listing tool is appropriate versus other workflow-related tools.
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?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action is a 'move', implying mutation, but doesn't cover critical aspects like permissions required, whether the operation is reversible, effects on item references or dependencies, error handling, 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 directly states the tool's purpose without unnecessary words. It is front-loaded with the core action and resource, making it easy to parse quickly. Every part of the sentence contributes 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 no annotations and no output schema, the description is incomplete. It lacks details on behavioral traits (e.g., side effects, permissions), usage context, and what to expect upon success or failure. Given the complexity of moving items between categories, more guidance is needed to ensure safe and correct 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 both parameters ('item_ids' and 'target_category_id') with clear descriptions. The description adds no additional meaning beyond implying that items are moved as a batch to a single category, which is already inferred from the parameter names and schema. 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 ('move') and resource ('catalog items'), specifying the destination ('to a different category'). It distinguishes from siblings like 'update_catalog_item' or 'create_catalog_category' by focusing on relocation rather than modification or creation. However, it doesn't explicitly differentiate from potential similar tools like 'reorder_catalog_items' or 'transfer_catalog_items' if they existed.
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 mention prerequisites (e.g., items must exist, target category must be valid), or contrast with tools like 'update_catalog_item' for changing other properties. The description lacks context about use cases or limitations.
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?
With no annotations provided, the description carries full burden for behavioral disclosure. 'Publish' implies a state change operation, but the description doesn't specify whether this is reversible, what permissions are required, whether it triggers notifications or workflows, or what happens to the article's visibility. For a mutation tool with zero annotation coverage, this is a significant gap in behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise - a single 4-word phrase. While this is efficient, it's arguably too brief given the tool's complexity (a mutation operation with 3 parameters). Every word earns its place, but more context would be helpful for such an 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 inadequate. It doesn't explain what 'publishing' means in this context, what the expected outcome is, whether there are side effects, or how this differs from related article operations. The combination of mutation behavior, multiple parameters, and lack of structured metadata demands 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 the schema already documents all three parameters (article_id, workflow_state, workflow_version) with their descriptions. The tool description adds no additional parameter information beyond what's in the schema. According to the 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 'Publish a knowledge article' clearly states the verb ('publish') and resource ('knowledge article'), which is better than a tautology. However, it doesn't distinguish this tool from sibling tools like 'update_article' or 'create_article' - it's unclear what makes publishing different from updating or creating an article in this system.
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 article-related tools (create_article, update_article, get_article, list_articles) but no indication of when publishing is appropriate versus updating, or what prerequisites might exist for publishing an article.
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 the full burden of behavioral disclosure. 'Publish' implies a significant state change, but the description doesn't explain what publishing entails - whether it's irreversible, requires approvals, triggers notifications, affects visibility, or has side effects. For a mutation tool with zero annotation coverage, this leaves critical behavioral aspects unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
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 only two parameters and gets straight to the point. Every word earns its place, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 'publish' means operationally, what the expected outcome is, or how this differs from related changeset operations. Given the complexity implied by 'publish' (likely a significant state transition) and the lack of structured metadata, the description should provide more behavioral 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 both parameters are documented in the schema. The description adds no parameter information beyond what the schema provides. The baseline score of 3 is appropriate when the schema does all the parameter documentation work, though the description could have added context about parameter relationships or usage patterns.
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 changeset in ServiceNow' clearly states the action (publish) and resource (changeset) with the platform context (ServiceNow). However, it doesn't differentiate from sibling tools like 'commit_changeset' or 'update_changeset' - the specific meaning of 'publish' versus these alternatives isn't explained. The purpose is understandable but lacks 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 sibling tools like 'commit_changeset' and 'update_changeset' available, there's no indication of the workflow sequence or decision criteria. The description doesn't mention prerequisites, dependencies, or appropriate contexts for publishing versus other changeset operations.
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 |
|---|---|---|---|
| approver_id | No | ID of the approver | |
| change_id | Yes | Change request ID or sys_id | |
| 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' implies a mutation that alters the state of a change request, but the description doesn't specify whether this requires specific permissions, is irreversible, triggers notifications, or affects related workflows. It lacks critical context for a destructive operation in a change management system.
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 understandable. Every word earns its place by conveying the essential purpose 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 complexity of a mutation tool in a change management context with no annotations and no output schema, the description is incomplete. It doesn't explain the outcome (e.g., status change, notifications), error conditions, or system behavior, leaving 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 parameter descriptions in the schema itself (e.g., 'change_id' as 'Change request ID or sys_id', 'rejection_reason' as 'Reason for rejection'). The tool description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline score of 3 for adequate coverage through structured data 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 'Reject a change request' clearly states the verb ('reject') and resource ('change request'), providing basic purpose. However, it doesn't distinguish this tool from sibling tools like 'approve_change' or 'submit_change_for_approval' beyond the obvious semantic difference, and it lacks specificity about what kind of change request system this operates within.
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 state), contrast with 'approve_change', or indicate when rejection is appropriate versus other actions like updating or commenting. The agent must 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.
remove_group_membersB
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 specify whether this requires special permissions, whether removal is permanent or reversible, what happens if members don't exist, or any rate limits/constraints. It provides minimal behavioral context beyond the basic 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 with zero wasted words. It's appropriately sized for a straightforward tool 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 destructive mutation tool with no annotations and no output schema, the description is minimally adequate but has significant gaps. It identifies the operation but lacks crucial context about permissions, consequences, error conditions, and what the tool returns. The 100% schema coverage helps, but behavioral transparency remains insufficient.
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 thoroughly. The description doesn't add any additional parameter semantics beyond what's in the schema (e.g., format examples, edge cases, or validation rules). 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 action ('Remove members') and target resource ('from an existing group in ServiceNow'), providing a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'update_group' or 'delete_group' which might also affect group membership.
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 admin permissions), when not to use it, or how it differs from related operations like 'update_group' which might also modify membership.
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 |
|---|---|---|---|
| activity_ids | Yes | List of activity IDs in the desired order | |
| 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 the full burden of behavioral disclosure. It states the action is 'reorder,' implying a mutation, but does not specify if this requires specific permissions, whether the order change is immediate or requires saving, or what happens to activities not listed in the input. This leaves critical behavioral aspects unclear.
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 no unnecessary words, making it highly concise and front-loaded. Every word contributes to stating the tool's purpose efficiently.
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 mutation tool with no annotations and no output schema, the description is insufficient. It lacks details on behavioral traits (e.g., side effects, error conditions), usage context, and expected outcomes, leaving the agent with incomplete information 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?
The schema description coverage is 100%, with both parameters clearly documented in the schema (e.g., 'activity_ids' as a list of IDs in desired order). The description does not add any additional meaning beyond what the schema provides, such as format examples or constraints, 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 ('reorder') and resource ('activities in a workflow'), making the purpose immediately understandable. However, it does not differentiate from sibling tools like 'update_workflow_activity' or 'add_workflow_activity', which could involve similar resources but different 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?
No guidance is provided on when to use this tool versus alternatives. For example, it does not specify if this should be used after adding activities or as part of workflow editing, nor does it mention prerequisites like needing an existing workflow with activities.
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 an incident' implies a state-changing write operation, but the description doesn't specify whether this requires specific permissions, whether the resolution is reversible, what happens to related records, or what the typical response looks like. 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 maximally concise - a single sentence with zero wasted words. It's front-loaded with the essential information (verb + resource) and contains no 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 inadequate. It doesn't explain what 'resolving' means in this context, what happens after resolution, whether there are side effects, or what the tool returns. The combination of a write operation with minimal description creates significant gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides no parameter information, but the input schema has 100% description coverage, with clear documentation for all three required parameters (incident_id, resolution_code, resolution_notes). The baseline score of 3 is appropriate when the schema does 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 clearly states the action ('Resolve') and resource ('an incident in ServiceNow'), making the purpose immediately understandable. However, it doesn't differentiate this tool from sibling tools like 'update_incident' or 'create_incident' - it doesn't specify that this is specifically for marking incidents as resolved 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. With sibling tools like 'update_incident' and 'create_incident' available, there's no indication whether this is for final resolution versus intermediate status updates, or what prerequisites might be needed before resolving an incident.
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 |
|---|---|---|---|
| approval_comments | No | Comments for the approval request | |
| change_id | Yes | Change request 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. 'Submit a change request for approval' implies a mutation that may trigger notifications or workflow transitions, but it doesn't specify permissions required, side effects, error conditions, or what happens after submission. For a tool that likely alters system state, this lack of detail 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 no wasted words. It's front-loaded with the core action, though it could benefit from slightly more detail given the tool's likely complexity. There's no fluff or redundancy, 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?
For a mutation tool with no annotations and no output schema, the description is insufficient. It doesn't cover behavioral aspects like what the tool returns, error handling, or system impacts. Given the context of change management and numerous sibling tools, more detail is needed to guide effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with clear documentation for both parameters (change_id and approval_comments). The description adds no additional parameter semantics beyond what's in the schema—it doesn't explain format expectations, examples, or how parameters interact. This meets the baseline for high schema coverage but doesn't enhance 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 'Submit a change request for approval' clearly states the action (submit) and target (change request), but it's somewhat vague about the exact nature of the operation. It doesn't specify whether this initiates an approval workflow, sends notifications, or updates status. While it distinguishes from obvious siblings like 'create_change_request' or 'approve_change', it lacks the specificity needed for a higher 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. Given siblings like 'approve_change' and 'reject_change', it's unclear if this is for initial submission, re-submission, or specific workflow states. There's no mention of prerequisites, timing, or context for invocation, leaving the agent to guess based on tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_articleC
Update an existing knowledge article
| Name | Required | Description | Default |
|---|---|---|---|
| article_id | Yes | ID of the article to update | |
| category | No | Updated category for the article | |
| keywords | No | Updated keywords for search | |
| short_description | No | Updated short description | |
| text | No | Updated main body text for the article. Field supports html formatting and wiki markup based on the article_type. HTML is the default. | |
| title | No | Updated title of the article |
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's an update operation without disclosing behavioral traits. It doesn't mention whether this requires specific permissions, whether updates are immediately published or require approval, what happens to unchanged fields, error conditions, or response format. 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 any wasted words. It's appropriately sized for a tool with comprehensive schema documentation and gets straight to the point with no 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 6 parameters, no annotations, and no output schema, the description is inadequate. It doesn't explain what happens after update, whether there are side effects, what permissions are required, or how to verify the update succeeded. The combination of mutation operation + zero annotations + no output schema demands more contextual information 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 documents all 6 parameters thoroughly. The description adds no parameter information beyond what's in the schema. The baseline of 3 is appropriate when the schema does all the parameter documentation work, though the description could have added context about how parameters interact or partial update behavior.
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 knowledge article'), making the purpose immediately understandable. It distinguishes from sibling tools like 'create_article' by specifying 'existing', but doesn't differentiate from other update tools like 'update_catalog_item' or 'update_incident' that might have similar patterns.
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 article_id from get_article or list_articles), doesn't specify when partial updates are allowed versus full replacements, and doesn't differentiate from other content management tools in the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_catalog_categoryC
Update an existing service catalog category.
| Name | Required | Description | Default |
|---|---|---|---|
| active | No | Whether the category is active | |
| category_id | Yes | Category ID or sys_id | |
| description | No | Description of the category | |
| icon | No | Icon for the category | |
| order | No | Order of the category | |
| parent | No | Parent category sys_id | |
| title | No | Title 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. 'Update' implies a mutation operation, but the description doesn't disclose required permissions, whether changes are reversible, what happens to unspecified fields, or any rate limits. For a mutation tool with zero annotation coverage, this is a significant gap in behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
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 good 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 7 parameters, no annotations, and no output schema, the description is insufficiently complete. It doesn't explain what 'update' entails operationally, what permissions are needed, what the response looks like, or how it differs from similar update tools. The combination of mutation behavior and lack of structured metadata 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 the schema already documents all 7 parameters thoroughly. The description adds no parameter-specific 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 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 target resource ('an existing service catalog category'), providing specific verb+resource pairing. However, it doesn't distinguish this tool from other update tools like update_catalog_item or update_category, which would require mentioning it's specifically for catalog categories rather than items or generic 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 no guidance on when to use this tool versus alternatives like create_catalog_category or list_catalog_categories. It mentions 'existing' which implies a prerequisite (the category must already exist), but offers no explicit when/when-not guidance or comparison to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_catalog_itemC
Update a service catalog item.
| Name | Required | Description | Default |
|---|---|---|---|
| active | No | ||
| category | No | ||
| description | No | ||
| item_id | Yes | ||
| name | No | ||
| order | No | ||
| price | No | ||
| short_description | No |
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 ('update') without disclosing behavioral traits. It doesn't mention permissions required, whether updates are partial or full, what happens to unspecified fields, 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 definition and front-loaded with the core action, though this brevity contributes to gaps in other dimensions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, 0% schema coverage, no annotations, and no output schema, the description is incomplete. It doesn't explain what 'update' entails, what fields are modifiable, the update behavior, or expected outcomes, leaving significant gaps for agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning none of the 8 parameters are documented in the schema. The description adds no parameter information beyond the tool name, failing to compensate for the coverage gap. It doesn't explain what 'item_id', 'active', 'category', etc., represent or how they interact.
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 service catalog item' clearly states the verb ('update') and resource ('service catalog item'), providing basic purpose. However, it lacks specificity about what aspects can be updated and doesn't differentiate from sibling tools like 'update_catalog_category' or 'update_catalog_item_variable', 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, context for updates, or differentiate from other update tools in the sibling list (e.g., update_catalog_category). This leaves the agent with no usage direction.
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 |
|---|---|---|---|
| default_value | No | Default value for the variable | |
| description | No | Description of the variable | |
| help_text | No | Help text to display with the variable | |
| label | No | The display label for the variable | |
| mandatory | No | Whether the variable is required | |
| max | No | Maximum value for numeric fields | |
| max_length | No | Maximum length for string fields | |
| min | No | Minimum value for numeric fields | |
| order | No | Display order of the variable | |
| reference_qualifier | No | For reference fields, the query to filter reference options | |
| variable_id | Yes | The sys_id of the variable to update |
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 'Update a catalog item variable' without explaining what 'update' entails—whether it's a partial or full update, if it requires specific permissions, what happens to unspecified fields, whether changes are reversible, or what the response looks like. For a mutation tool with zero annotation coverage, this is a significant gap in behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with just four words: 'Update a catalog item variable'. It's front-loaded and wastes no words, though this brevity comes at the cost of completeness. Every word serves a purpose, making it efficient in structure despite its informational shortcomings.
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 and output schema, the description is incomplete. It doesn't explain the tool's behavior, return values, or usage context. While the schema covers parameters well, the description fails to provide necessary context for a mutation tool, especially with no output schema to clarify results.
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 11 parameters well-documented in the input schema (e.g., 'default_value', 'description', 'help_text', 'variable_id'). The description adds no additional parameter semantics beyond what's already in the schema. According to the rules, when schema coverage is high (>80%), the baseline score 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 'Update a catalog item variable' is a tautology that essentially restates the tool name 'update_catalog_item_variable'. It doesn't specify what aspect of the variable gets updated (e.g., metadata, constraints, values) or what 'catalog item variable' means in this context. While it includes the verb 'update' and resource 'catalog item variable', it lacks specificity about scope or purpose beyond the obvious.
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_catalog_item_variable' and 'list_catalog_item_variables', there's no indication of when to use update versus create, or whether this is for modifying existing variables versus other operations. There are no prerequisites, exclusions, or contextual hints provided.
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 |
|---|---|---|---|
| assignment_group | No | Group assigned to the change | |
| category | No | Category of the change | |
| change_id | Yes | Change request ID or sys_id | |
| description | No | Detailed description of the change request | |
| end_date | No | Planned end date (YYYY-MM-DD HH:MM:SS) | |
| impact | No | Impact of the change | |
| risk | No | Risk level of the change | |
| short_description | No | Short description of the change request | |
| start_date | No | Planned start date (YYYY-MM-DD HH:MM:SS) | |
| state | No | State of the change request | |
| 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?
With no annotations provided, the description carries full burden for behavioral disclosure but provides minimal information. It states this updates an existing change request, implying mutation, but doesn't cover important aspects like required permissions, whether updates are partial or complete, how validation works, what happens on failure, or typical response format. For a mutation tool with 11 parameters, this is inadequate 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 gets straight to the point with zero wasted words. It's appropriately sized for a tool with a clear name and comprehensive schema documentation. Every word earns its place by specifying the action, resource, and context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 11 parameters, no annotations, and no output schema, the description is incomplete. It doesn't address behavioral aspects like permissions, validation, error handling, or response format. While the schema covers parameters well, the description fails to provide the contextual information needed for an agent to use this tool effectively in a ServiceNow change management workflow.
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 11 parameters thoroughly with titles, descriptions, types, defaults, and required status. 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 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 change request in ServiceNow'), making the purpose immediately understandable. It distinguishes this from creation tools like 'create_change_request' by specifying 'existing'. However, it doesn't explicitly differentiate from other update tools like 'update_article' or 'update_incident' beyond the resource type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 change_id), when not to use it (e.g., for creating new requests), or how it relates to sibling tools like 'approve_change', 'reject_change', or 'submit_change_for_approval' that might handle specific state transitions. Usage is implied but not explicitly stated.
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 | |
| description | No | Description of the changeset | |
| developer | No | Developer responsible for the changeset | |
| name | No | Name of the changeset | |
| state | No | State of the changeset |
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 provides minimal information. It states this is an update operation (implying mutation) but doesn't mention required permissions, whether changes are reversible, what happens when only some fields are provided, 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 gets straight to the point with zero wasted words. It's appropriately sized for a tool with a clear purpose and well-documented schema.
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 during the update, what the response contains, or any error conditions. Given the complexity of updating a changeset 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%, so the schema already fully documents all 5 parameters. The description adds no additional parameter information beyond what's in the schema. According to the 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 changeset in ServiceNow'), making the purpose immediately understandable. However, it doesn't differentiate this tool from similar sibling tools like 'update_change_request' or 'update_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 'create_changeset', 'get_changeset_details', 'list_changesets', 'commit_changeset', and 'publish_changeset' available, there's no indication of when this update operation is appropriate versus those other operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_epicC
Update an existing epic in ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| assigned_to | No | User assigned to the epic | |
| assignment_group | No | Group assigned to the epic | |
| description | No | Detailed description of the epic | |
| epic_id | Yes | Epic ID or sys_id | |
| priority | No | Priority of epic (1 is Critical, 2 is High, 3 is Moderate, 4 is Low, 5 is Planning) | |
| short_description | No | Short description of the epic | |
| state | No | State of story (-6 is Draft,1 is Ready,2 is Work in progress, 3 is Complete, 4 is Cancelled) | |
| work_notes | No | Work notes to add to the epic. Used for adding notes and comments to an epic |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. 'Update an existing epic' implies a mutation operation but doesn't disclose behavioral traits like required permissions, whether changes are reversible, rate limits, or what happens to unspecified fields. 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 wasted words. It's appropriately sized and front-loaded with the essential action and target.
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 inadequate. It doesn't explain what happens during an update, what the response looks like, or any system constraints. The high schema coverage helps with parameters, but behavioral and output context is missing.
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 8 parameters thoroughly with descriptions and defaults. The description adds no additional parameter information beyond what's in the schema, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 epic in ServiceNow'), making the purpose unambiguous. However, it doesn't differentiate this tool from other update tools like update_story or update_change_request, which would require mentioning specific epic fields or 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. With sibling tools like update_story and update_change_request, there's no indication of when an epic update is appropriate versus other entity updates, nor any prerequisites or constraints mentioned.
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 |
|---|---|---|---|
| active | No | Whether the group is active | |
| description | No | Description of the group | |
| No | Email address for the group | ||
| group_id | Yes | Group ID or sys_id to update | |
| manager | No | Manager of the group (sys_id or username) | |
| name | No | Name of the group | |
| parent | No | Parent group (sys_id or name) | |
| type | No | Type of the group |
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 whether this requires admin permissions, what happens to unspecified fields (partial vs. full update), whether changes are reversible, 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 and front-loaded with the core 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 mutation tool with 8 parameters, no annotations, and no output schema, the description is insufficient. It doesn't address behavioral aspects (permissions, side effects), usage context, or return values. The 100% schema coverage helps with parameters but doesn't compensate for other critical 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%, with all 8 parameters well-documented in the schema itself. The description adds no parameter-specific information beyond what's in the schema (e.g., it doesn't clarify parameter interactions or provide examples). 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 clearly states the action ('Update') and target resource ('an existing group in ServiceNow'), providing a specific verb+resource combination. However, it doesn't differentiate this tool from its sibling 'create_group' or other update tools like 'update_user' or 'update_workflow' 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 like 'create_group' for new groups or 'list_groups' for viewing. It doesn't mention prerequisites (e.g., needing the group_id) or contextual constraints (e.g., permissions required).
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 |
|---|---|---|---|
| assigned_to | No | User assigned to the incident | |
| assignment_group | No | Group assigned to the incident | |
| category | No | Category of the incident | |
| close_code | No | Close code for the incident | |
| close_notes | No | Close notes to add to the incident | |
| description | No | Detailed description of the incident | |
| impact | No | Impact of the incident | |
| incident_id | Yes | Incident ID or sys_id | |
| priority | No | Priority of the incident | |
| short_description | No | Short description of the incident | |
| state | No | State of the incident | |
| subcategory | No | Subcategory of the incident | |
| urgency | No | Urgency of the incident | |
| work_notes | No | Work notes to add to 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. While 'Update' implies a mutation operation, the description doesn't address critical behavioral aspects: what permissions are required, whether updates are reversible, how partial updates are handled, what happens to unspecified fields, or what the response contains. For a mutation tool with 14 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 a single, efficient sentence that states the core purpose without any wasted words. It's appropriately sized for a basic tool description and gets straight to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (14 parameters, mutation operation) and the absence of both annotations and an output schema, the description is inadequate. It doesn't explain what happens after the update, what the return value contains, or any behavioral constraints. For a tool that modifies critical incident data, more contextual information is needed to help an agent use it correctly.
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 in the schema itself. The description adds no additional parameter semantics 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 parameter information 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 incident in ServiceNow'), making the purpose immediately understandable. However, it doesn't differentiate this from sibling tools like 'update_article' or 'update_change_request' beyond specifying the incident 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 like 'create_incident', 'resolve_incident', or 'list_incidents'. It doesn't mention prerequisites (e.g., needing an existing incident ID) or contextual factors that would help an agent choose between update operations on different resources.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_projectC
Update an existing project in ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| assigned_to | No | User assigned to the project | |
| assignment_group | No | Group assigned to the project | |
| description | No | Detailed description of the project | |
| end_date | No | End date for the project | |
| percentage_complete | No | Percentage complete for the project | |
| project_id | Yes | Project ID or sys_id | |
| project_manager | No | Project manager for the project | |
| short_description | No | Project name of the project | |
| start_date | No | Start date for the project | |
| state | No | State of project (-5 is Pending,1 is Open, 2 is Work in progress, 3 is Closed Complete, 4 is Closed Incomplete, 5 is Closed Skipped) | |
| status | No | Status of the project (green, yellow, red) |
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 'Update' implies a mutation, but fails to mention critical details like required permissions, whether changes are reversible, error handling, 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 directly states the tool's purpose without any wasted words. It's appropriately sized and front-loaded, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 11 parameters, no annotations, and no output schema, the description is insufficient. It lacks behavioral context, usage guidelines, and output information, leaving significant gaps for an agent to understand how to use this tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 11 parameters. The description adds no additional parameter information beyond what's in the schema, meeting the baseline score 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 ('Update') and resource ('an existing project in ServiceNow'), making the purpose unambiguous. However, it doesn't differentiate from sibling tools like 'update_change_request' or 'update_incident' beyond the resource type, which is why it doesn't reach 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 an existing project ID), compare to 'create_project' for new projects, or indicate any contextual constraints, leaving the agent without usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_script_includeC
Update an existing script include in ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| access | No | Access level of the script include | |
| active | No | Whether the script include is active | |
| api_name | No | API name of the script include | |
| client_callable | No | Whether the script include is client callable | |
| description | No | Description of the script include | |
| script | No | Script content | |
| script_include_id | Yes | Script include ID or name |
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 required permissions, whether changes are reversible, potential side effects, error conditions, 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 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 7 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what happens when parameters are omitted, whether partial updates are allowed, what the tool returns, or any behavioral constraints. The combination of mutation operation, multiple parameters, and lack of structured metadata 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?
The 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 schema. According to the 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 target resource ('an existing script include in ServiceNow'), making the purpose immediately understandable. However, it doesn't distinguish this tool from sibling tools like 'update_article' or 'update_change_request' beyond the resource type, and doesn't specify 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 (like needing the script_include_id), when not to use it, or how it differs from related tools like 'create_script_include' or 'delete_script_include' that appear in the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_scrum_taskC
Update an existing scrum task in ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| assigned_to | No | User assigned to the scrum task | |
| assignment_group | No | Group assigned to the scrum task | |
| description | No | Detailed description of the scrum task | |
| hours | No | Actual Hours for the scrum task | |
| planned_hours | No | Planned hours for the scrum task | |
| priority | No | Priority of scrum task (1 is Critical, 2 is High, 3 is Moderate, 4 is Low) | |
| remaining_hours | No | Remaining hours for the scrum task | |
| scrum_task_id | Yes | Scrum Task ID or sys_id | |
| short_description | No | Short description of the scrum task | |
| state | No | State of scrum task (-6 is Draft,1 is Ready, 2 is Work in progress, 3 is Complete, 4 is Cancelled) | |
| type | No | Type of scrum task (1 is Analysis, 2 is Coding, 3 is Documentation, 4 is Testing) | |
| work_notes | No | Work notes to add to the scrum task |
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 it's an update operation, implying mutation, but doesn't disclose critical details like required permissions, whether changes are reversible, error handling, or rate limits. 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, straightforward sentence with no wasted words. It's front-loaded with the core action and resource, making it highly efficient and 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 (12 parameters, mutation operation) and lack of annotations or output schema, the description is insufficient. It doesn't explain what the tool returns, error conditions, or behavioral nuances, leaving the agent with incomplete information 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?
The schema description coverage is 100%, with each parameter well-documented in the schema itself (e.g., priority values explained as '1 is Critical, 2 is High...'). The description adds no additional parameter semantics beyond the schema, so it meets the baseline for high 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 states the action ('Update') and resource ('existing scrum task in ServiceNow'), which is clear but basic. It doesn't distinguish this tool from other update tools like 'update_story' or 'update_epic' in the sibling list, nor does it specify what aspects can be updated beyond the generic term.
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 mention prerequisites like needing an existing scrum task ID or differentiate from 'create_scrum_task' for new tasks. The description lacks any context about appropriate scenarios or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_storyC
Update an existing story in ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| acceptance_criteria | No | Acceptance criteria for the story | |
| assigned_to | No | User assigned to the story | |
| assignment_group | No | Group assigned to the story | |
| description | No | Detailed description of the story | |
| epic | No | Epic that the story belongs to. It requires the System ID of the epic. | |
| project | No | Project that the story belongs to. It requires the System ID of the project. | |
| short_description | No | Short description of the story | |
| state | No | State of story (-6 is Draft,-7 is Ready for Testing,-8 is Testing,1 is Ready, 2 is Work in progress, 3 is Complete, 4 is Cancelled) | |
| story_id | Yes | Story IDNumber or sys_id. You will need to fetch the story to get the sys_id if you only have the story number | |
| story_points | No | Points value for the story | |
| work_notes | No | Work notes to add to the story. Used for adding notes and comments to a story |
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. 'Update an existing story' implies a mutation operation, but the description doesn't disclose important behavioral traits like permission requirements, whether partial updates are allowed, what happens to unspecified fields, or how conflicts are handled. This is inadequate for a mutation tool with 11 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 that states exactly what the tool does without any unnecessary words. It's appropriately sized and front-loaded with the essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 11 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what the tool returns, error conditions, or important behavioral constraints. The agent would need to guess about the update operation's behavior and outcomes.
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 semantics beyond what's already in the schema, so it meets the baseline score of 3 for high schema coverage situations.
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 story in ServiceNow'), making the purpose immediately understandable. However, it doesn't differentiate this tool from other update tools in the sibling list (like update_epic, update_incident, etc.), which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 to fetch a story first to get sys_id), when not to use it, or how it differs from create_story or other update 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.
update_userC
Update an existing user in ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| active | No | Whether the user account is active | |
| department | No | Department the user belongs to | |
| No | Email address of the user | ||
| first_name | No | First name of the user | |
| last_name | No | Last name of the user | |
| location | No | Location of the user | |
| manager | No | Manager of the user (sys_id or username) | |
| mobile_phone | No | Mobile phone number of the user | |
| password | No | Password for the user account | |
| phone | No | Phone number of the user | |
| roles | No | Roles to assign to the user | |
| title | No | Job title of the user | |
| user_id | Yes | User ID or sys_id to update | |
| user_name | No | Username for 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. 'Update an existing user' implies a mutation operation, but the description doesn't mention authentication requirements, permission levels, whether changes are reversible, what happens to unspecified fields, or error conditions. This leaves significant behavioral 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 communicates the core purpose without any wasted words. It's appropriately sized and front-loaded with the essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 insufficient. It doesn't explain what the tool returns, error conditions, side effects, or system requirements. The combination of complexity and lack of structured metadata demands more comprehensive description content.
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 all 14 parameters well-documented in the schema itself. The description adds no additional parameter information beyond what's already in the structured schema, so it meets the baseline for high schema coverage without adding 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 resource ('an existing user in ServiceNow'), providing a specific verb+resource combination. However, it doesn't differentiate this tool from other update tools like update_group or update_incident, 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 such as required permissions or system state. It simply states what the tool does without contextual usage information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_workflowC
Update an existing workflow in ServiceNow
| Name | Required | Description | Default |
|---|---|---|---|
| active | No | Whether the workflow is active | |
| attributes | No | Additional attributes for the workflow | |
| description | No | Description of the workflow | |
| name | No | Name of the workflow | |
| table | No | Table the workflow applies to | |
| 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 the full burden of behavioral disclosure. While 'Update' implies a mutation operation, the description doesn't address critical behavioral aspects: what permissions are required, whether the update is reversible, what happens when only partial parameters are provided, or what the response format looks like. For a mutation tool with zero annotation coverage, this represents 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 gets straight to the point with zero wasted words. It's appropriately sized for a basic tool description and front-loads the essential information. Every word earns its place in this minimal but complete statement of 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 that this is a mutation tool with no annotations and no output schema, the description is insufficiently complete. It doesn't address what the tool returns, what error conditions might occur, or important behavioral constraints. For a tool that modifies workflows in a complex system like ServiceNow, more contextual information about the operation's scope and limitations would be expected.
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%, meaning all 6 parameters are documented in the input schema. The description adds no additional parameter 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 parameter information 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'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'update_workflow_activity' or 'create_workflow', which would require more specificity about what distinguishes this particular workflow update 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. With sibling tools like 'create_workflow', 'activate_workflow', 'deactivate_workflow', and 'update_workflow_activity', there's no indication of when this general update tool is appropriate versus more specialized operations. No prerequisites or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_workflow_activityC
Update an existing activity in a workflow
| Name | Required | Description | Default |
|---|---|---|---|
| activity_id | Yes | Activity ID or sys_id | |
| attributes | No | Additional attributes for the activity | |
| description | No | Description of the activity | |
| name | No | Name of 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. 'Update an existing activity' implies a mutation operation, but the description doesn't specify required permissions, whether changes are reversible, what happens to unspecified attributes, or response format. 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 unnecessary words. It's appropriately sized for a straightforward update operation and front-loads the essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 constitutes a valid update, potential side effects, error responses, or relationship to sibling tools like 'get_workflow_activities'. The agent lacks critical context 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 four parameters (activity_id, attributes, description, name) with their types and constraints. The description adds no additional parameter semantics 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 verb ('Update') and resource ('an existing activity in a workflow'), making the purpose immediately understandable. It distinguishes this from sibling tools like 'add_workflow_activity' (creation) and 'delete_workflow_activity' (deletion), though it doesn't explicitly mention these alternatives in the description text itself.
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'. It doesn't mention prerequisites (e.g., needing an existing activity), error conditions, or typical use cases. The agent must infer usage from the tool name and sibling list alone.
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.
82 tool updates
v1.0.0- 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_epic - First observed
create_group - First observed
create_incident - First observed
create_knowledge_base - First observed
create_project - First observed
create_script_include - First observed
create_scrum_task - First observed
create_story - First observed
create_story_dependency - First observed
create_user - First observed
create_workflow - First observed
deactivate_workflow - First observed
delete_script_include - First observed
delete_story_dependency - 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_optimization_recommendations - 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_epics - First observed
list_groups - First observed
list_incidents - First observed
list_knowledge_bases - First observed
list_projects - First observed
list_script_includes - First observed
list_scrum_tasks - First observed
list_stories - First observed
list_story_dependencies - 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 - First observed
update_catalog_item_variable - First observed
update_change_request - First observed
update_changeset - First observed
update_epic - First observed
update_group - First observed
update_incident - First observed
update_project - First observed
update_script_include - First observed
update_scrum_task - First observed
update_story - First observed
update_user - First observed
update_workflow - First observed
update_workflow_activity
TDQS
Every tool has a clearly distinct purpose targeting specific resources and actions in ServiceNow, such as create_incident vs. resolve_incident or list_change_requests vs. approve_change. The descriptions reinforce these distinctions, making it easy for an agent to select the correct tool without confusion.
All tools follow a consistent verb_noun pattern with snake_case throughout, such as create_incident, list_users, and update_workflow. There are no deviations in naming conventions, making the set predictable and readable for agents.
With 82 tools, the count is excessive for typical MCP server purposes, likely overwhelming agents and indicating poor scoping. This many tools suggests a lack of focus, making it difficult to manage and use effectively in practice.
The tool set provides comprehensive CRUD and lifecycle coverage across multiple ServiceNow domains like incidents, changes, workflows, and knowledge bases. There are no obvious gaps, with tools for creation, retrieval, updating, deletion, and specific actions like approve_change or publish_article.
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.
- StackOneOAuthcom.stackone
Give AI agents 30,000+ safe, token-optimized actions across Workday, SAP, Oracle + hundreds more.
Live SEO workflow tools for Claude Code, Codex, and AI agents.
Run UX research from Claude — create card sort studies, list studies, pull headline stats.
Related MCP Servers
- AlicenseAqualityFmaintenanceEnables Claude to interact with Webflow's APIs for managing sites, retrieving information, and executing tasks using natural language.21,21821MIT
- AlicenseBqualityCmaintenanceEnables natural language interaction with Azure services through Claude Desktop, supporting resource management, subscription handling, and tenant selection with secure authentication.92419MIT
- AlicenseCqualityFmaintenanceAn implementation that enables Claude to connect to ServiceNow instances, retrieve data, and perform actions through the ServiceNow API.62298MIT
- AlicenseBqualityDmaintenanceAn implementation that enables Claude to connect to ServiceNow instances, allowing it to retrieve data and perform actions through the ServiceNow API.65MIT
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/javerthl/servicenow-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server