Dynatrace SaaS MCP Server
Provides tools for observability and configuration management for Dynatrace SaaS, including DQL queries, logs, spans, metrics, entities, problems, vulnerabilities, settings, dashboards, notebooks, SLOs, and synthetic monitors.
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., "@Dynatrace SaaS MCP Serverlist open problems with severity critical"
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.
Dynatrace SaaS MCP Server
An MCP server for Dynatrace SaaS (Gen3 Platform) that exposes observability and configuration capabilities as tools for LLM agents (Claude Code, Claude Desktop, and any other MCP-compatible client).
Overview
This server bridges AI agents with Dynatrace SaaS, providing:
Observability — DQL queries, log search, span/trace lookup, metrics, entities, problems, vulnerabilities
Configuration — Settings 2.0 CRUD, dashboards, notebooks, SLOs, synthetic monitors
All write operations (create / update / delete) are blocked by default and must be explicitly enabled with DT_ENABLE_WRITES=true.
Related MCP server: MCP Datadog Server
Two-Host / Two-Token Model
Dynatrace SaaS exposes APIs across two distinct hostnames, each requiring a different token type.
Host | Env var | Example value | Auth header | APIs served |
Platform host |
|
|
|
|
Classic host |
|
|
|
|
Setup
Clone & install:
npm installConfigure environment:
cp .env.example .env # then edit .env.envis gitignored — never commit it.Variable
Required
Description
DT_PLATFORM_URLyes
Platform host base URL
DT_CLASSIC_URLyes
Classic host base URL
DT_PLATFORM_TOKENyes
Bearer token (
dt0s16…) for platform APIsDT_API_TOKENyes
Api-Token (
dt0c01…) for classic APIsDT_ENABLE_WRITESno
Set to
trueto allow create/update/delete operationsDT_HTTP_TIMEOUT_MSno
Request timeout in ms (default: 30000)
Required Token Scopes
Classic API token (dt0c01…)
Needed for settings, metrics, entities, problems:
metrics.readslo.read,slo.writelogs.readsettings.read,settings.writeentities.readproblems.readReadConfig,WriteConfigExternalSyntheticIntegration(synthetic read/write)credentialVault.read
Platform token (dt0s16…)
Needed for DQL/Grail, document APIs, SLOs, synthetic, and vulnerabilities:
storage:logs:readstorage:metrics:readstorage:spans:readstorage:entities:readstorage:bizevents:readstorage:events:readstorage:buckets:readstorage:system:readdocument:documents:read,document:documents:writedocument:environment-shares:read,document:environment-shares:writeslo:slos:read,slo:slos:writeautomation:workflows:read(optional, for synthetic execution)securitySensor:vulnerabilities:read
Build & Run
# Install dependencies
npm install
# Build (compiles TypeScript to dist/)
npm run build
# Run the MCP server
node dist/index.js
# or equivalently:
npm start
# Development mode (tsx, no build step)
npm run dev
# Run tests
npm test
# Type-check only (no emit)
npm run typecheckRead-Only by Default
All mutating tools (create, update, delete) check the enableWrites config flag. If the flag is false (the default), calling any write tool returns an error immediately — no network request is made.
Set DT_ENABLE_WRITES=true in your .env (or in the MCP client env config) to enable writes. Even then, each destructive tool has its own description noting that it is a write operation.
Tool Catalog
Observability
Tool | Description |
| Execute a DQL statement against Grail |
| Validate a DQL statement without returning data |
| Search logs via DQL |
| Search spans/traces via DQL |
| Retrieve a trace by trace ID |
| List available metric descriptors |
| Get metadata for a specific metric |
| Query metric data points |
| List host entities |
| Query entities with an entitySelector |
| Get details for a specific entity |
| List available entity types |
| List open or recent problems |
| Get details for a specific problem |
| List security vulnerabilities |
| Get details for a specific vulnerability |
Configuration
Settings (8 tools): list_settings_schemas, get_settings_schema, list_settings_objects, get_settings_object, validate_settings_object, create_settings_object, update_settings_object, delete_settings_object
Dashboards (5 tools): list_dashboards, get_dashboard, create_dashboard, update_dashboard, delete_dashboard
Notebooks (5 tools): list_notebooks, get_notebook, create_notebook, update_notebook, delete_notebook
SLOs (7 tools): list_slos, get_slo, evaluate_slo, list_objective_templates, create_slo, update_slo, delete_slo
Synthetic (7 tools): list_monitors, get_monitor, list_synthetic_locations, list_synthetic_nodes, create_monitor, update_monitor, delete_monitor
Notes
get_entityreturns relationships and host properties inline, so it covers host-detail and entity-relationship use cases (there are no separateget_host/get_entity_relationshipstools).Synthetic location/node tools are named
list_synthetic_locations/list_synthetic_nodes.
MCP Client Registration
Add the following to your MCP client config (Claude Code ~/.claude/mcp.json or Claude Desktop claude_desktop_config.json):
{
"mcpServers": {
"dynatrace-saas": {
"command": "node",
"args": ["/Users/nasr/mycode/personal/saas-mcp/dist/index.js"],
"env": {
"DT_PLATFORM_URL": "https://asn8731h.sprint.apps.dynatracelabs.com",
"DT_CLASSIC_URL": "https://asn8731h.sprint.dynatracelabs.com",
"DT_PLATFORM_TOKEN": "dt0s16...",
"DT_API_TOKEN": "dt0c01...",
"DT_ENABLE_WRITES": "false"
}
}
}
}Replace the token values with real credentials. Set DT_ENABLE_WRITES to "true" only if you intend to allow the agent to create or modify Dynatrace configuration.
License
MIT — see LICENSE.
Third-party attribution
This project is MIT-licensed. It vendors one third-party component under its own license:
knowledge/dql/vendor/dynatrace-for-ai/dt-dql-essentials/— the official Dynatracedt-dql-essentialsskill from Dynatrace/dynatrace-for-ai, redistributed unmodified under the Apache License 2.0 (seeknowledge/dql/vendor/dynatrace-for-ai/LICENSE). Exposed via thedql_referencetool (topic: "official"/officialRef).knowledge/dashboards/vendor/dynatrace-for-ai/— the official Dynatracedt-app-dashboardsanddt-app-notebooksskills from Dynatrace/dynatrace-for-ai, redistributed unmodified under the Apache License 2.0 (seeknowledge/dashboards/vendor/dynatrace-for-ai/LICENSE). Exposed via thedashboard_referencetool (tile types, visualizations, variables, full dashboard/notebook examples).
Available Tools
152 toolsadd_iam_userA
Add a user to an organisational level (IAM v1, WRITE). Requires an account-scoped platform token with iam write scopes. level-type is 'account' or 'environment'; level-id is the corresponding UUID.
| Name | Required | Description | Default |
|---|---|---|---|
| levelType | Yes | Organisational level type: 'account' or 'environment'. | |
| levelId | Yes | UUID of the level-type instance. | |
| user | Yes | User definition object (uid, email, groups, permissions, etc.). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It only mentions the auth requirement and parameter types. It does not explain whether the user must already exist, side effects of duplicates, or confirmation responses, leaving 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 two concise sentences, front-loaded with the action and IAM version. Every sentence adds value; no redundant or unnecessary words.
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 has no output schema and a nested user parameter. The description does not explain the response or constraints on the user object (e.g., required fields). Given the complexity, the description is insufficient for complete 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?
The schema already provides 100% coverage with descriptions for all three parameters. The description adds no extra meaning beyond restating the level-type values and level-id UUID nature, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Add a user to an organisational level') and specifies the IAM version and write operation. It distinguishes from siblings like create_iam_group and list_iam_users by focusing on user addition at a level.
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 explains the required token scopes and the meaning of level-type and level-id parameters. It provides clear context for usage but does not explicitly state when not to use this tool or mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancel_record_deletionA
Cancel a Grail record deletion process that is in progress or queued. Cancels subtasks that have not started yet; already-deleted data is NOT restored. Requires DT_ENABLE_WRITES=true. Required scopes: storage:records:delete, storage:events:read, storage:logs:read, storage:bizevents:read, storage:spans:read, storage:buckets:read.
| Name | Required | Description | Default |
|---|---|---|---|
| taskId | Yes | The task ID returned by execute_record_deletion. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that cancellation only applies to subtasks not started, and that already-deleted data is not restored. It lists required environment variable and scopes. However, it does not mention behavior for completed deletions or error responses.
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 two sentences: first clearly states the action, second adds nuance and requirements. It is front-loaded and every sentence adds value. No superfluous text.
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 cancellation tool with one parameter and no output schema, the description covers purpose, constraints (in progress/queued, no restore), prerequisites (env var, scopes). It omits details on return values or error handling, but these are not essential given the tool's simplicity.
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% (one parameter, taskId, described as 'The task ID returned by execute_record_deletion.'). The description adds no additional parameter information beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: cancel a Grail record deletion process that is in progress or queued. It distinguishes from sibling tools like execute_record_deletion and get_record_deletion_status by specifying the scope of cancellation and noting that already-deleted data is not restored.
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 includes prerequisites (DT_ENABLE_WRITES=true) and required scopes. It implicitly suggests usage when a deletion task is in progress or queued, but does not explicitly state when not to use it or compare with alternatives. The reference to the task ID from execute_record_deletion provides context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_api_spec_driftA
Compare committed OpenAPI specs against the live tenant's catalog. Without args: returns a catalog-level overview of added/removed specs. With a spec stem (e.g. 'platform_slo_v1', 'environment-api-v2'): deep-diffs operations.
| Name | Required | Description | Default |
|---|---|---|---|
| spec | No | Optional committed spec stem to deep-diff (e.g. 'platform_slo_v1', 'environment-api-v2'). Omit for a catalog-level overview of added/removed specs. |
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 describes the comparative nature and what outputs to expect in each scenario. It implies read-only behavior but does not explicitly state it; however, the description is transparent about the tool's actions.
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 two sentences with no wasted words. It front-loads the main purpose and efficiently explains the two usage modes.
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 single optional parameter and no output schema, the description is complete. It covers both invocation contexts and their expected results, leaving no gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter, and the description adds significant meaning by explaining the dual behavior (overview vs deep-diff). This goes beyond the schema's 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 compares committed OpenAPI specs against live tenant catalog, and distinguishes two modes: without args for catalog-level overview, with spec stem for deep-diff operations. It is specific and differentiates from sibling tools like check_settings_schema_drift.
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 explicitly tells when to use each mode (with or without the spec parameter). While it does not mention alternatives or when not to use, the context is clear and sufficient for this simple tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_settings_schema_driftA
Compare committed settings-schema versions against the live tenant. Optionally perform a structural key-path diff for a specific schemaId.
| Name | Required | Description | Default |
|---|---|---|---|
| schemaId | No | Optional: a specific schemaId to also structurally diff (properties/enums) against a committed snapshot, if one exists. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must stand alone. It explains the comparison and optional diff, but does not disclose output format, side effects (assumed read-only), or any authorization or rate limit implications. The behavioral description is adequate but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no extraneous words. It efficiently conveys the core purpose and optional feature. Every sentence adds value.
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 simplicity (one optional parameter, no output schema), the description is mostly complete. It covers the main function and optional parameter. However, without an output schema, additional detail on the result format would enhance 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?
The only parameter (schemaId) is already well-described in the input schema (100% coverage). The tool description reiterates the optional diff purpose. Baseline 3 is appropriate as the schema already carries the semantic load.
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 compares committed settings-schema versions against the live tenant, with an optional structural key-path diff for a specific schemaId. The verb 'compare' and resource 'settings-schema versions' are specific. It distinguishes itself from sibling tools like 'get_settings_schema' (retrieve) and 'validate_settings_object' (validate an object).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for drift detection but does not explicitly state when to use it versus alternatives like 'get_settings_schema' or 'validate_against_live_schema'. No guidance on prerequisites or context is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_lql_to_dqlA
Convert a legacy LQL (Log Query Language) matcher expression to a DQL (Dynatrace Query Language) equivalent (safe, read-only). Useful when migrating older pipeline routing conditions.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | LQL-to-DQL conversion request: query (the LQL matcher string to convert, e.g. 'log.source="snmptraps"'). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It notes the tool is 'safe, read-only', which is good, but lacks details on error handling, performance, or prerequisites. More information would be helpful but the core safety is stated.
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 two sentences, front-loaded with the action and resource. Every phrase is meaningful, with no unnecessary words. It is concise and well-structured.
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?
No output schema exists, yet the description does not explain what the tool returns (e.g., the converted DQL string). It also omits details on error conditions or limitations. For a conversion tool, this information is important and 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 baseline is 3. The description does not add extra information beyond the schema for the parameters; the schema itself explains the query parameter with an example. Thus no additional value is provided.
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 ('Convert a legacy LQL matcher expression to a DQL equivalent') and the resource (LQL to DQL). It distinguishes from sibling tools as no other tool performs this conversion, and provides specific context ('migrating older pipeline routing conditions').
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?
Explicitly states when to use ('when migrating older pipeline routing conditions'). It does not list when not to use or provide alternatives, but the context is clear and sufficient for an AI agent to decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_dashboardA
Create a new dashboard (WRITE). Sends a multipart/form-data POST per the Document Service spec. The content object is serialized to JSON and sent as the 'content' part with Content-Type application/json. Provide the content inline via 'content' OR from a file via 'contentPath' (not both). Requires DT_ENABLE_WRITES=true.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Dashboard display name. | |
| content | No | Dashboard content as a JSON object (e.g. { tiles: [] }). | |
| contentPath | No | Absolute or cwd-relative path to a JSON file whose contents become the dashboard content. Provide exactly one of content or contentPath. |
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 discloses the HTTP method (POST), content type (multipart/form-data), serialization details for 'content', and the required configuration flag. It does not discuss failure modes, rate limits, or authentication beyond the config requirement, but the provided details add significant 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 compact (4 sentences), front-loaded with the core purpose, and every sentence adds value. There is no wasted verbiage or repetition of schema fields.
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 simplicity of the tool (3 parameters, 1 required, no output schema), the description covers the essential behavioral aspects: creation flow, parameter constraints, and configuration prerequisite. It could mention the expected response (e.g., returns dashboard ID or object), but the provided information is sufficient for an agent to use the tool 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?
Schema coverage is 100%, but the description adds critical meaning: it clarifies that 'content' and 'contentPath' are mutually exclusive, explains how 'content' is serialized and sent in the multipart request, and emphasizes the 'not both' constraint. This goes well beyond the schema's individual parameter descriptions.
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 'Create a new dashboard (WRITE)' and specifies it sends a multipart/form-data POST per the Document Service spec. It distinguishes itself from sibling tools like get_dashboard, update_dashboard, and delete_dashboard via the verb 'Create' and the explicit write indication.
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 explicit guidelines: content must be provided inline via 'content' OR from a file via 'contentPath' (not both), and 'Requires DT_ENABLE_WRITES=true'. It does not explicitly mention when to use this tool versus alternatives like update_dashboard, but the clear write constraint and mutual exclusivity offer solid usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_event_notificationB
Create an event-notification (WRITE, platform notification v2).
| Name | Required | Description | Default |
|---|---|---|---|
| notification | Yes | Notification definition object. Pass all required fields per the notification spec. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full burden. It only volunteers 'WRITE' which is obvious from the name. No details on side effects, authentication needs, rate limits, or what happens on creation (e.g., idempotency, validation). This is insufficient for safe usage.
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 (one sentence) and front-loaded with the key action. It is efficient, though it sacrifices nuance. It could benefit from a bit more structure, but for a single-sentence definition, it 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 lack of annotations and an open-ended object parameter, the description is markedly incomplete. It does not clarify what a 'platform notification v2' entails, what the required fields are, or what the response looks like (no output schema). An agent would struggle to use this tool correctly without external knowledge.
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 covers 100% of the parameter, but the description adds no new meaning beyond the schema. The parameter description is generic ('Pass all required fields per the notification spec.'), offering no concrete guidance on the object structure. Baseline for high coverage is 3, and this description does not exceed it.
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 the resource (event-notification), and distinguishes it from siblings by specifying 'WRITE, platform notification v2'. The verb and resource are specific and distinct from related tools like create_self_notification or get_event_notification.
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 is no mention of prerequisites, preferred scenarios, or exclusions. With many notification-related siblings, the lack of usage context makes selection harder 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.
create_extension_monitoring_configB
Create a new monitoring configuration for an Extension 2.0 (WRITE). The config object must include at minimum a 'scope' field (e.g. HOST-XXXX) and a 'value' object.
| Name | Required | Description | Default |
|---|---|---|---|
| extensionName | Yes | The extension name. | |
| config | Yes | Monitoring configuration body. Must contain at least 'scope' and 'value'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It notes it's a WRITE operation and specifies minimum fields, but omits success/failure behavior, idempotency, or authorization requirements.
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?
Two concise sentences with no unnecessary words. The first states the purpose, the second adds a critical requirement.
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?
No output schema exists, and the description fails to mention return values (e.g., the created config ID) or error conditions. For a create operation, this is a significant gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The description adds an example for 'scope' (HOST-XXXX) and reiterates the minimum fields, providing slight additional clarity over the 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 clearly states the verb 'Create' and the resource 'monitoring configuration for an Extension 2.0', distinguishing it from sibling tools like get, list, update, and delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for creating a new monitoring configuration but provides no explicit guidance on when to use this tool versus alternatives or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_featureA
Create a feature in a project (WRITE). Requires feature-management:features:write scope and DT_ENABLE_WRITES.
| Name | Required | Description | Default |
|---|---|---|---|
| projectKey | Yes | The project key. | |
| feature | Yes | Feature body per the Feature Management API spec (key, name, variants, type, description, flags, owner, maintainers). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It discloses that it is a WRITE operation and lists required permissions, but does not mention side effects, idempotency, or error conditions.
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 sentence that efficiently includes purpose, operation type, and permissions. No unnecessary words.
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 output schema and a complex nested parameter, the description covers core purpose and permissions but lacks examples, return value information, or behavior on conflicts.
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 coverage is 100% with descriptions for both parameters. The description adds no additional parameter-level meaning beyond the schema; it only provides high-level context about permissions.
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 'Create a feature in a project' with a specific verb and resource. It distinguishes from sibling tools like 'create_feature_flag' and 'create_feature_project' by focusing on 'feature'.
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?
It mentions required permissions (scope and DT_ENABLE_WRITES) which guides when this tool can be used. However, it does not explicitly state when to use this over alternatives or provide exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_feature_flagA
Create a flag in a feature (WRITE). Requires feature-management:features:write scope and DT_ENABLE_WRITES.
| Name | Required | Description | Default |
|---|---|---|---|
| projectKey | Yes | The project key. | |
| featureKey | Yes | The feature key. | |
| flag | Yes | Flag body per the Feature Management API spec (key, name, type, variants, description, tags). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must convey behavioral traits. It discloses that the tool performs a write operation and requires specific permissions, but fails to describe side effects (e.g., idempotency, constraints) or the return value. Some behavioral context is provided but 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 very concise with two sentences, no redundancy. It front-loads the purpose and appends requirements. While efficient, it could benefit from slightly more structure (e.g., listing required fields explicitly).
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 (3 params, nested object) and lack of output schema, the description provides essential purpose and requirements but omits details like expected return value or error conditions. Adequate but not thoroughly 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?
Schema coverage is 100%, and the description adds minimal value beyond schema descriptions. It lists fields inside the flag object, but the schema already includes a detailed description for the flag parameter. Baseline 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 'Create a flag in a feature' and distinguishes it from sibling tools like create_feature and create_feature_project by specifying the resource type (flag). The '(WRITE)' tag further clarifies the operation 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 necessary prerequisites (scope and environment variable), but does not offer guidance on when to use this tool versus alternatives like update_feature_flag, nor does it specify when not to use it. The context is clear but incomplete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_feature_projectA
Create a Feature Management project (WRITE). Requires feature-management:projects:write scope and DT_ENABLE_WRITES.
| Name | Required | Description | Default |
|---|---|---|---|
| project | Yes | Project body per the Feature Management API spec (key, name, description, owner, maintainers). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It states it's a WRITE operation and requires a specific scope, but it does not disclose behavior beyond that—such as idempotency, error handling on duplicate projects, or response format. This is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences with no wasted words. The first sentence states action and resource; the second provides prerequisites. Information is front-loaded and immediately actionable.
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 covers purpose and requirements but misses details like return values, error conditions, and idempotency. It adequately describes the 'what' and 'require' but not the full behavioral contract.
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 explicitly lists expected fields ('key, name, description, owner, maintainers') beyond the schema's generic 'Project body per the Feature Management API spec.' Since schema description coverage is 100% (one parameter described), the description adds valuable context, clarifying what the open object should contain.
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 'Create a Feature Management project (WRITE).' The verb 'Create' and resource 'Feature Management project' are specific. The '(WRITE)' explicitly indicates it's a write operation, distinguishing it from read-only tools. Among siblings, the name and description differentiate from create_feature and create_feature_flag.
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 includes the required scope ('feature-management:projects:write') and the DT_ENABLE_WRITES condition, providing clear prerequisites. However, it does not offer guidance on when to use this tool versus alternatives (e.g., create_feature_flag) or scenarios where it should not be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_filter_segmentA
Create a new filter segment (WRITE, platform storage filter-segments v1). Requires storage:filter-segments:write scope.
| Name | Required | Description | Default |
|---|---|---|---|
| filterSegment | Yes | Filter segment definition: name, variables, dql/filter, etc. per spec |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full disclosure burden. It mentions the WRITE nature and required scope, but omits implications like idempotency, success/failure behavior, or side effects. For a create operation, 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 two sentences, front-loaded with the core purpose and scope requirement. No redundant or unclear language. Every word adds value.
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 has one complex parameter and no output schema. The description does not explain the response behavior or error handling. While it covers the basics, additional details on return value or duplicate handling would improve 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 coverage is 100% and the parameter description in the schema already explains that filterSegment is a definition with name, variables, etc. The description adds no new semantic value beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action is to create a new filter segment, specifies it is a WRITE operation, and identifies the API endpoint. This distinguishes it from sibling tools like get_filter_segment and delete_filter_segment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through the action and required scope, but does not explicitly state when to use this tool over alternatives or provide any when-not scenarios. No guidance on context or prerequisites beyond the scope.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_grail_bucketB
Create a new custom Grail retention bucket (WRITE, Dynatrace Storage Management v1). Requires DT_ENABLE_WRITES=true and the platform scope storage:bucket-definitions:write.
| Name | Required | Description | Default |
|---|---|---|---|
| bucket | Yes | Bucket definition per Storage Management v1 spec. Required fields: bucketName (3-100 chars, lowercase letters/digits/underscores/hyphens, must start with a letter, must not start with 'default_' or 'dt_'), table (one of: logs, events, bizevents, spans, security.events, user.sessions, user.events), retentionDays (1-3657). Optional: displayName (up to 200 chars), bucketClass ('live' or 'historic', defaults to 'live'), includedQueryLimitDays (>=0), metricInterval (metric buckets only: PT1M, PT5M, PT15M, PT1H). |
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 indicates it's a WRITE operation but does not disclose idempotency, overwrite behavior, error scenarios, or return values. This is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with purpose and API context, followed by requirements. Every sentence adds value with no wasted words.
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 output schema and no annotations, the description should explain return values and behavioral details. It lacks these, making it incomplete for a write operation. The sibling list indicates this is part of a CRUD family, but the description doesn't leverage that 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 covers 100% of parameters with detailed constraints. The tool description adds no extra meaning beyond what the schema provides, so baseline 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 'Create a new custom Grail retention bucket' with a specific verb and resource. It distinguishes from sibling tools like update, delete, list, and get by explicitly using 'Create'. The mention of 'WRITE' and API version adds 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 mentions required conditions (DT_ENABLE_WRITES=true, platform scope) but does not explicitly state when to use this tool versus alternatives like update_grail_bucket. No guidance on handling existing buckets or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_iam_groupA
Create a group at an organisational level (IAM v1, WRITE). Requires an account-scoped platform token with iam write scopes.
| Name | Required | Description | Default |
|---|---|---|---|
| levelType | Yes | Organisational level type: 'account' or 'environment'. | |
| levelId | Yes | UUID of the level-type instance. | |
| group | Yes | Group definition object (groupName, description, permissions, etc.). |
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 mentions 'IAM v1, WRITE' and token requirements, but lacks details on side effects, error handling, or behavior on conflicts.
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?
Two concise sentences front-load the purpose and essential auth requirement with no unnecessary words.
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 output schema and no annotations, the description is adequate but lacks details about the return value, idempotency, or validation of the group object.
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 coverage is 100% with descriptions for all three parameters. The description does not add extra meaning beyond the schema, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create a group at an organisational level', specifying the action and resource. It distinguishes from sibling tools like add_iam_user (create user) and list_iam_groups (list groups).
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 includes a prerequisite ('Requires an account-scoped platform token with iam write scopes') but does not specify when to use this tool versus alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_monitorB
Create a new synthetic monitor definition (WRITE). Pass a full monitor body per the platform synthetic v1 spec (SyntheticMultiProtocolMonitorRequest or SyntheticBrowserMonitorRequest).
| Name | Required | Description | Default |
|---|---|---|---|
| monitor | Yes | Monitor definition object matching platform synthetic v1. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Marks it as a WRITE operation, but with no annotations, fails to disclose behaviors like idempotency, permissions required, or conflict handling. Minimal 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?
Two sentences, no fluff, front-loaded with action. Every word serves a 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 creation tool with a complex nested parameter and no output schema, the description omits return value, constraints, and prerequisites, leaving 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 coverage is 100%, so baseline 3. Description adds the spec name reference but does not elaborate on parameter interactions beyond the 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?
Clearly states 'Create a new synthetic monitor definition' (verb+resource) and references the spec, distinguishing it from sibling tools like 'update_monitor' or 'delete_monitor'.
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?
Implies usage by referencing the spec types, but no explicit guidance on when to use this tool vs alternatives (e.g., when to choose BROWSER vs MULTI_PROTOCOL, or when to use update_monitor instead).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_notebookA
Create a new notebook (WRITE). Sends a multipart/form-data POST per the Document Service spec. The content object is serialized to JSON and sent as the 'content' part with Content-Type application/json. Provide the content inline via 'content' OR from a file via 'contentPath' (not both). Requires DT_ENABLE_WRITES=true.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Notebook display name. | |
| content | No | Notebook content as a JSON object (e.g. { cells: [] }). | |
| contentPath | No | Absolute or cwd-relative path to a JSON file whose contents become the notebook content. Provide exactly one of content or contentPath. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the HTTP method (multipart/form-data POST), serialization details, and environment requirement. It doesn't cover error cases or auth beyond DT_ENABLE_WRITES, but is fairly transparent.
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 four sentences, front-loaded with purpose. It is concise with no wasted words, though it could be slightly shorter without losing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema is provided, and the description does not mention what the tool returns (e.g., the created notebook object). For a creation tool, return value is important context. Overall it is adequate but 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 coverage is 100%, but the description adds critical meaning: it explains the OR relationship between content and contentPath, and that contentPath is a file path. This goes beyond the schema's descriptions.
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 'Create a new notebook (WRITE)' with a specific verb and resource. It distinguishes from siblings like create_dashboard by mentioning the Document Service spec and the WRITE nature.
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 clear context: it requires DT_ENABLE_WRITES=true and explains the mutual exclusivity of content vs contentPath. It doesn't explicitly list when not to use, but the prerequisites are clear enough for an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_request_attributeA
Create a new request attribute (WRITE, classic Config API v1). Body must include at minimum: name, dataType, dataSources.
| Name | Required | Description | Default |
|---|---|---|---|
| requestAttribute | Yes | Request attribute definition (name, dataType, dataSources, etc.). |
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 only mentions it's a WRITE operation but does not disclose side effects, idempotency, duplicate handling, or authorization requirements. The agent is left to infer behavior from the name and schema.
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?
Single sentence that is front-loaded with the verb and resource. No unnecessary words, and all information is relevant. Achieves maximum conciseness without sacrificing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, and the description does not mention what the tool returns (e.g., the created attribute or confirmation). Given the complexity of nested objects in the schema, the description is minimal and could provide more context about behavior or response, but it meets the minimum viability.
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 baseline is 3. The description adds value by specifying the minimum required fields (name, dataType, dataSources), which is not fully captured by the schema (only name is required in schema). This helps the agent understand what must be included.
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?
Clearly states the action 'Create' and the resource 'request attribute', with an explicit note that it's a WRITE operation using classic Config API v1. This distinguishes it from sibling tools like update_request_attribute or delete_request_attribute.
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?
Implies usage by stating the minimum required fields (name, dataType, dataSources), but does not explicitly specify when to use this tool versus update_request_attribute or other create tools. No guidance on prerequisites or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_request_namingB
Create a new request naming rule (WRITE, classic Config API v1). Body must include at minimum: naming, enabled, namingPattern, conditions.
| Name | Required | Description | Default |
|---|---|---|---|
| requestNaming | Yes | Request naming rule definition (namingPattern, enabled, conditions, managementZones, etc.). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It only indicates it's a WRITE operation but does not describe idempotency, failure modes, rate limits, or return behavior (e.g., response structure). Incomplete given no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with key information, front-loaded. However, the mention of 'naming' may be a typo, slight deduction. Overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create tool with nested parameter and no output schema, the description is minimal. It does not explain return values, prerequisites, or typical usage context. With high complexity, more detail 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 description adds context by listing minimum required fields, but it includes 'naming' which is not in the schema (only 'namingPattern'), causing potential confusion. Schema coverage is 100% but description introduces inaccuracy.
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 'request naming rule', specifying it is a WRITE operation using the classic Config API v1. It is distinct from sibling tools like update, delete, and list.
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 minimum body requirements but lacks explicit guidance on when to use this tool versus alternatives like update_request_naming. No context on when not to use it or typical scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_self_notificationC
Create a self-notification (WRITE, platform notification v1).
| Name | Required | Description | Default |
|---|---|---|---|
| notification | Yes | Notification definition object. Pass all required fields per the notification spec. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description states it is a write operation, but without annotations, it does not disclose any behavioral traits such as permissions required, whether it overrides existing notifications, rate limits, or side effects. The 'WRITE' tag is minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that immediately states the purpose and operation type. It is concise with no unnecessary words, though it could be slightly expanded for context without becoming verbose.
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 only one parameter and no output schema, the description is adequate but not complete. It does not explain what the notification spec is, how the notification is delivered, or what the response looks like. For a self-notification tool, more context about its purpose and behavior would be beneficial.
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 one required parameter 'notification' with a description that says 'Notification definition object. Pass all required fields per the notification spec.' The tool description does not add any additional meaning beyond what the schema provides. Since schema coverage is 100%, the baseline score is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the action (Create) and the resource (self-notification), and includes 'WRITE, platform notification v1' which specifies it's a write operation and the API version. This differentiates it from read/update/delete siblings. However, it does not explain what a self-notification is or what it does beyond creation.
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_event_notification or other notification creation tools. There is no mention of prerequisites or context for using self-notifications.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_settings_objectB
Create a Settings 2.0 object (WRITE). Validate first with validate_settings_object.
| Name | Required | Description | Default |
|---|---|---|---|
| schemaId | Yes | ||
| scope | Yes | ||
| value | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations present, so description must disclose behavioral traits. It only notes '(WRITE)' implying mutation, but does not cover permissions, idempotency, rate limits, or consequences of creation.
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?
Two concise sentences with no superfluous information. Every word adds value.
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 3 required parameters, nested objects, and no output schema, the description is too brief. It omits return format, error handling, and constraints on inputs.
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%. The description does not explain the purpose or format of any parameter (schemaId, scope, value), leaving the agent without guidance beyond field names.
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 'Create a Settings 2.0 object' (action + resource) and distinguishes from siblings by recommending prior validation with validate_settings_object.
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?
Explicitly recommends validation first ('Validate first with validate_settings_object'), providing clear usage context. Lacks explicit when-not-to-use or alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_sloB
Create an SLO (WRITE). Body fields per the SLO v1 spec (name, criteria, target, etc.).
| Name | Required | Description | Default |
|---|---|---|---|
| slo | Yes | SLO definition object matching platform SLO v1. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It labels the operation as 'WRITE' but provides no details on idempotency, side effects (e.g., replacement vs creation on duplicate), required permissions, or rate limits. The brief statement is insufficient for an agent to gauge impact.
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 sentence, very concise. The '(WRITE)' is slightly redundant given the verb 'Create' but does not harm. No wasted words; it could marginally improve by integrating a usage pointer.
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 has one complex parameter (slo object) and no output schema. The description references an external spec, which is helpful but vague. It does not mention what the tool returns (e.g., created SLO ID) or error scenarios. Given the rich schema, it is minimally adequate.
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 coverage is 100% with detailed descriptions for each property. The description only says 'Body fields per the SLO v1 spec (name, criteria, target, etc.)' – it adds no new meaning beyond what the schema already provides. Baseline 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 tool's purpose: 'Create an SLO (WRITE).' It uses specific verb ('Create') and resource ('SLO'), and the '(WRITE)' distinguishes it as a mutation. Among siblings (list_slos, get_slo, update_slo, delete_slo), this tool's role is unambiguous.
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 mentions 'Body fields per the SLO v1 spec' but does not explicitly specify when to use this tool vs update_slo, nor does it mention prerequisites (e.g., need for an existing SLI definition). An agent would infer usage, but explicit guidance is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_trust_policyA
Create a WIF trust policy for an account (IAM v1, WRITE). Requires an account-scoped platform token.
| Name | Required | Description | Default |
|---|---|---|---|
| accountUuid | Yes | Account UUID. | |
| trustPolicy | Yes | Trust policy definition object (name, issuerUrl, audience, jwksUri, description). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It indicates a write operation ('CREATE') and token prerequisite, but lacks details on idempotency, failure behavior, or what happens if the policy already exists. The information is helpful but incomplete.
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 two sentences, front-loaded with the purpose, and contains no filler. Every part serves a purpose: stating the action, clarifying the version (IAM v1), and noting the token requirement.
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 output schema, the description does not explain the return value or success indicators. It also does not clarify the relationship with the sibling 'create_trust_policy_mapping'. For a simple create tool, it covers the core action but leaves gaps in how to interpret 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?
Schema description coverage is 100%, so the baseline is 3. The description does not add additional meaning beyond the schema's parameter descriptions (e.g., for 'trustPolicy', the schema already lists fields). No extra semantic guidance is provided.
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 'Create a WIF trust policy for an account', using a specific verb and resource. It distinguishes from the sibling 'create_trust_policy_mapping' and other create tools by naming the policy type and scope. The inclusion of '(IAM v1, WRITE)' adds further clarity.
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 a clear prerequisite: 'Requires an account-scoped platform token.' This guides usage context. However, it does not explicitly state when to use this tool versus alternatives like update_trust_policy or delete_trust_policy, nor does it specify exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_trust_policy_mappingA
Create a WIF service user mapping for a trust policy (IAM v1, WRITE). Requires an account-scoped platform token.
| Name | Required | Description | Default |
|---|---|---|---|
| accountUuid | Yes | Account UUID. | |
| trustPolicyUuid | Yes | Trust policy UUID. | |
| mapping | Yes | Mapping definition (serviceUserUuid, environmentId, scopes, claimMappings). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided. The description indicates it is a WRITE operation requiring a specific token type, but does not disclose potential side effects, idempotency, rate limits, or error conditions. Minimal 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?
Two sentences, no unnecessary words. Purpose is stated first, followed by a prerequisite. Highly efficient and 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?
While the purpose and prerequisite are clear, the description does not specify return values (no output schema provided), idempotency, or error handling. For a creation tool with required parameters, this is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for each parameter. The description adds value by detailing the structure of the 'mapping' object beyond the schema's generic 'additionalProperties', listing expected fields like serviceUserUuid, environmentId, etc.
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 the resource ('WIF service user mapping for a trust policy'), includes context (IAM v1, WRITE), and implicitly distinguishes from sibling tools like delete, list, get for the same resource.
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?
Mentions a prerequisite ('Requires an account-scoped platform token'), but does not explicitly state when to use this tool versus alternatives like create_trust_policy or add_iam_user. The name and context make it clear, but explicit guidance is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_workflowA
Create a Dynatrace Automation workflow (WRITE, platform Automation v1). Requires DT_ENABLE_WRITES=true and automation:workflows:write scope on the platform token.
| Name | Required | Description | Default |
|---|---|---|---|
| workflow | Yes | Workflow definition per the AutomationEngine v1 spec. |
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 discloses that this is a write operation, requires specific environment variable and token scope, and references the platform version. This adequately informs the agent of required permissions and operation type, though more detail on potential side effects could improve 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?
Two sentences, each delivering essential information: the action and version, followed by prerequisites. No wasted words, and the most critical info is 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?
The description does not specify the return value (e.g., created workflow ID) or error scenarios. Given the tool's complexity (nested object) and absent output schema, the description could be more complete, but it covers the core purpose and prerequisites.
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 sub-field of the 'workflow' parameter having a description. The description adds minimal extra meaning ('Workflow definition per the AutomationEngine v1 spec'), so baseline 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 it creates a Dynatrace Automation workflow, identifies it as a WRITE operation, and specifies the platform version (v1). This distinguishes it from sibling tools like update_workflow and delete_workflow.
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 explicitly lists prerequisites: requires DT_ENABLE_WRITES=true and automation:workflows:write scope. It does not provide explicit when-not-to-use or alternatives, but for a creation tool, the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_dashboardA
Delete (trash) a dashboard by id (WRITE). Optimistic locking: you must supply the current document version. The document is moved to the trash (restorable for 30 days). Requires DT_ENABLE_WRITES=true.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Dashboard document id. | |
| version | Yes | Current document version for optimistic locking (required by the spec). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses important behaviors: optimistic locking, trashing with 30-day restoration window, and required feature flag. With no annotations, the description carries the full burden and handles it well.
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?
Single sentence that front-loads the main action and adds necessary details without extra words. Every part 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?
Adequately describes the tool's effect and constraints, though lacks return value information. For a deletion tool, this is sufficient given the absence of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already describes both parameters. The description adds context for 'version' (optimistic locking) but little beyond the schema. Baseline 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?
Clearly states the action 'Delete (trash) a dashboard by id' using a specific verb and resource, distinguishing it from sibling tools that operate on other 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?
Provides context like 'WRITE' operation, requirement for DT_ENABLE_WRITES=true, and optimistic locking, but does not explicitly state when to use this tool versus alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_event_notificationA
Delete an event-notification by ID (WRITE, destructive, platform notification v2).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Event-notification UUID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description adds 'WRITE, destructive' but omits side effects, auth needs, or confirmation. Incomplete 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?
Single sentence with no waste. Key information (delete, by ID, WRITE, destructive, v2) is 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?
Complete enough for a one-parameter delete tool, but lacks mention of return values or confirmation. Minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only parameter 'id' with schema description 'Event-notification UUID.' Description adds no further meaning beyond schema; baseline 3 applies as coverage is 100%.
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?
Description clearly states 'Delete an event-notification by ID' with additional context (WRITE, destructive, v2). Distinguishes from create, update, get, and list siblings.
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?
Implies use for deletion but lacks explicit when-to-use or when-not-to-use guidance. No alternatives mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_extension_monitoring_configB
Delete a specified monitoring configuration for an Extension 2.0 (WRITE, destructive).
| Name | Required | Description | Default |
|---|---|---|---|
| extensionName | Yes | The extension name. | |
| configurationId | Yes | The monitoring configuration ID to delete. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It mentions 'WRITE, destructive' but does not disclose potential side effects, required permissions, or whether deletion is reversible. This is insufficient for a destructive action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is concise and front-loaded. However, it could be slightly more structured without increasing length, earning a 4 rather than a 5.
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 two required parameters and no output schema, the description is too minimal. It lacks information on return values, error handling, or any side effects, which are important for a destructive tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for the two parameters. The description does not add any additional meaning beyond the schema, so the baseline score of 3 applies.
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 'delete' and the resource 'monitoring configuration for an Extension 2.0', distinguishing it from other sibling tools like 'create_extension_monitoring_config' and 'update_extension_monitoring_config'.
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, such as when a monitoring configuration should be deleted or any prerequisites. It only states the action without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_featureA
Delete a feature by key within a project (WRITE, destructive). Requires feature-management:features:delete scope and DT_ENABLE_WRITES.
| Name | Required | Description | Default |
|---|---|---|---|
| projectKey | Yes | The project key. | |
| featureKey | Yes | The feature key. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description indicates the operation is destructive and requires specific auth, which is useful. However, it does not detail consequences (e.g., irreversibility) or return behavior, which would be helpful for a write 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?
Two short sentences, front-loaded with essential information. No fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple deletion with two params and no output schema, the description is adequate. It could mention irreversibility or side effects, but the current info covers the core action and auth needs.
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 coverage is 100% with clear parameter descriptions. The tool description reinforces the 'by key' relationship but does not add meaning beyond the 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 clearly states the verb 'delete' and the resource 'feature by key within a project'. It distinguishes from sibling tools like delete_feature_flag and delete_feature_project by specifying 'feature'.
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 explicitly lists required scopes and environment variable, providing clear prerequisites. However, it does not mention when not to use this tool or suggest alternative approaches.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_feature_flagA
Delete a feature flag by key (WRITE, destructive). Requires feature-management:features:delete scope and DT_ENABLE_WRITES.
| Name | Required | Description | Default |
|---|---|---|---|
| projectKey | Yes | The project key. | |
| featureKey | Yes | The feature key. | |
| flagKey | Yes | The flag key. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description adds the crucial 'WRITE, destructive' nature and required scopes. It could further detail what cascade effects occur or idempotency, but it provides adequate transparency for safe use.
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 two sentences, front-loads the purpose, and includes only essential information. No wasted words.
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 delete tool with no output schema, the description covers the action, prerequisites, and destructive nature. It could mention what happens after deletion (e.g., no return value), but it is nearly 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?
Schema description coverage is 100%, so the schema already explains each parameter. The description does not add extra meaning beyond 'by key', remaining at baseline.
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 'Delete' and the resource 'feature flag', and specifies it is destructive. This distinguishes it from sibling tools like create_feature_flag or list_feature_flags.
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 lists required permissions and environment variable, providing clear prerequisites. It does not explicitly mention when not to use it or alternatives, but the context is sufficient for a deletion tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_feature_projectA
Delete a Feature Management project by key (WRITE, destructive). Requires feature-management:projects:delete scope and DT_ENABLE_WRITES.
| Name | Required | Description | Default |
|---|---|---|---|
| projectKey | Yes | The project key. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, description carries full burden. It correctly labels the operation as WRITE and destructive, and lists authorization requirements. Lacks details on side effects or irreversible nature, but sufficient for a delete 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?
Two concise sentences with front-loaded main action and separate prerequisite line. No wasted words.
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?
Covers purpose, prerequisites, and operation type. Lacks mention of return value, but for a simple delete with no output schema, this is adequate.
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 coverage is 100% with parameter description 'The project key.' The tool description does not add additional meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Delete a Feature Management project by key', specifying verb, resource, and identifier. Distinguished from sibling delete tools like delete_feature by naming 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?
Provides explicit prerequisites: requires specific scope and DT_ENABLE_WRITES. Implicitly tells when to use (when you want to delete a project) but does not mention alternatives like update_feature_project for non-destructive changes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_filter_segmentA
Delete a filter segment by UID (WRITE, destructive, platform storage filter-segments v1). Requires storage:filter-segments:delete scope.
| Name | Required | Description | Default |
|---|---|---|---|
| uid | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description correctly identifies the tool as destructive and write-scoped, and states the required authorization scope. It adds value by clarifying the operation's nature but does not detail potential irreversible effects or cascading consequences.
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 brief, consisting of two sentences that front-load the action and resource. Every sentence adds essential information 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?
While the description covers the purpose and safety requirements, it fails to explain the single parameter 'uid', which is critical for correct usage. With no output schema and low schema coverage, the description should provide more parameter 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 has 0% description coverage for the 'uid' parameter, and the description provides no additional explanation of what the UID represents, its format, or examples. This leaves the agent without enough context to correctly supply the parameter.
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 'Delete' and the resource 'filter segment by UID', distinguishing it from sibling tools like create, update, and get filter segments.
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 labels the operation as 'WRITE, destructive' and specifies the required scope 'storage:filter-segments:delete', providing clear context for when to use this tool. However, it does not explicitly mention when not to use it or compare alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_grail_bucketA
Delete a Grail retention bucket by name (WRITE, destructive, Dynatrace Storage Management v1). This permanently removes all data in the bucket. The operation is asynchronous; the bucket status transitions to 'deleting' until complete. Cannot delete buckets whose name starts with 'default_' or 'dt_'. Requires DT_ENABLE_WRITES=true and the platform scope storage:bucket-definitions:write.
| Name | Required | Description | Default |
|---|---|---|---|
| bucketName | Yes | The bucket name to delete. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses destructive nature, asynchronous behavior, and required permissions. With no annotations, this is thorough coverage of behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences, front-loaded with action and resource, no unnecessary words.
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 single parameter and no output schema, description fully explains purpose, effects, constraints, and requirements.
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 covers the parameter basics, but description adds critical constraint about prohibited name prefixes, enhancing semantic 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?
Clearly states the action (delete), resource (Grail retention bucket), and effect (permanently removes data). Distinguishes from siblings with similar names.
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?
Provides explicit constraints (cannot delete buckets with 'default_' or 'dt_' prefix) and prerequisites (DT_ENABLE_WRITES=true, required scope). Lacks explicit alternative suggestions but is clear on when to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_monitorA
Delete a synthetic monitor definition by entity ID (WRITE, destructive).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Synthetic monitor entity ID to delete. |
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 explicitly labels the operation as 'WRITE, destructive', which discloses key behavioral traits. However, it does not detail side effects or permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence plus a parenthetical, front-loaded with action and resource. Every word earns its place; 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?
For a simple delete operation with one parameter and no output schema, the description covers the essentials. It could mention the return type or success confirmation, but is largely 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?
Schema description coverage is 100% (parameter 'id' is documented). The description adds 'by entity ID', reinforcing but not expanding beyond the schema. Baseline 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 ('delete'), the resource ('synthetic monitor definition'), and specifies it is a WRITE destructive operation. This distinguishes it from sibling tools like delete_dashboard and from read tools like get_monitor.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for deleting a monitor when you have the entity ID. It does not explicitly state when not to use it or mention alternatives, but the context is clear given the resource type and sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_notebookA
Delete (trash) a notebook by id (WRITE). Optimistic locking: you must supply the current document version. The document is moved to the trash (restorable for 30 days). Requires DT_ENABLE_WRITES=true.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Notebook document id. | |
| version | Yes | Current document version for optimistic locking (required by the spec). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that the notebook is moved to trash (not permanently deleted), restorable for 30 days, and requires optimistic locking. Without annotations, the description fully covers the behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each conveying essential information without redundancy, front-loading the core action and supporting details 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 simple tool with two required parameters and no output schema, the description adequately covers the operation's effect (trash, restore window), locking requirement, and configuration flag. Missing details on auth or error handling, but still sufficient.
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 already has 100% coverage with descriptions for both 'id' and 'version'. The description reemphasizes the version's role in optimistic locking but adds no new semantic meaning beyond the schema, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Delete (trash) a notebook by id' with a specific verb and resource, and distinguishes it from sibling tools like 'create_notebook' and 'update_notebook' by mentioning 'WRITE' and optimistic locking.
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?
Explicitly mentions the prerequisite 'DT_ENABLE_WRITES=true' and the need to supply the current document version for optimistic locking, giving clear context for use. However, it lacks explicit when-not-to-use or alternative tools for permanent deletion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_request_attributeA
Delete a request attribute by ID (WRITE, destructive, classic Config API v1).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Request attribute ID to delete. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Lacking annotations, the description labels the operation as 'WRITE' and 'destructive', which adds context. However, it does not disclose error states, permissions, or side effects beyond deletion.
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?
Single sentence, front-loaded with the action, concise and to the point. No unnecessary words.
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 single-param tool with no output schema, the description covers the core functionality, labels the operation type, and includes API version 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 only parameter 'id' is fully described in the schema (100% coverage). The description adds no additional meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it deletes a request attribute by ID, using specific verb and resource, and distinguishes from siblings like 'create_request_attribute' or 'update_request_attribute'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidelines provided. The terms 'WRITE' and 'destructive' hint at contexts but are not sufficiently directive for an AI agent to compare with alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_request_namingA
Delete a request naming rule by ID (WRITE, destructive, classic Config API v1).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Request naming rule ID to delete. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description labels the tool as WRITE and destructive, which adds useful behavioral context beyond the simple action. However, it does not disclose potential side effects, permissions required, or rollback capabilities.
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?
A single sentence that conveys the essential information without any extraneous words. Front-loaded with the action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple delete operation with one parameter and no output schema, the description covers the basics: what it does and the API type. It is adequate but could mention success/error indications.
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 coverage is 100%, so the description adds no new meaning beyond what the schema provides. The phrase 'by ID' mirrors the parameter description. 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 (delete), resource (request naming rule), and identification method (by ID). It distinguishes from siblings like delete_request_attribute and other delete tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance. The usage is implied by the name and description, but no alternatives are discussed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_self_notificationA
Delete a self-notification by ID (WRITE, destructive, platform notification v1).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Self-notification UUID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description labels the operation as 'WRITE, destructive', which conveys mutability and potential irreversibility, but no annotations are provided to supplement. It lacks details on authentication, rate limits, or consequences beyond being destructive.
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, front-loaded sentence with no wasted words, effectively communicating the core action and key attributes.
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 one-param delete tool with no output schema, the description is minimally adequate but lacks context on error handling, idempotency, or return behavior.
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 coverage is 100% with one parameter 'id' described as 'Self-notification UUID.' The description adds 'by ID' but provides no additional semantic meaning beyond the 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 clearly states the verb 'delete' and resource 'self-notification', and specifies it operates by ID. It distinguishes from siblings like list_self_notifications, get_self_notification, and update_self_notification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when you need to delete a specific self-notification, but it does not explicitly state when to use vs alternatives, nor does it mention prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_settings_objectA
Delete a Settings 2.0 object by objectId (WRITE, destructive).
| Name | Required | Description | Default |
|---|---|---|---|
| objectId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It indicates the operation is WRITE and destructive, implying data modification and irreversibility, but lacks detail on side effects, permissions, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence efficiently conveys the purpose and a key behavioral note (WRITE, destructive). No extraneous words.
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 low complexity (1 parameter, no nested objects), the description covers the basics but lacks output information (no output schema) and any guidance on expected return values or error handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions 'by objectId', which clarifies the parameter's role. However, schema description coverage is 0%, and the description adds no format constraints, examples, or additional meaning beyond the parameter name.
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), the resource (Settings 2.0 object), and the identifier (objectId). It distinguishes from sibling tools like get_settings_object or update_settings_object by specifying it's a delete operation and marks it as WRITE/destructive.
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 vs alternatives like update_settings_object or when not to use it. No prerequisites or context for deletion are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_sloA
Delete an SLO by id (WRITE, destructive).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavior. It mentions 'WRITE, destructive' indicating mutation and risk, but lacks details on reversibility, permissions, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is extremely concise with no superfluous words; essential information is 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?
Given the tool's simplicity (one parameter, no output schema), the description covers the core action but omits context about id format, prerequisites, and consequences.
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 0% schema description coverage, the description fails to provide any additional context about the 'id' parameter beyond the schema's basic type/required field.
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?
Description clearly states the tool deletes an SLO by ID, and explicitly labels it as 'WRITE, destructive', distinguishing it from read-only sibling tools like get_slo and list_slos.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when needing to delete an SLO, but does not provide explicit when-not or alternative tools for similar operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_trust_policyA
Delete a WIF trust policy by UUID (IAM v1, WRITE, destructive). Requires an account-scoped platform token.
| Name | Required | Description | Default |
|---|---|---|---|
| accountUuid | Yes | Account UUID. | |
| trustPolicyUuid | Yes | Trust policy UUID to delete. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the destructive nature ('destructive') and auth requirement. However, it does not state whether deletion is permanent, what the response looks like (no output schema), or any side effects. It provides basic but not comprehensive 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?
Extremely concise: two sentences totaling 16 words. The purpose is front-loaded, and every word adds value with no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple destructive operation with no output schema, the description is sufficient but minimal. It misses common contextual details like error behavior, idempotency, or confirmation steps. Given the complexity (low), it is adequate but not comprehensive.
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 coverage is 100% with clear parameter descriptions. The description adds some context (delete by UUID, requires account-scoped token) but does not enhance the meaning of individual parameters beyond what the schema already provides (e.g., format, validation, how to obtain values).
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'), the resource ('WIF trust policy'), and the identifier ('by UUID'). It distinguishes the tool from numerous sibling delete tools (e.g., delete_dashboard, delete_monitor) by specifying the unique 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 mentions a prerequisite (account-scoped platform token) but provides no guidance on when to use this tool versus alternatives like delete_trust_policy_mapping, or how to obtain the UUID. No explicit 'when to use' or 'when not to use' advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_trust_policy_mappingB
Delete a WIF service user mapping by UUID (IAM v1, WRITE, destructive). Requires an account-scoped platform token.
| Name | Required | Description | Default |
|---|---|---|---|
| accountUuid | Yes | Account UUID. | |
| trustPolicyUuid | Yes | Trust policy UUID. | |
| mappingUuid | Yes | Mapping UUID to delete. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description bears full burden. States 'destructive' and 'WRITE' but lacks details on reversibility, side effects, rate limits, or return behavior. For a deletion tool, more disclosure is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that conveys purpose, scope, type, and prerequisite. No wasted words.
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?
Covers basic purpose and a prerequisite, but lacks explanation of deletion effects, return value (no output schema), or error cases. Adequate but not thorough for a 3-required-param mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions per parameter. The description adds little beyond 'by UUID' which is already implied by the parameter names. Baseline 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?
Clearly states the action (delete) and resource (WIF service user mapping by UUID). Explicitly labels as IAM v1, WRITE, destructive, distinguishing it from sibling tools like create_trust_policy_mapping or delete_trust_policy.
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?
Mentions a prerequisite (account-scoped platform token) but provides no guidance on when to use this tool versus alternative deletion tools (e.g., delete_trust_policy, delete_iam_user). No when-not or alternative tools mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_workflowA
Delete a Dynatrace Automation workflow by ID (WRITE, destructive, platform Automation v1). Requires DT_ENABLE_WRITES=true and automation:workflows:write scope on the platform token.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | UUID of the workflow to delete. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description discloses that the tool is destructive (delete) and requires specific permissions, which is critical behavioral information. Without annotations, it carries the full transparency burden. It could mention irreversibility or post-deletion effects, but for a simple ID-based delete, it is sufficiently transparent.
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?
Two sentences total; the first states the core action and resource, the second adds prerequisites. No wasted words. The action verb is front-loaded, making it efficient for an AI 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?
Given the tool's simplicity (one required param, no output schema, no nested objects), the description covers all necessary aspects: what it does, how to use it (permissions), and its destructive nature. No critical information is missing for correct 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?
Input schema covers 100% of the single parameter (id) with a clear description. The tool description adds no extra parameter details, but the 100% schema coverage means the description does not need to. The overall tool context (destructive, permissions) indirectly aids parameter understanding. Baseline 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?
Description explicitly states the verb (delete), resource (Dynatrace Automation workflow), and identifier (by ID). It also tags the tool as WRITE and destructive, making its purpose unmistakable. Among siblings with similar delete_* tools, it is clearly differentiated by specifying the workflow context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lists required prerequisites (DT_ENABLE_WRITES=true and automation:workflows:write scope), providing clear usage conditions. However, it does not contrast with alternatives like update_workflow or list_workflows, though the destructive nature implies a specific use case. Lacks explicit when-not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
evaluate_sloA
Evaluate an SLO by ID and return its compliance result (platform SLO v1). Uses the async evaluation:start / evaluation:poll flow per spec.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The SLO ID to evaluate. | |
| timeframeFrom | No | Start of the custom timeframe, e.g. 'now-7d' or an ISO 8601 timestamp. | |
| timeframeTo | No | End of the custom timeframe (defaults to 'now' when omitted). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses the async nature ('Uses the async evaluation:start / evaluation:poll flow'), but does not explain side effects, idempotency, or how the polling works. The information is minimal but not contradictory.
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?
Two short sentences convey the core purpose and signal the async flow. No unnecessary words; front-loaded with the key action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite moderate complexity (async flow, optional timeframes, no output schema), the description does not explain what the compliance result looks like, how to handle the async lifecycle, or any constraints. It's insufficient for an AI agent to fully understand behavior without external spec references.
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 coverage is 100% and schema descriptions are already clear. The tool description adds only a general statement about returning compliance, not additional semantic detail for the parameters. Baseline 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 ('Evaluate an SLO by ID') and the result ('return its compliance result'), and specifies it's for 'platform SLO v1'. This distinguishes it from sibling tools like get_slo (which returns definition) and list_slos.
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 mentions the async evaluation flow but does not explicitly guide when to use this tool versus alternatives like get_slo or why a custom timeframe might be needed. There is no when-not-to-use or clarification of tradeoffs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
execute_dqlA
Execute a Dynatrace Query Language (DQL) statement against Grail and return the result records. Use for logs, spans/traces, events, metrics, and entities. Example: 'fetch logs | filter loglevel == "ERROR" | limit 50'.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The DQL statement to execute. | |
| maxResultRecords | No | Max records to return (default 1000). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description bears full responsibility. It describes the action and target but does not disclose whether it is read-only or has side effects. DQL queries are typically read-only, but this is not stated. No contradictions with annotations exist.
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 two sentences plus an example, front-loading purpose and usage. Every word earns its place; there is no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 2 parameters and no output schema, the description adequately conveys purpose and usage. However, it lacks details about the return record structure, which would be helpful for an agent. Overall, it is sufficiently complete for typical 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 coverage is 100% with clear parameter descriptions for 'query' and 'maxResultRecords'. The tool description adds an example but does not further clarify parameter semantics beyond the schema. Baseline 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 tool executes a DQL statement against Grail and returns result records. It lists applicable data sources (logs, spans, etc.) and provides an example, distinguishing it from sibling tools like search_logs or verify_dql.
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 says 'Use for logs, spans/traces, events, metrics, and entities,' indicating appropriate contexts. It does not explicitly state when not to use or mention alternatives, but the sibling tools list provides implicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
execute_record_deletionA
DESTRUCTIVE — permanently deletes Grail records matching the given DQL query and optional timeframe. Data that is deleted CANNOT be restored. Timeframe length is limited to 24 hours; end time must be at least 4 hours in the past. Subsequent requests are queued and executed in order. Returns a taskId to track deletion progress via get_record_deletion_status. Requires DT_ENABLE_WRITES=true. Required scopes: storage:records:delete, storage:events:read, storage:logs:read, storage:bizevents:read, storage:spans:read, storage:buckets:read. Allowed query commands: fetch, fields, fieldsAdd, fieldsRemove, filter, parse.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | DQL query that selects the records to delete. Example: "fetch logs | filter contains(content, \"delete_records_test\")" | |
| timeFrame | No | Optional explicit time frame for the deletion. Ignored if the query already contains a timeframe clause. Both start and end are required when this object is provided. | |
| timezone | No | Timezone for the query. Defaults to 'UTC'. | |
| locale | No | Locale for the query. Defaults to 'en-US'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Given no annotations, the description carries full burden and excels: explicitly labels as DESTRUCTIVE, states data cannot be restored, details timeframe constraints, queuing, return of taskId, required DT_ENABLE_WRITES=true, and specific scopes. No contradictions.
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 appropriately sized with critical info front-loaded (DESTRUCTIVE). Could be more structured with bullet points for constraints, but it's efficient and every sentence adds value.
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 output schema, the description comprehensively covers all aspects: constraints, prerequisites, return value (taskId), and execution behavior. No significant gaps remain.
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?
All parameters are described in the schema (100% coverage). The description adds value with a concrete query example, clarifies when timeframe is ignored, and mentions defaults for timezone/locale. Slight improvement could be more structured format.
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 starts with 'DESTRUCTIVE — permanently deletes Grail records', clearly stating the verb (deletes) and resource (Grail records). It distinguishes from siblings like execute_dql or cancel_record_deletion by specifying the destructive scope and constraints.
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?
Provides explicit when-to-use information: mentions permanence, timeframe limits (24h, end at least 4h past), queuing behavior, required env variable and scopes, and allowed query commands. Does not explicitly compare to other tools, but the guidance is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_entitiesA
Queries Smartscape entities via Grail DQL (Gen3-native). Pass useClassic:true to use the classic Entities v2 API on Gen2 tenants. The entitySelector must include a type(...) clause for the Grail DQL path; without it, a guidance message is returned.
| Name | Required | Description | Default |
|---|---|---|---|
| entitySelector | Yes | entitySelector, e.g. type(SERVICE),entityName.contains("checkout"). | |
| from | No | ||
| to | No | ||
| pageSize | No | ||
| useClassic | No | Use the classic Entities v2 API instead of Grail DQL (only for Gen2 tenants that still expose /api/v2/entities). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses two behavioral modes (Grail DQL vs classic API) and the required type() clause. However, it does not mention authorization needs, rate limits, or that the operation is read-only, leaving 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 concise with two sentences, no redundant words. It front-loads the main action and provides key usage tips. Could be slightly more structured (e.g., bullet points) but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters, no output schema, and no annotations, the description is incomplete. It covers the entitySelector constraint and classic mode, but omits details on pagination (pageSize, from, to), return value format, and potential errors or limits. For a complex query tool, more depth 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 coverage is 40% (2 of 5 parameters described). The description adds important context for entitySelector (must include type()) and useClassic (for Gen2 tenants), but fails to explain 'from', 'to', and 'pageSize' parameters which are left to their schema definitions. This partially compensates for low coverage but not fully.
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 that the tool queries Smartscape entities via Grail DQL, with an alternative classic mode. While it distinguishes from other entity tools by mentioning the DQL path requirement, it could be more explicit about the scope of entities queried and the returned format, which prevents a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use the classic API (useClassic:true for Gen2 tenants) and a necessary condition for the entitySelector (must include type() clause). However, it does not compare this tool to siblings like get_entity or list_entity_types to help decide when to use which.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_audit_logA
Get a single audit log entry by its log ID (classic Audit Logs API, requires auditLogs.read scope). Uses GET /api/v2/auditlogs/{id}.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The log entry ID (logId field). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses it's a GET (read-only) and requires auditLogs.read scope. No annotations, so description carries burden; it adequately conveys safety and access needs.
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?
One sentence with clear purpose, scope, and endpoint. No unnecessary text, front-loaded with key info.
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?
Simple tool with one parameter, no output schema. Description covers essentials; could mention return format but not critical for a get 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 covers 100% of parameter with description. Description adds context that the ID is the 'logId field', slightly enhancing 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?
Clearly states 'Get a single audit log entry by its log ID' which is a specific action. Distinguishes from sibling list_audit_logs by focusing on a single entry.
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?
States required scope and endpoint, but does not explicitly guide when to use vs alternatives like list_audit_logs. Usage context is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_custom_serviceA
Get a single custom service definition by technology and ID (classic Config API v1, read-only).
| Name | Required | Description | Default |
|---|---|---|---|
| technology | Yes | Technology the custom service belongs to. | |
| id | Yes | Custom service ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the burden of behavioral disclosure. It states the tool is read-only and uses the classic Config API v1, which informs about safe usage. No details on permissions or limits, but adequate for a simple retrieval 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?
Single, direct sentence with no extraneous information. Front-loaded with key details.
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 only two required parameters and no output schema, the description is sufficient for basic usage. However, it does not describe the return format or any pagination, which could be useful but is not critical for a single-item retrieval.
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 coverage is 100% and both parameters have descriptions in the schema. The description reiterates 'by technology and ID' but does not add additional context beyond what is already in the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly specifies action (Get), resource (custom service definition), and key parameters (technology and ID). It also indicates read-only nature and API version, making it distinct from siblings like list_custom_services.
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?
Usage is implied by the description: use when you need a single custom service by technology and ID. However, no explicit guidance on alternatives or when not to use is provided, and sibling tools are not referenced.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dashboardA
Get a dashboard by id — returns combined metadata and content. Fetches metadata from /documents/{id}/metadata and content from /documents/{id}/content, then merges them into { meta, content }.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Dashboard document id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but description discloses internal behavior (fetches from two endpoints and merges) and output structure, providing good transparency for a read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff, directly stating purpose and internal operation. Excellent 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 no output schema, the description explains the output shape. Single parameter is well-documented. Completeness is high.
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 covers 100% with a brief description; the tool description does not add additional meaning beyond that.
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?
Clearly states the action 'Get a dashboard by id' and the resource, distinguishing it from sibling tools like list_dashboards and create_dashboard.
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?
Implies usage via verb+resource but lacks explicit when-to-use or when-not-to-use guidance relative to siblings. No mention of prerequisites or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_entityA
Queries a single Smartscape entity by id via Grail DQL (Gen3-native). Pass useClassic:true to use the classic Entities v2 API on Gen2 tenants.
| Name | Required | Description | Default |
|---|---|---|---|
| entityId | Yes | Entity id, e.g. 'HOST-ABC123' or 'SERVICE-XYZ'. | |
| useClassic | No | Use the classic Entities v2 API instead of Grail DQL (only for Gen2 tenants that still expose /api/v2/entities). |
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 discloses the backend difference (Grail DQL vs classic API) but lacks details on read-only nature, permissions, error behavior, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences with no redundancy; front-loads the main purpose and parameter insight.
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 two parameters and no output schema, the description covers core functionality and parameter rationale, though it omits return value structure and error handling.
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 coverage is 100%, yet the description adds value by explaining the default behavior (Grail DQL) and the purpose of useClassic parameter, going beyond the schema's inline descriptions.
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 queries a single Smartscape entity by id via Grail DQL, and distinguishes from siblings like find_entities and other get_* tools by specifying the exact backend and 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?
Provides guidance on when to use the classic API (Gen2 tenants) but does not explicitly mention when not to use the tool or alternatives for entity search; overall clear context for a single-entity retrieval.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_event_notificationA
Get a single event-notification by ID (platform notification v2).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Event-notification UUID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It only states the operation (get) without disclosing behavioral details like idempotency, rate limits, or response structure. Minimal transparency beyond the 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?
Single sentence, 12 words, front-loaded with verb and resource. No unnecessary words; every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get-by-ID tool with one required parameter and no output schema, the description is largely sufficient. It could hint at the response format, but given the low complexity, it is nearly 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?
Schema description coverage is 100% (1 parameter with description 'Event-notification UUID'). The tool description adds 'by ID' but no extra semantic value beyond the schema. Baseline 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 'single event-notification by ID', with 'platform notification v2' distinguishing from other notification types. Among siblings like list_event_notifications and get_self_notification, it uniquely identifies this tool's specific purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for retrieving a specific event notification by ID, but provides no explicit guidance on when to use versus siblings (e.g., list_event_notifications for multiple, create/update/delete for mutations). No when-not-to-use or alternative references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_extensionB
List all versions of a specific Extension 2.0 by name.
| Name | Required | Description | Default |
|---|---|---|---|
| extensionName | Yes | The extension name, e.g. 'com.dynatrace.extension.sql-server'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as authentication requirements, rate limits, error handling, or read-only nature. The description merely states the function without additional 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, concise sentence with no unnecessary words. It is front-loaded with the action and resource, making it efficient for an AI agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description does not inform the agent about what the return value contains (e.g., properties of versions). For a simple tool, additional context on output would be helpful for complete 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% with the parameter 'extensionName' having a clear example. The description adds no additional meaning beyond what the schema already provides, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (list), the resource (versions of an Extension 2.0), and the qualifier (by name, specific). It effectively distinguishes from sibling tools like 'list_extensions' which lists all extensions, and 'get_extension_monitoring_config' which focuses on a different aspect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you need versions of a specific extension, but it does not explicitly state when to use this tool vs alternative sibling tools like 'list_extensions'. There is no guidance on when not to use or best practices.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_extension_environment_configB
Get the environment-level configuration for an Extension 2.0.
| Name | Required | Description | Default |
|---|---|---|---|
| extensionName | Yes | The extension name. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and description only says 'Get' with no disclosure of side effects, auth needs, rate limits, or return behavior. Minimal beyond the verb.
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?
Single sentence, straight to the point, no redundant information. Efficient and 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 simple get with one parameter and no output schema, the description is adequate but lacks details about what the configuration contains or any constraints.
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 coverage is 100% and parameter description is clear ('The extension name.'). Description adds no extra meaning beyond the schema, so baseline 3 applies.
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?
Description clearly states verb 'Get' and specific resource 'environment-level configuration for an Extension 2.0', distinguishing it from siblings like 'get_extension' and 'get_extension_monitoring_config'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., get_extension, get_extension_monitoring_config). Does not specify prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_extension_monitoring_configA
Get details of a specific monitoring configuration for an Extension 2.0.
| Name | Required | Description | Default |
|---|---|---|---|
| extensionName | Yes | The extension name. | |
| configurationId | Yes | The monitoring configuration ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description indicates a read operation without side effects, but does not mention any additional behavioral traits such as authentication requirements or rate limits. Since annotations are absent, the description carries the full burden, but it only states 'Get details' which is minimally transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence of 12 words with no unnecessary information. It is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema and the presence of many sibling tools, the description is minimal. It does not explain what the 'details' contain, which could be useful for an AI agent. However, for a simple get operation, it may be sufficient.
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 coverage is 100%, so the schema already documents both parameters (extensionName and configurationId). The description adds context by specifying 'monitoring configuration for an Extension 2.0', but does not add meaning beyond what the schema provides.
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 uses the verb 'Get' and specifies the resource 'details of a specific monitoring configuration for an Extension 2.0'. It distinguishes from sibling tools like list_extension_monitoring_configs and other get_* tools by focusing on a single configuration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives (e.g., when to use list_extension_monitoring_configs first). The description implies use when you have a specific configurationId, but does not state prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_featureA
Get a feature by key within a project (Dynatrace Feature Management API). Requires feature-management:features:read scope.
| Name | Required | Description | Default |
|---|---|---|---|
| projectKey | Yes | The project key. | |
| featureKey | Yes | The feature key. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description adds transparency by noting the required scope and API source. However, it does not disclose potential side effects (though get is read-only), error behavior, or rate limits, leaving gaps for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that immediately states the action and resource, followed by the required scope. It contains no filler words and is optimally 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 simple get operation with two required parameters and no output schema, the description covers the basic purpose and authorization. However, it lacks details on return value format or typical usage context, which would aid an agent in understanding what to expect.
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 already provides 100% description coverage for both required parameters ('projectKey' and 'featureKey'). The tool description adds no additional semantic information about the parameters beyond what the schema provides, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'a feature by key within a project', making its purpose unambiguous. It naturally distinguishes from sibling tools like 'list_features' (listing) and 'get_feature_flag' (different entity) without explicit contrast.
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 specifies a required OAuth scope, which is helpful for authorization context. However, it does not provide guidance on when to use this tool versus alternatives (e.g., 'list_features' or 'get_feature_project'), nor any exclusion conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_feature_flagA
Get a feature flag by key (Dynatrace Feature Management API). Requires feature-management:features:read scope.
| Name | Required | Description | Default |
|---|---|---|---|
| projectKey | Yes | The project key. | |
| featureKey | Yes | The feature key. | |
| flagKey | Yes | The flag key. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It states a read operation and required scope, but does not disclose what the response contains (e.g., full flag object) or any other behavioral traits like idempotency or caching.
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?
Two concise sentences provide the action, context, and required scope without unnecessary words. Every sentence adds value.
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 absence of an output schema, the description could be more complete by indicating what the response contains (e.g., flag details). It also lacks guidance on parameter relationships. However, it provides essential context for a get 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 coverage is 100% with clear parameter descriptions. The description adds no additional semantic meaning beyond the schema, but accurately conveys that the tool retrieves a flag by key. Baseline 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 'Get a feature flag by key' and references the Dynatrace Feature Management API, specifying the required scope. This distinguishes it from sibling tools like list_feature_flags or create_feature_flag.
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 mentions the required scope but does not provide explicit guidance on when to use this tool versus alternatives (e.g., list_feature_flags for fetching all flags). Usage is implied but not compared to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_feature_projectB
Get a Feature Management project by key (Dynatrace Feature Management API).
| Name | Required | Description | Default |
|---|---|---|---|
| projectKey | Yes | The project key. |
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 traits. It only states the action without disclosing read-only nature, idempotency, authentication needs, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, but could be more informative. It does not waste words but lacks depth for a standalone explanation.
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 output schema, the description should explain return values or behavior. It does not, and it fails to differentiate from similar tools, leaving an agent without sufficient 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 coverage is 100% (projectKey described as 'The project key.'). The description adds no additional meaning beyond the schema, earning baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and the resource ('Feature Management project') with a specific identifier ('by key'), distinguishing it from list and create/update/delete sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'get_feature' or 'list_feature_projects'. The description does not mention prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_filter_segmentB
Get a filter segment by UID (platform storage filter-segments v1).
| Name | Required | Description | Default |
|---|---|---|---|
| uid | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It only states it's a 'get' operation by UID, but does not disclose any behavioral traits such as permissions, rate limits, or side effects. Minor version info adds little value.
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?
One sentence, front-loaded with action and resource. No wasted words. Efficient and clear.
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 getter by ID with no output schema and no annotations, the description is adequate but lacks explicit mention of return value or error conditions. However, it is sufficient for an AI agent to understand the basic purpose.
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 coverage is 0% (description does not mention the parameter 'uid'). The description says 'by UID' but does not explain format, constraints, or source. Adds minimal context beyond what the schema already implies (uid is an identifier).
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), the resource (filter segment), and the identifier (by UID). It also mentions the API version, distinguishing it from sibling tools like create_filter_segment, delete_filter_segment, update_filter_segment, and list_filter_segments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., list_filter_segments for listing all). No prerequisites or when-not-to-use context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_grail_bucketA
Get a single Grail retention bucket definition by name (Dynatrace Storage Management v1).
| Name | Required | Description | Default |
|---|---|---|---|
| bucketName | Yes | The unique bucket name to retrieve. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided; the description only says 'Get' without disclosing any behavioral traits like idempotency, permissions, or error handling. Minimal transparency beyond the obvious.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no extraneous words. Front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieval tool with one parameter and no output schema, the description is fairly complete. Lacks mention of return value or error conditions, but adequate given simplicity.
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 coverage is 100% and the description does not add additional meaning beyond the schema's parameter description. 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 identifies the resource as 'a single Grail retention bucket definition' by name. It distinguishes from sibling tools like list_grail_buckets, create_grail_bucket, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving a single bucket by name but provides no explicit guidance on when to use vs alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_iam_userA
Get a single active user by UUID at an organisational level (IAM v1). Requires iam:users:read scope.
| Name | Required | Description | Default |
|---|---|---|---|
| levelType | Yes | Organisational level type: 'account' or 'environment'. | |
| levelId | Yes | UUID of the level-type instance. | |
| uuid | Yes | User UUID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the required auth scope 'iam:users:read' and notes that it retrieves 'active' users. It does not mention potential errors or return value characteristics, but for a simple get operation, this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that concisely states the purpose and the required auth scope. Every word earns its place with no 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 simple get-by-ID tool with no output schema, the description covers the essential aspects: what action is performed, what resource is retrieved, how to identify it, and a key behavioral constraint (auth scope). It is complete enough for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage with descriptions for all parameters. The description adds minimal extra meaning beyond 'by UUID' and 'organisational level', which are already implied by the parameter names and schema descriptions. Baseline 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', the resource 'single active user', the identifier 'UUID', and the scope 'organisational level (IAM v1)'. It effectively distinguishes from siblings like list_iam_users and add_iam_user.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates when to use the tool (to get a single active user by UUID) but does not explicitly state when not to use it or provide alternatives. However, the context of 'single' vs 'list' implies the sibling distinction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_metric_metadataB
Get the descriptor/metadata for a single metric by key (classic Metrics v2). On Gen3/Grail tenants this endpoint may be unavailable; use query_metric or execute_dql instead.
| Name | Required | Description | Default |
|---|---|---|---|
| metricKey | Yes | The metric key, e.g. 'builtin:host.cpu.usage'. |
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 only mentions availability constraints on certain tenants but does not disclose behavioral traits such as being a read-only operation, required permissions, response size, or side effects. The minimal extra information leaves the agent guessing about important aspects.
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 concise, consisting of two sentences that each serve a purpose: stating the main action and providing an important usage note. It is not overly wordy, but could be slightly more structured (e.g., bullet points) for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple input schema (one parameter) and no output schema, the description covers the core purpose and an availability caveat. However, it lacks details about the returned metadata structure (e.g., what fields are included), which would be helpful for an agent to understand the tool's output.
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% (the metricKey parameter has a description with an example). The description adds no additional meaning beyond what the schema already provides, so it meets the baseline but does not 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 clearly states the action 'Get the descriptor/metadata for a single metric by key', specifying the resource and scope. It distinguishes from siblings like list_metrics (lists all metrics) and query_metric (retrieves time series) by mentioning the metadata focus and providing alternatives, though not explicitly differentiating from all siblings.
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 explicitly states that on Gen3/Grail tenants the endpoint may be unavailable and suggests using query_metric or execute_dql instead. This provides clear context and alternatives, though it does not cover all possible usage scenarios or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_monitorA
Get the full definition of a single synthetic monitor by its entity ID.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Synthetic monitor entity ID, e.g. 'SYNTHETIC_TEST-1234'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description should disclose behavioral traits. It merely states 'Get the full definition' without mentioning that it is a read-only, non-destructive operation or any auth/rate limit constraints. The description lacks transparency beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no unnecessary words. It is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get tool with one parameter and no output schema, the description provides enough context: what the tool does, what input it needs, and what it returns (full definition). It is complete for its complexity level.
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 coverage is 100% with a single parameter described. The description mentions 'by its entity ID', which aligns with the schema description but adds no additional meaning beyond confirming the parameter's role. Baseline 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 tool retrieves the full definition of a single synthetic monitor by entity ID. It distinguishes from sibling tools like list_monitors (which lists) and other get_* tools by specifying 'synthetic monitor'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when you need the full definition for a specific monitor. It does not explicitly state when not to use or mention alternatives like list_monitors for overviews, but the purpose is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_notebookA
Get a notebook by id — returns combined metadata and content. Fetches metadata from /documents/{id}/metadata and content from /documents/{id}/content, then merges them into { meta, content }.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Notebook document id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It transparently reveals it makes two separate API calls and merges results into {meta, content}. No side effects or destructive behavior are implied, and the read-only nature is clear.
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?
Extremely concise: two sentences front-load the purpose. Every word adds value, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description fully explains the return format and underlying source. It provides sufficient context for an agent to understand what the tool does and what it returns.
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 coverage is 100% for the single 'id' parameter. The description adds minimal value beyond the schema description of 'Notebook document id.' It restates the purpose but does not provide additional detail like format or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool retrieves a notebook by ID and returns combined metadata and content. The description explicitly distinguishes from sibling tools like list_notebooks by specifying the output structure and underlying API calls.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when needing a specific notebook by ID, but does not provide explicit when-to-use vs alternatives or any exclusion criteria. No guidance on prerequisites or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_openpipeline_configurationA
Get the full OpenPipeline configuration for a specific data type (id). Returns all endpoints, pipelines, and routing rules. Use this to inspect or fetch the config before modifying it with update_openpipeline_configuration.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Configuration id / data type, e.g. 'logs', 'events', 'bizevents', 'metrics', 'spans', 'davis', 'sdlcEvents', 'securityEvents'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It states the tool returns endpoints, pipelines, and routing rules, but does not mention that it is read-only, any required permissions, or potential side effects. The description is adequate but lacks depth on behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences, front-loaded with the core purpose, and provides usage guidance without unnecessary detail. Every sentence adds value, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one required parameter, no output schema, no nested objects), the description sufficiently explains what is returned and suggests a use case. It covers the essential aspects, though it could mention that it is a read-only 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 input schema already covers the single parameter with a description and examples, achieving 100% coverage. The tool description adds no additional meaning beyond what is in the schema, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves the full OpenPipeline configuration for a specific data type, using the verb 'Get' and specifying the resource. It distinguishes itself from the sibling tool 'update_openpipeline_configuration' by noting it's for inspection before modification, but does not contrast with 'list_openpipeline_configurations'.
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 explicitly states when to use this tool: to inspect or fetch config before modifying it with 'update_openpipeline_configuration'. It provides a clear alternative context but does not mention when not to use it or other potential alternatives like listing configs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_openpipeline_technology_processorsA
Get the processors available for a specific OpenPipeline technology. Use list_openpipeline_technologies first to find the technology id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Technology id from list_openpipeline_technologies. |
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 implies a read operation without side effects, but does not disclose any behavioral traits such as response format, performance, or authentication needs. It adds minimal value beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero waste. The first sentence states the core functionality, and the second provides crucial prerequisite guidance. 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 low complexity (single parameter, no output schema, no nested objects), the description is nearly complete. It tells how to get the required ID and what to retrieve. Missing only the format of the response, but that is acceptable for a simple getter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter 'id', which is described as 'Technology id from list_openpipeline_technologies.' The description reiterates this same information. Thus, the description adds no additional meaning beyond the schema, meeting the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'processors available for a specific OpenPipeline technology'. It distinguishes from sibling tools like list_openpipeline_technologies (which gets technology IDs) and list_openpipeline_processor_types (which lists all processor types). The specificity helps select the correct 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?
Explicitly states prerequisite: 'Use list_openpipeline_technologies first to find the technology id.' This provides clear context for when to use the tool and how to obtain required input. No exclusions or alternatives are given, but the guidance is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_problemA
Get full details of one problem, including root cause and affected entities.
| Name | Required | Description | Default |
|---|---|---|---|
| problemId | Yes | The problem id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided. The description indicates a read-only operation ('Get') and hints at the response structure ('root cause and affected entities'), but it does not disclose behavioral traits such as authorization requirements, rate limits, or side effects. Since the tool is a simple getter, the basic transparency is adequate but not enhanced beyond 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 a single sentence of 10 words, directly starting with the action and resource. It is concise, front-loaded with key information, and every word contributes to understanding the tool's purpose without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema, no nested objects), the description adequately covers its purpose and key return details (root cause and affected entities). It provides enough context for an agent to expect a comprehensive response, though it could explicitly state the return type (e.g., 'returns a problem object').
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 coverage for parameters is 100% (one parameter 'problemId' described as 'The problem id.'). The tool description adds no additional meaning beyond what the schema provides. According to the guideline, when schema_coverage is high, the baseline is 3; no extra value is added from the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Get' and the resource 'full details of one problem', explicitly mentioning 'root cause and affected entities'. It distinguishes itself from the sibling tool 'list_problems' (which lists problems without full details) and other 'get_*' tools by specifying the unique content returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving comprehensive details of a specific problem when the problem ID is known. It does not explicitly state when not to use or mention alternatives like 'list_problems' for finding IDs, but the context is clear and straightforward for a simple single-record retrieval.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_record_deletion_statusA
Get the status of a previously submitted Grail record deletion process. POST /platform/storage/record/v1/delete:status with the taskId from execute_record_deletion. Returns one of: finished, submitted, processing, unknown, or failed, plus optional progress and message fields. Required scopes: storage:records:delete, storage:events:read, storage:logs:read, storage:bizevents:read, storage:spans:read, storage:buckets:read.
| Name | Required | Description | Default |
|---|---|---|---|
| taskId | Yes | The task ID returned by execute_record_deletion. |
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 discloses the return statuses (finished, submitted, processing, unknown, failed) and optional progress/message fields. It also lists required scopes. It does not explicitly state idempotency or side effects, but the read-only nature is implied.
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 paragraph that efficiently conveys purpose, endpoint, return values, and scopes without extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple status-checking tool with one parameter and no output schema, the description provides all necessary information: possible statuses, optional fields, and required scopes. It is 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?
Schema coverage is 100% with one parameter fully described. The description adds minimal value beyond the schema: it says 'the taskId from execute_record_deletion', which is similar to the schema description. Baseline 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 the resource 'status of a previously submitted Grail record deletion process'. It distinguishes from siblings like execute_record_deletion and cancel_record_deletion by focusing on status retrieval.
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 specifies when to use it (after submitting a deletion, using taskId from execute_record_deletion) and lists required scopes. It does not explicitly state when not to use it or compare to alternatives, but the usage context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_request_attributeA
Get a single request attribute definition by ID (classic Config API v1).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Request attribute 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. It mentions it's a 'classic Config API v1' read operation, but does not disclose permissions, rate limits, or whether it returns full definitions or summaries. Adequate for a simple get tool, but minimal extra 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, front-loaded sentence that efficiently conveys the action, resource, and scope with no wasted words.
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 low complexity (1 parameter, no nested objects, no output schema), the description fully covers what an agent needs to know to select and invoke this tool 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% coverage for the single parameter 'id' with description 'Request attribute ID.' The tool description does not add meaning beyond the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get'), the resource ('request attribute definition'), the scope ('single by ID'), and even the API version ('classic Config API v1'). It fully distinguishes from sibling tools like list_request_attributes (which lists all) and create/update/delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving a specific request attribute by its ID. It does not explicitly state when not to use it or mention alternatives like list_request_attributes, but given the tool name and context, the purpose is sufficiently clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_request_namingB
Get a single request naming rule by ID (classic Config API v1).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Request naming rule ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description should disclose behavioral traits like authentication needs, error handling, or rate limits. It only states it's a 'Classic Config API v1' read operation, which is minimal.
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?
Single sentence, front-loaded with action and resource, no unnecessary words. Highly concise and effective.
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 one parameter and no output schema, the description is nearly complete for a get-by-ID tool. It could mention the response structure or error cases, but the simplicity makes it adequate.
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 coverage is 100% with a description for the 'id' parameter. The description adds no new meaning beyond 'by ID', so it meets the baseline without adding value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves a single request naming rule by ID, and adds the API version distinction. It differentiates from the sibling 'list_request_namings' tool and other 'get_*' tools for different resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 list or other get tools. While the ID parameter implies a specific use case, there is no explicit context or exclusion of alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_self_notificationB
Get a single self-notification by ID (platform notification v1).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Self-notification UUID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states it's a retrieval operation. It does not disclose any behavioral traits such as rate limits, permissions, or error handling (e.g., what happens if the ID does not exist). For a read-only tool, the description lacks necessary 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 sentence, concise and front-loaded. It contains no unnecessary words and efficiently conveys the tool's purpose. However, it is very brief, which sacrifices some 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 tool's simplicity (single parameter, no output schema), the description is minimal but partially sufficient. It does not explain what a self-notification is, what the response contains, or error scenarios. For a simple retrieval tool, it covers the basics but lacks depth.
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 covers 100% of parameters (single 'id' field with description 'Self-notification UUID.'). The description adds 'by ID' but this is already evident from the required parameter. Since schema_coverage is high, baseline is 3, and the description does not add extra meaning beyond the 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 clearly states the verb 'Get', the resource 'self-notification', and the unique identifier 'by ID'. It also specifies the version 'platform notification v1'. Among siblings like list_self_notifications, it clearly distinguishes itself as a single-item retrieval.
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 list_self_notifications. There is no mention of when to use this tool or when not to, leaving the agent to infer without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_server_infoA
Report this MCP server's build identity: version, git commit, build time, write-mode, and target Dynatrace hosts. Use to verify which build is running.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 discloses the returned information but does not mention any behavioral traits like side effects, authentication needs, or error handling. However, for a read-only info tool, this is minimally adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the key information. Every sentence adds value. No wasted words.
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 output schema, the description lists the fields returned, which is helpful. It could mention that no parameters are required, but that is implied. Overall, sufficiently complete for a simple info tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and schema coverage is 100%. Per guidelines, baseline for 0 params is 4. The description does not need to add parameter info.
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 reports server build identity including specific fields (version, git commit, build time, write-mode, target Dynatrace hosts). It is distinct from siblings which are CRUD operations on 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 a clear use case: 'verify which build is running.' While it doesn't explicitly mention when not to use, the context is clear and no alternatives are needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_settings_objectB
Get one Settings 2.0 object by objectId.
| Name | Required | Description | Default |
|---|---|---|---|
| objectId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It only states it 'gets' an object, implying a read operation, but does not confirm read-only behavior, mention error conditions, permissions, or side effects. The description is minimally transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that immediately states the purpose. It is front-loaded and contains no redundant 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?
Despite low complexity (1 parameter, no nested types), the description does not explain return values or behavior. There is no output schema, so the description should at least hint at what is returned. It is incomplete for an agent to fully understand the tool's 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 single parameter 'objectId' is mentioned in the description ('by objectId'), which adds minimal meaning beyond the schema. However, the schema has no description and coverage is 0%, so the description should clarify the format or source of objectId, which it does not. It adds little 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 ('Get'), the resource ('Settings 2.0 object'), and the identifier ('objectId'). It is specific and distinguishes this tool from sibling tools like 'list_settings_objects' and 'create_settings_object'.
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 such as 'list_settings_objects' or other get tools. No when-not-to-use or contextual hints are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_settings_schemaA
Get the full JSON schema for a Settings 2.0 schemaId. Use this to construct a valid 'value' before writing.
| Name | Required | Description | Default |
|---|---|---|---|
| schemaId | Yes | e.g. 'builtin:tags' or 'builtin:anomaly-detection.services'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and description only implies read operation via 'Get', lacking details on permissions, error behaviors, or idempotency. Full burden not met.
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?
Two sentences with no superfluous content; front-loaded with purpose, secondary sentence adds usage guidance.
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 one-parameter tool with no output schema, the description covers core purpose and usage context but omits details like return format or error handling, making it adequate but not thorough.
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?
Parameter schema already has description and examples; description adds no extra semantic meaning beyond what schema provides. Baseline 3 due to 100% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states action 'Get the full JSON schema for a Settings 2.0 schemaId' with specific verb and resource, distinguishing it from sibling tools like list_settings_schemas.
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?
Provides context for use: 'Use this to construct a valid value before writing.' but does not explicitly compare to alternatives or state when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sloA
Get one SLO by id (platform SLO v1).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the burden. The description does not explicitly state that the operation is read-only or mention any permission requirements or side effects. However, the verb 'Get' strongly implies a read-only action, which is sufficient for this simple tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words, efficiently conveying 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?
Given the tool's simplicity (one required parameter, no output schema), the description is adequately complete. It specifies the resource type and version, which provides useful 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 has 0% description coverage, but the description adds only 'by id', which merely restates the parameter name and does not explain the expected format, source, or constraints of the 'id' parameter.
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 one SLO') and the resource ('by id (platform SLO v1)'), making the purpose unambiguous and distinct from sibling tools like list_slos.
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 implicitly provides usage context: use this tool when you have the specific SLO id and want to retrieve that single SLO. No explicit exclusions are needed for such a simple get operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_traceA
Fetch all spans for a single trace id (ordered by start time) for latency/root-cause analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| traceId | Yes | The trace.id value. | |
| from | No | DQL timeframe start expression (default 'now()-4h'). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries the burden. It discloses ordering and purpose but does not mention other behavioral traits like authorization needs or error handling. Adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with verb and resource, no unnecessary words. Efficient and clear.
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 simplicity of the tool and full schema coverage, the description is complete enough. It mentions ordering and purpose, and no output schema is needed. Could mention pagination but not essential.
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 coverage is 100%, so parameters are well-described in schema. Description does not add additional meaning beyond what's in the schema, meeting baseline.
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 'Fetch' and the resource 'all spans for a single trace id', ordering by start time, and purpose for latency/root-cause analysis. It distinguishes from sibling tools like search_spans by being specific to a single trace.
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?
Provides clear context: use for a single trace id and for latency/root-cause analysis. Does not explicitly state when not to use or mention alternatives, but context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_trust_policyA
Get a WIF trust policy by UUID, including its service user mappings (IAM v1).
| Name | Required | Description | Default |
|---|---|---|---|
| accountUuid | Yes | Account UUID. | |
| trustPolicyUuid | Yes | Trust policy UUID. |
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 correctly implies a read operation but does not explicitly state read-only behavior, error handling (e.g., on invalid UUID), or access requirements. The description is adequate for a simple get but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, focused sentence that front-loads the key action and distinctive feature (service user mappings). No superfluous words.
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 simplicity of a get operation, 100% schema coverage, and no output schema, the description is fairly complete. It tells the agent what it retrieves. Minor improvement could be mentioning the response format or that it's a read-only call.
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 coverage is 100% with both parameters described in the schema. The description adds context about the returned data but no additional meaning for the parameters themselves. Baseline 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', the resource 'WIF trust policy', and a key detail 'including its service user mappings (IAM v1)'. It distinguishes from sibling tools like 'list_trust_policies' or 'create_trust_policy' by specifying retrieval by UUID and included data.
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 such as 'list_trust_policies' or other get tools. No when-to-use, when-not-to-use, or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vulnerabilityA
Get full details of a single vulnerability by its ID (Dynatrace Platform Vulnerabilities v1).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The vulnerability ID. | |
| startTime | No | Start of timeframe. ISO-8601 timestamp or relative, e.g. "now-7d". Defaults to "now-30m". | |
| endTime | No | End of timeframe. Only "now" is supported. Defaults to "now". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description alone must disclose behavioral traits. It describes a read operation but does not explicitly state that it is non-destructive or mention any side effects. It also omits details about request limits or error handling.
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 sentence, concise and to the point, with no superfluous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and lack of an output schema, the description is adequate but could be improved by briefly indicating what 'full details' includes or mentioning the optional time parameters.
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 covers all three parameters with descriptions, achieving 100% coverage. The description does not add additional meaning beyond what is already in the schema, so it meets the baseline.
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 full details of a single vulnerability by its ID', which clearly specifies the verb, resource, and method. It distinguishes from the sibling tool 'list_vulnerabilities' which lists multiple vulnerabilities.
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?
While the description implies using this tool to retrieve a specific vulnerability by ID, it does not explicitly state when to use it over alternatives like 'list_vulnerabilities'. However, the context is clear for a get-by-id operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_workflowA
Get a single Dynatrace Automation workflow by ID (platform Automation v1). Requires automation:workflows:read scope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | UUID of the workflow to retrieve. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses scope requirement and action (retrieve), but lacks details on return format, error handling (e.g., 404 if ID not found), or whether operation is idempotent. Adequate but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two clear, front-loaded sentences with no waste. Purpose first, then scope requirement.
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?
Tool is simple (single required param, no output schema). Description provides necessary context: what it gets, version, and required scope. Sufficient for a retrieval tool among siblings.
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 coverage is 100% (id parameter described in schema). Description adds scope requirement but no extra parameter semantics. Baseline 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?
Description clearly states the verb 'Get' and the resource 'single Dynatrace Automation workflow', with version specificity. It distinguishes from sibling tools like list_workflows (multiple) and create/update/delete.
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?
States required scope 'automation:workflows:read', implying prerequisites. Does not explicitly mention when not to use (e.g., if ID is unknown) or suggest alternatives, but the single-parameter nature makes usage clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_workflow_executionA
Get a single Dynatrace Automation workflow execution by ID (platform Automation v1). Requires automation:workflows:read scope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | UUID of the execution to retrieve. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description adds required scope but lacks details on error handling, idempotency, or return behavior beyond the execution retrieval. Moderate 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?
Two concise sentences, each providing essential information: operation and prerequisite. No 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?
Adequate for a simple single-parameter retrieval tool. Lacks mention of response format or error cases, but sufficiently complete given low 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 covers 100% with description for 'id' param as UUID. Description repeats the parameter requirement implicitly but adds no extra meaning beyond the schema. Baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the action 'Get' and resource 'single Dynatrace Automation workflow execution by ID', with platform version specified. Distinguishes from sibling 'list_workflow_executions'.
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?
Mentions required scope 'automation:workflows:read', implying read-only usage. No explicit when-not or alternatives, but the sibling list tool contextualizes single vs. multiple usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ingest_bizeventsA
Ingest a business event (CloudEvent) into Dynatrace via POST /api/v2/bizevents/ingest (WRITE). Requires DT_ENABLE_WRITES=true and a classic API token with the bizevents.ingest scope. Required CloudEvent fields: id, source, specversion, type. Optional: data, datacontenttype, dataschema, dtcontext, subject, time, traceparent.
| Name | Required | Description | Default |
|---|---|---|---|
| bizevent | Yes | Business event payload per spec |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It discloses that the operation is a WRITE and lists requirements, but does not cover side effects, response behavior, error handling, rate limits, or idempotency. For a data-ingesting tool, 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 two concise sentences. The first sentence states purpose and endpoint; the second lists requirements and fields. No unnecessary words, well 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?
Given the simplicity of the tool (single parameter, no output schema, no annotations), the description covers purpose, prerequisites, and field details. It lacks explanation of response or error behavior, but overall adequate for an ingest tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is only one parameter 'bizevent' with a minimal schema description. The tool description adds substantial value by enumerating required CloudEvent fields (id, source, specversion, type) and optional fields, which is not present in the schema itself.
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 'Ingest', the resource 'business event (CloudEvent)', and the target endpoint 'POST /api/v2/bizevents/ingest (WRITE)'. It distinguishes from sibling tools like ingest_events and ingest_logs by specifying 'bizevents'.
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 mentions prerequisites (DT_ENABLE_WRITES=true and token scope) and required/optional fields, but does not explicitly guide when to use this tool versus alternative ingest tools. No mention of when-not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ingest_eventsA
Ingest a custom event into Dynatrace via POST /api/v2/events/ingest (WRITE). Requires DT_ENABLE_WRITES=true and a classic API token with the events.ingest scope. Required fields: eventType (e.g. CUSTOM_INFO, CUSTOM_DEPLOYMENT, AVAILABILITY_EVENT), title. Optional: entitySelector, properties (key/value map), startTime, endTime, timeout.
| Name | Required | Description | Default |
|---|---|---|---|
| event | Yes | Event payload: eventType, title, properties, etc. per spec |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It identifies the tool as a write operation and details authentication requirements and field values. However, it lacks information on side effects, error handling, rate limits, or idempotency, which would be beneficial 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 three sentences, each serving a distinct purpose: action, prerequisites, field list. It is front-loaded and concise, with no extraneous 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 absence of an output schema, the description could explain return values or error responses. However, it covers the essential aspects: action, auth, and input fields. For a simple ingest tool, this is nearly complete, missing only output behavior.
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 only defines 'event' as an object with additionalProperties, providing no structure. The description compensates by listing supported fields (eventType, title, entitySelector, properties, etc.) and their examples, adding significant semantic value beyond the 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 clearly states the verb ('Ingest'), the resource ('custom event into Dynatrace'), and the specific HTTP endpoint. It distinguishes from sibling tools like ingest_bizevents and ingest_logs by specifying 'custom event', making its purpose unambiguous.
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 explicit prerequisites (DT_ENABLE_WRITES=true, specific API token scope) and lists required and optional fields. However, it does not explicitly state when not to use this tool or suggest alternatives among siblings, which is a minor omission.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ingest_logsA
Ingest one or more log records into Dynatrace via POST /api/v2/logs/ingest (WRITE). Requires DT_ENABLE_WRITES=true and a classic API token with the logs.ingest scope.
| Name | Required | Description | Default |
|---|---|---|---|
| logs | Yes | A log record or array of log records (JSON). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must cover behavioral traits. It mentions the mutation nature and required token scope but does not discuss idempotency, success indicators, error handling, or rate limits. Adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core action, and includes only essential additional info (prerequisites). Every sentence earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has one parameter and no output schema, the description covers the purpose and key requirements adequately. It could mention return values or error handling, but the complexity is low, and the description is largely sufficient.
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 already describes the 'logs' parameter as a JSON object or array with 100% coverage. The description does not add further semantic meaning beyond what the schema provides, so baseline of 3 applies.
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 'ingest', the resource 'log records', and the system 'Dynatrace'. It also mentions the API endpoint and the mutation nature, distinguishing it from other ingest tools like ingest_bizevents or ingest_events.
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 gives important prerequisites (environment variable and token scope) but does not explicitly compare to siblings or provide when-not-to-use scenarios. It implies usage for logs but lacks exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_audit_logsA
List audit log entries (classic Audit Logs API, requires auditLogs.read token scope). Returns the auditLogs array. Supports time-range filtering via from/to and a free-text filter query. Uses the classic Environment API v2: GET /api/v2/auditlogs.
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | Filter expression, e.g. category("CONFIG") or user("admin@example.com"). | |
| from | No | Start of the timeframe. Accepts UTC ms, ISO 8601, or relative (e.g. now-1h). Default: now-2h. | |
| to | No | End of the timeframe. Accepts UTC ms, ISO 8601, or relative. Default: now. | |
| pageSize | No | Number of entries per page (max 1000). Default: 50. |
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 discloses the required token scope, the return format (auditLogs array), and the API endpoint. It implies read-only behavior but does not explicitly state it is non-destructive. Pagination via pageSize is not mentioned in the description, only in the schema. Overall, it is fairly transparent for a list operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of two sentences that quickly convey purpose, required permissions, return object, filtering capabilities, and API endpoint. No unnecessary words or repetition.
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 output schema, the description explains the return array. It covers authentication, API version, and filtering options. Missing details include pagination behavior (though pageSize is in schema) and error handling. For a list tool with good schema coverage, it is mostly 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% coverage with detailed descriptions for each parameter. The description adds that filtering is time-range and free-text, which is already present in the schema. Thus the description provides minimal additional value over the schema, justifying a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists audit log entries using the classic API, specifies the required token scope, and gives the exact endpoint. It sufficiently distinguishes itself from other list tools by naming the resource and API version.
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 explains that the tool supports time-range filtering and a free-text query, making clear when to use it for audit log retrieval. However, it does not explicitly exclude alternatives or mention when not to use it, which would be beneficial given the presence of sibling list tools and a specific get_audit_log tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_custom_servicesA
List all custom service definitions for a given technology (classic Config API v1, read-only).
| Name | Required | Description | Default |
|---|---|---|---|
| technology | Yes | Technology to list custom services for. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It mentions 'read-only', which is a useful behavioral trait, but does not disclose other potential aspects like pagination or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no wasted words, front-loading the key action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one parameter and no output schema, the description provides adequate information about purpose, parameter, and read-only nature. Some might expect mention of return format, but overall it is sufficient.
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 coverage is 100% and the parameter description in the schema already explains the parameter. The tool description's phrase 'for a given technology' adds no new meaning beyond what the schema provides.
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 lists all custom service definitions for a given technology, using a specific verb and resource, and differentiates from siblings like 'get_custom_service'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you need to list custom services for a technology, but does not provide explicit when-not-to-use guidance or mention alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_dashboardsA
List Dynatrace dashboards accessible to you (Document Service). Filters to type='dashboard'. Optionally pass pageSize (max 1000).
| Name | Required | Description | Default |
|---|---|---|---|
| pageSize | No | Number of results per page (default 20, max 1000). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It indicates a read-only operation ('List') and that results are filtered by accessibility and type. However, it omits the default page size (20) and does not disclose pagination or rate limit 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?
Two concise sentences: the first states the purpose with scope, the second describes the optional parameter. No unnecessary words 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 simple list tool with one optional parameter and no output schema, the description adequately covers purpose, scope, and the parameter. It could be improved by stating the default page size, but overall it is 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 covers the single parameter completely (100% coverage) with a description that includes default and max. The tool description only mentions 'max 1000' and omits the default, adding minimal value beyond the 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 clearly states it lists Dynatrace dashboards accessible to the user, specifying a filter to type='dashboard'. This verb+resource combination is specific and distinguishes it from sibling tools like list_metrics or list_problems.
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 clear context for when to use this tool (listing dashboards) but does not explicitly mention when not to use or suggest alternatives. However, the name alone sufficiently guides the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_entity_typesB
Queries Smartscape entity types via Grail DQL (Gen3-native). Returns guidance on common Grail entity tables. Pass useClassic:true to use the classic Entities v2 API on Gen2 tenants.
| Name | Required | Description | Default |
|---|---|---|---|
| pageSize | No | ||
| useClassic | No | Use the classic Entities v2 API instead of Grail DQL (only for Gen2 tenants that still expose /api/v2/entities). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must carry the burden. Only states what it does (queries entity types, returns guidance) but lacks behavioral details like authentication requirements, pagination (though pageSize parameter hints at it), or output specifics. Insufficient for a safe agent decision.
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?
Two sentences, front-loaded with main purpose, second sentence adds alternative usage. No redundant or irrelevant 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?
Adequate for a simple list tool with two parameters. However, lacks details on output format (what 'guidance on common Grail entity tables' means) and pagination behavior (pageSize usage). Completeness is minimal but not severely lacking.
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 50% (only useClassic described). The description reinforces useClassic's purpose but adds no value for pageSize, which remains unexplained. Could have clarified pageSize's role in pagination.
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?
Description clearly states it queries Smartscape entity types via Grail DQL, distinguishing it from sibling tools like list_hosts (specific entities) and find_entities (entity search). It also mentions alternative classic API for Gen2 tenants.
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?
Provides guidance on when to use the classic API (Gen2 tenants) but does not explicitly state when to avoid this tool in favor of alternatives like find_entities or list_hosts. Usage context is implied but not fully elaborated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_event_notificationsB
List event-notifications (platform notification v2). Returns paginated results array.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only mentions that results are paginated and returns an array, but lacks details on authentication, rate limits, side effects, or data scope.
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 two short sentences. Every word is necessary and informative, with no redundancy or filler.
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 output schema, the description mentions paginated results array, which is helpful. However, it does not describe the structure of an event-notification object or any other contextual details, making it only minimally adequate for a simple list 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 input schema has zero parameters with 100% coverage, so the baseline is 4. The description adds minimal context ('List event-notifications') but does not need to elaborate further since there are no parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists event-notifications (platform notification v2), but does not explicitly distinguish from siblings like get_event_notification (which retrieves a single one). The verb 'list' and mention of 'v2' provide some 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 offers no guidance on when to use this tool versus alternatives such as get_event_notification, create_event_notification, etc. It does not specify any preconditions or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_extension_monitoring_configsB
List all monitoring configurations for an Extension 2.0.
| Name | Required | Description | Default |
|---|---|---|---|
| extensionName | Yes | The extension name. | |
| pageSize | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states it lists configurations, implying read-only, but does not mention pagination behavior, error handling (e.g., nonexistent extension), rate limits, or any side effects. 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, concise sentence of 8 words, fitting the tool's simplicity. It is front-loaded with the action and resource, but may be overly terse.
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 output schema and minimal description, the tool definition does not explain what the return value looks like (e.g., structure of configs) or any additional context like required permissions or prerequisites. This is inadequate for a complete contextual 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 coverage is 50%: only 'extensionName' has a description ('The extension name'), while 'pageSize' has none. The description adds no parameter information beyond the schema, failing to compensate for the missing documentation of 'pageSize'.
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 the resource 'all monitoring configurations' for 'Extension 2.0'. It distinguishes from sibling tools like 'get_extension_monitoring_config' (single config) and other list tools for different entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing all configs for a given extension, but does not provide explicit guidance on when to use this tool versus alternatives (e.g., get, create, update, delete configs). No exclusions or context are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_extensionsC
List all Extensions 2.0 available in the environment.
| Name | Required | Description | Default |
|---|---|---|---|
| pageSize | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not mention any behavioral aspects like pagination, ordering, or performance implications.
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?
A single sentence of 8 words is concise, but the lack of detail makes it borderline too sparse.
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?
No output schema is provided, and the description does not explain the return format or parameter usage, leaving 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?
The schema has one parameter (pageSize) with 0% description coverage, and the description does not mention or explain it, adding no 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 the resource ('all Extensions 2.0'), and it is distinct from sibling list tools for other 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?
No when-to-use or when-not-to-use guidance is provided, and there is no mention of alternatives like other list tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_feature_flagsB
List all flags in a feature (Dynatrace Feature Management API). Requires feature-management:features:read scope.
| Name | Required | Description | Default |
|---|---|---|---|
| projectKey | Yes | The project key. | |
| featureKey | Yes | The feature key. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden. It discloses that the operation is a read-only list and requires the 'feature-management:features:read' scope, which is useful. However, it does not describe return format, pagination, or ordering, leaving 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 very concise, with a single sentence plus the scope requirement front-loaded. Every word is relevant, though it could potentially be merged for slightly better flow.
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 has 2 required parameters with full schema coverage, but no output schema. The description lacks details on what the response contains (e.g., list of flag objects) and any limitations. It is adequate for a simple list tool but not 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?
Schema coverage is 100% with clear parameter descriptions. The tool description adds no extra meaning beyond what the schema provides for 'projectKey' and 'featureKey', thus meeting 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 'List' and the resource 'all flags in a feature', specifying the API and required scope. It effectively distinguishes from sibling tools like 'get_feature_flag' (single flag) and 'list_features' (features in a 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 does not provide when-to-use guidance or explicitly mention alternatives. While it hints at usage context by naming the API and required scope, it lacks a clear statement like 'Use this to get all flags for a feature; for a single flag, use get_feature_flag.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_feature_projectsA
List all Feature Management projects (Dynatrace Feature Management API). Requires feature-management:projects:read scope.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It states 'list all' implying read-only, but lacks details on pagination, limits, or ordering. Adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence delivering essential information: purpose, API context, and required scope. No unnecessary words.
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?
No output schema exists, so description should clarify return format (e.g., list of project IDs or objects). It only says 'list all projects', leaving response structure vague. Adequate for a simple list but could be more 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 tool has no parameters; schema coverage is 100% (empty). Description adds no parameter info, which is appropriate since none exist. No additional explanation needed.
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 lists all Feature Management projects, specifying the API and required scope. It distinguishes itself from CRUD siblings like get_feature_project, create_feature_project, etc.
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?
Mentions required scope but does not provide explicit guidance on when to use this tool versus alternatives (e.g., get_feature_project for a single project). Usage context is implied but not elaborated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_featuresA
List all features in a Feature Management project. Requires feature-management:features:read scope.
| Name | Required | Description | Default |
|---|---|---|---|
| projectKey | Yes | The project key. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description adds auth requirement (feature-management:features:read scope) which is helpful. However, no mention of read-only nature, pagination, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences, no fluff, purpose front-loaded. Every sentence adds value.
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?
Minimal but covers basic purpose and auth requirement. However, lacks output structure details (no output schema) and does not mention expected return format or any optional parameters.
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 coverage is 100% with one parameter described as 'The project key.' Description adds no extra meaning beyond schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb 'list' and resource 'features' with scope 'in a Feature Management project'. Distinguishes from siblings like list_feature_flags and get_feature.
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?
Only mentions required scope but provides no guidance on when to use this tool vs alternatives like list_feature_flags or other list tools. Missing context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_filter_segmentsA
List all Grail filter segments (platform storage filter-segments v1).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It only states 'list all', but does not disclose potential side effects, pagination, sorting, or read-only nature. Minimal behavioral info.
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?
Single sentence, no unnecessary words. Efficient and 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 zero-parameter list tool, the description is adequate but lacks details on return structure, pagination, or any optional filters. Could be more complete given no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0 parameters with 100% coverage, so description adds no parameter info. Baseline is 4 because no parameter semantics needed.
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 the resource 'Grail filter segments', with a parenthetical that aligns with API naming. It distinguishes from sibling tools like get_filter_segment and other list_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives (e.g., get_filter_segment for a single segment). Usage is implied as listing all segments, but no exclusion criteria or alternatives mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_grail_bucketsA
List all Grail retention bucket definitions (Dynatrace Storage Management v1). Returns the full bucket array including bucketName, table, retentionDays, status, etc.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so description must carry behavioral info. It states the return format but does not explicitly confirm it is read-only, non-destructive, or mention any limitations like pagination. Adequate but could be more explicit.
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?
Single, well-structured sentence that front-loads the core purpose. No wasted words.
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 zero parameters and no output schema, the description sufficiently covers the tool's purpose and output. No gaps for a simple list 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?
No parameters in schema, so description has no burden. Baseline 4 applies as schema coverage is 100%.
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 'List all Grail retention bucket definitions', specifying the verb and resource. It distinguishes from sibling tools like 'get_grail_bucket' which retrieves a single bucket, and 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 implies usage for listing all buckets, but does not explicitly contrast with 'get_grail_bucket' or mention prerequisites. However, the context of siblings makes the differentiation clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_hostsA
Queries Smartscape host entities via Grail DQL (Gen3-native). Pass useClassic:true to use the classic Entities v2 API on Gen2 tenants. Optional tag/management-zone filters only work with useClassic:true (Gen2).
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | Filter by tag, e.g. 'env:prod'. Only applied when useClassic:true. | |
| managementZone | No | Filter by management zone name. Only applied when useClassic:true. | |
| pageSize | No | ||
| useClassic | No | Use the classic Entities v2 API instead of Grail DQL (only for Gen2 tenants that still expose /api/v2/entities). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full burden. It discloses the dual-backend behavior and filter limitations but omits pagination behavior, rate limits, or output format. The pageSize parameter is not mentioned.
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?
Two sentences with no redundancy. All information is front-loaded and essential. Every word contributes.
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 without output schema, the description covers the main input behaviors. It could hint at the return format (e.g., 'returns host entities'), but the core purpose and conditional modes are well covered.
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 coverage is high (75%) and already documents conditional filter behavior. The description reinforces this but does not add new meaning beyond the schema. Baseline 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 it queries Smartscape host entities via Grail DQL, with a fallback to classic API. This distinct purpose separates it from other list tools like list_dashboards or list_entities.
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 explains when to use the classic API (Gen2 tenants via useClassic:true) and notes that tag/managementZone filters only work in that mode. It doesn't compare directly with find_entities or other query tools but gives clear contextual guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_iam_groupsA
List visible groups at an organisational level (IAM v1). Requires iam:groups:read scope on an account-scoped platform token. level-type is 'account' or 'environment'; level-id is the corresponding UUID. Response array field: results (each item has uuid, groupName, type).
| Name | Required | Description | Default |
|---|---|---|---|
| levelType | Yes | Organisational level type: 'account' or 'environment'. | |
| levelId | Yes | UUID of the level-type instance (e.g. account UUID). |
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 discloses the required authorization scope (auth behavior), the scope of listing ('visible groups'), and the response structure ('results array with uuid, groupName, type'). It implicitly indicates a read-only operation by the verb 'list', which is adequate but not explicit.
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 composed of three concise sentences, each serving a clear purpose: purpose and scope, parameter guidance, and response format. It is front-loaded with the core action and resource, and every sentence adds value without redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 100% schema coverage and no output schema or annotations, the description covers purpose, auth requirements, parameter usage, and response structure. However, it omits potential error conditions, pagination behavior, or edge cases, leaving minor gaps for a list operation. Overall, it is fairly complete but not exhaustive.
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 coverage is 100% with both parameters described. The description restates the parameter meanings ('level-type is account or environment; level-id is the corresponding UUID') but adds no new information beyond what the schema already provides. Therefore, it meets the baseline expectation but does not significantly 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 clearly states the action ('List'), the resource ('groups'), and the scope ('at an organisational level' with 'IAM v1'). It distinguishes from sibling tools like 'list_iam_users' by specifying 'groups' and the required scope. The verb and resource are specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context by stating the required scope ('iam:groups:read on an account-scoped platform token') and the organisational level context. However, it does not explicitly state when to use this tool over alternatives or when not to use it, lacking explicit exclusion or alternative tool references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_iam_service_usersA
List active service users usable by the calling user at an organisational level (IAM v1). Requires iam:service-users:use scope.
| Name | Required | Description | Default |
|---|---|---|---|
| levelType | Yes | Organisational level type: 'account' or 'environment'. | |
| levelId | Yes | UUID of the level-type instance. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description is the sole source. It discloses the required scope (iam:service-users:use) and that only active users usable by the caller are listed. However, it does not describe pagination, response structure, or potential errors.
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 two sentences: the first for functionality and the second for required scope. No redundant or unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 required params, no output schema), the description adequately covers purpose and auth requirement. However, it lacks details on return format or pagination, which could be useful for agents.
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 coverage is 100% and both parameters have clear descriptions in the schema. The tool description adds no additional parameter context beyond what is already in the schema, meeting the baseline.
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 lists active service users usable by the calling user at an organisational level (IAM v1), specifying the resource type and scope. It distinguishes from sibling tools like list_iam_users and add_iam_user by targeting service users.
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 mentions a required permission scope but does not provide explicit when-to-use or when-not-to-use guidance relative to other tools. The resource type (service users) implicitly differentiates, but no 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_iam_usersA
List active users at an organisational level (IAM v1). Requires iam:users:read scope on an account-scoped platform token. level-type is 'account' or 'environment'; level-id is the corresponding UUID.
| Name | Required | Description | Default |
|---|---|---|---|
| levelType | Yes | Organisational level type: 'account' or 'environment'. | |
| levelId | Yes | UUID of the level-type instance (e.g. account UUID). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses the required auth scope (iam:users:read) and explains parameters, but does not mention other behaviors such as pagination, sorting, or return format.
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 two sentences, front-loaded with the purpose, and contains no unnecessary words. It efficiently conveys the core 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?
The description explains the tool's purpose and parameters but lacks details about the output (returned fields, structure). Since there is no output schema, more context on the return value would improve 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?
The description repeats the parameter definitions already provided by the input schema (levelType, levelId) without adding new meaning. Schema coverage is 100%, so baseline is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists active users at an organizational level, specifying 'IAM v1'. This distinguishes it from sibling tools like get_iam_user (single user) and list_iam_groups.
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 indicates the tool is for listing active users at an organizational level and requires a specific scope, but it does not explicitly state when to use this tool versus alternatives (e.g., get_iam_user for a single user).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_metricsA
List/search metric descriptors (classic Metrics v2). Use a metricSelector like 'builtin:host.*' to filter. On Gen3/Grail tenants this endpoint may be unavailable; use query_metric or execute_dql instead.
| Name | Required | Description | Default |
|---|---|---|---|
| selector | No | metricSelector filter, e.g. 'builtin:host.cpu.*'. | |
| pageSize | No | Page size (default 100). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that this endpoint may be unavailable on Gen3/Grail tenants - a key behavioral trait. No annotations provided, so description carries full burden; it adds helpful context beyond pure 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?
Two sentences, front-loaded with purpose and filter example. No extraneous words.
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/search tool with no output schema, the description adequately covers purpose, usage, filtering, and platform-specific availability. Complete enough for agent decision-making.
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 baseline is 3. Description gives an example for metricSelector ('builtin:host.*') which adds value, but pageSize is not elaborated beyond 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?
Clear verb+resource: 'List/search metric descriptors (classic Metrics v2)'. Distinguishes from siblings like query_metric and execute_dql which serve different purposes.
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?
Explicitly provides usage context: filtering with metricSelector, and explicitly warns when not to use on Gen3/Grail tenants and gives alternatives (query_metric, execute_dql).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_monitorsA
List all synthetic monitors (browser and network availability). Optionally filter using a monitor-selector expression.
| Name | Required | Description | Default |
|---|---|---|---|
| monitorSelector | No | Optional filter selector, e.g. 'type(BROWSER)', 'enabled(true)', 'tag(env:prod)', or comma-separated combinations. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It states the tool lists monitors but does not disclose pagination behavior, rate limits, authentication requirements, or what properties are returned. The output format is unspecified, leaving significant uncertainty.
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 two sentences, front-loaded with the main action, and no unnecessary words. It efficiently conveys the purpose and optional filter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one optional parameter and no output schema, the description covers purpose and filter but lacks details on pagination, sorting, or default behavior. This is a minor gap 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?
The schema coverage is 100% with a detailed description for the only parameter. The tool description repeats the filter concept without adding new semantics, so baseline 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 tool lists all synthetic monitors, specifying types (browser and network availability) and optional filtering. This distinguishes it from sibling tools like list_synthetic_locations or list_entity_types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing monitors with optional filtering but does not explicitly state when to use this tool over alternatives like get_monitor or list_synthetic_nodes. No exclusion criteria or alternative tools are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_notebooksB
List Dynatrace notebooks accessible to you (Document Service). Filters to type='notebook'. Optionally pass pageSize (max 1000).
| Name | Required | Description | Default |
|---|---|---|---|
| pageSize | No | Number of results per page (default 20, max 1000). |
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 disclosing behavior. It states 'accessible to you' (implied authorization) but fails to mention return structure, pagination details (beyond pageSize), ordering, or any side effects. The read-only nature is implied but not explicitly stated.
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 two sentences, front-loading the purpose and filtering logic. Every word serves a purpose; no redundant or irrelevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one optional parameter and no output schema, the description is adequate but could be more complete. It does not explain the default pageSize, the return format, or whether pagination metadata is provided. However, given the low complexity, it meets a minimum viable standard.
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 single parameter 'pageSize' is fully described in the schema (100% coverage). The description merely echoes the schema ('Optionally pass pageSize (max 1000)'), adding no additional semantic meaning or usage context beyond what the schema already provides.
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 lists Dynatrace notebooks, specifying the scope 'accessible to you' and the filter 'type=notebook'. It distinctly identifies the resource (notebooks) and action (list), differentiating it from sibling tools like get_notebook or create_notebook.
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 (e.g., when to list vs get a specific notebook). It does not mention prerequisites, limitations, or context for use beyond the action itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_objective_templatesB
List SLO objective templates (platform SLO v1).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only says 'list' which implies read-only. However, it does not confirm read-only, mention pagination, rate limits, or any behavioral traits. Minimal disclosure.
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 concise sentence, front-loaded with the action and resource. Every word is necessary and there is no wasted space.
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 parameters, no output schema, and no annotations, the description is extremely minimal. It lacks context such as what the output contains, whether there are limits, or how it relates to creating SLOs. Despite simplicity, it is incomplete for effective tool selection.
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 zero parameters and schema coverage is 100%. Per the rubric, 0 parameters sets a baseline of 4. The description does not add parameter info, but none is needed.
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 lists SLO objective templates, specifying 'platform SLO v1' which distinguishes it from other SLO-related tools like list_slos or create_slo. The verb 'List' and resource are directly stated.
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. For instance, it does not differentiate from list_slos or other list tools in the sibling list. No when-to-use or when-not-to-use information is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_openpipeline_configurationsA
List all OpenPipeline configurations (one per data type: logs, events, bizevents, metrics, spans, davis, sdlcEvents, securityEvents, etc.). Returns the available data-type configurations with their editable status.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It explains the output (data types and editable status) but does not explicitly state that the operation is read-only or non-destructive. However, 'list' implies a safe operation, and the description adds useful context beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that conveys the tool's purpose and output without unnecessary words or structure. It is front-loaded with the action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and no output schema, the description is complete for an agent to understand what the tool does and what it returns. The list of data types is specific and helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the description does not need to add parameter details. Baseline for 0 params is 4, and the description adds value by indicating the type of data returned (data types and editable status).
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 lists all OpenPipeline configurations per data type, and specifies the return includes editable status. This distinguishes it from sibling tools like get_openpipeline_configuration which targets a single configuration.
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 implicitly indicates use for obtaining an overview of all configurations, and sibling tools like get_openpipeline_configuration and update_openpipeline_configuration are available for specific operations, though no explicit when-to-use or when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_openpipeline_processor_typesA
List, per data type, the processor types allowed in each pipeline stage (parsed from each configuration's pipelinesSpecification). Useful for discovering which processor types (e.g. 'fieldsAdd', 'dql', 'drop', 'geoLookup') are valid in a given stage for a given data type. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| configId | No | Optional data-type id (e.g. 'logs') to return only that one; omit for all. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly marks the operation as read-only and explains the data source (parsed from pipelinesSpecification). With no annotations provided, this covers key behavioral traits adequately.
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 concise with two front-loaded sentences that cover functionality, usage, and examples. No unnecessary words.
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 description explains what is listed and its source, but lacks details on the return structure. Given no output schema, a hint about the format would improve 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?
The parameter 'configId' is described with an example ('logs') and clarifies that omitting returns all. This adds value beyond the schema description, which is also provided.
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 specifies the action (list), resource (processor types per data type and stage), and includes examples of processor types. It distinguishes itself from sibling list tools by focusing on processor types for openpipeline configurations.
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 states the tool is useful for discovering valid processor types, providing clear context. However, it does not explicitly mention when not to use it or alternatives, though the purpose is self-explanatory.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_openpipeline_technologiesA
List all available OpenPipeline technology parsers (grouped by technology category). Each technology entry includes its id, name, matcher condition, and allowed configuration types.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden. It describes the output content (id, name, matcher condition, configuration types) but does not mention any behavioral traits like pagination, ordering, or side effects. As a read-only list, behavior is benign, but more detail would improve 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?
Two concise sentences. The first specifies the action and grouping, the second details the returned fields. No wasted words, front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with no parameters and no output schema, the description provides sufficient information about what is returned. It could be improved by noting any limitations (e.g., no filtering, static list), but overall it is complete enough for an agent to understand the tool's purpose.
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?
There are no parameters, and schema coverage is trivially 100%. The description adds no parameter info because none exist. The baseline for zero parameters is 4, which 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 'list' and the resource 'OpenPipeline technology parsers', with additional detail about grouping by category and the fields included. This distinguishes it from sibling tools like list_openpipeline_configurations and list_openpipeline_processor_types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing technology parsers, but does not explicitly state when to use this tool versus alternatives such as list_openpipeline_configurations or list_openpipeline_processor_types. No when-not or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_problemsB
List problems (classic Problems v2). Filter by status/severity via problemSelector and a timeframe.
| Name | Required | Description | Default |
|---|---|---|---|
| problemSelector | No | e.g. status("OPEN"),severityLevel("AVAILABILITY"). | |
| from | No | default 'now-2h'. | |
| to | No | ||
| pageSize | No |
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 traits. The description does not disclose that this is a read-only operation, nor does it mention pagination behavior, default time ranges, rate limits, or what happens with no filters. The parameter pageSize implies pagination but is not explained.
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 concise sentence, front-loading the action. It is efficient but could benefit from a structured format (e.g., listing key features) to improve readability without sacrificing 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?
The description lacks important context for a list tool: no output schema, no mention of default time ranges (though 'from' has a default in schema), no pagination behavior, and no information about what fields are returned. This leaves the agent with incomplete information to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (problemSelector and from have descriptions). The description adds context by linking filters to problemSelector and timeframe, aiding understanding. However, it does not explain the 'to' parameter or 'pageSize' beyond what the schema provides, leaving gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and the resource 'problems (classic Problems v2)'. It also mentions filtering capabilities, providing a clear purpose. However, it does not explicitly distinguish from sibling tools like get_problem or other list_* tools, which could be improved.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing problems with filters via problemSelector and timeframe. However, it does not provide explicit guidance on when to use this tool versus alternatives, such as get_problem for single problems, or when not to use it. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_release_stagesB
List all release stages in a Feature Management project. Requires feature-management:projects:read scope.
| Name | Required | Description | Default |
|---|---|---|---|
| projectKey | Yes | The project key. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It only states the action and scope, ignoring pagination, error handling, or output format. 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 sentence with no filler. It is efficient but could be slightly expanded for clarity without losing 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 list tool with one required parameter and no output schema, the description is minimally complete. However, it lacks information about the return value, which would be helpful for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage for the single parameter projectKey. The description does not add any extra meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List', the resource 'release stages in a Feature Management project', and includes a required scope. It is specific and unambiguous, distinguishing it from other list tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs. alternatives like list_features or list_feature_flags. No when-not or context for usage is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_request_attributesA
List all request attribute definitions (classic Config API v1).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 that the tool lists all definitions but provides no additional behavioral context such as authentication requirements, pagination behavior, rate limits, or side effects. For a list operation, this is minimal disclosure.
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 sentence with no filler, but could have included a bit more context (e.g., output format) without becoming verbose. It is appropriately concise for a simple list tool.
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 parameters and no output schema, the description names the result ('request attribute definitions') but does not specify the structure or type of definitions returned. For a simple listing tool, this is adequate but not complete; additional details would improve usability.
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?
There are no parameters (0), so the baseline is 4 per guidelines. The description does not need to add parameter semantics since none exist.
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 the resource 'request attribute definitions', with version context 'classic Config API v1'. This unambiguously identifies the tool's purpose and distinguishes it from siblings like list_request_namings or get_request_attribute.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving all request attribute definitions, but does not explicitly state when to use this tool over alternatives like get_request_attribute (single) or list_request_namings (different resource). No when-not guidance is provided, making the guidance adequate but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_request_namingsA
List all request naming rules (classic Config API v1).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only states 'List all request naming rules' without mention of pagination, sorting, read-only nature, or potential side effects, leaving the agent uninformed about important behavioral aspects.
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, concise sentence that is front-loaded with the core purpose. Every word is meaningful, with no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and no output schema, the description is adequate for a simple list tool but lacks detail on what the response contains (e.g., list of names, full objects) or any pagination behavior, which could 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?
The tool has zero parameters and the schema description coverage is 100%. The description adds no param info, but with no parameters, the baseline is 4 as it does not need to compensate for missing schema explanations.
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 'List all request naming rules' with a specific verb ('List') and resource ('request naming rules'). The addition of '(classic Config API v1)' distinguishes it from potential other versions and siblings like 'create_request_naming' or 'get_request_naming'.
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 identifies the API version ('classic Config API v1'), providing context for when to use this tool. However, it does not explicitly state when not to use it or mention alternatives like 'get_request_naming' for single items, though the name implies listing all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_self_notificationsA
List self-notifications (platform notification v1). Returns paginated results array.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 discloses pagination but does not mention authentication, rate limits, side effects (none expected for listing), or what constitutes a 'self-notification'. Additional transparency about the return format would be beneficial.
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 two sentences: one for purpose and one for key behavior (pagination). Front-loaded and no fluff, 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 zero parameters and no output schema, the description is adequate but lacks context about the return structure beyond 'paginated results array'. It does not specify what fields each notification contains, which could hinder an agent's ability to use the output effectively. More detail on the response shape would improve 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 has zero parameters and coverage is 100%, so the description does not need to add parameter details. Baseline for 0 parameters is 4, which is appropriate as no additional parameter context is required.
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?
Description clearly states the verb 'List' and resource 'self-notifications', adding version '(platform notification v1)' and mentioning paginated results. This distinguishes it from sibling tools like 'get_self_notification' (single) and 'create_self_notification'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing all self-notifications but provides no explicit guidance on when to use this tool versus alternatives like 'get_self_notification' (for a single notification) or 'create_self_notification'. No exclusions or context are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_settings_objectsB
List Settings 2.0 objects, filtered by schema and/or scope.
| Name | Required | Description | Default |
|---|---|---|---|
| schemaIds | No | Comma-separated schema ids. | |
| scopes | No | Comma-separated scopes, e.g. 'environment' or a HOST-xxx id. | |
| pageSize | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not disclose behavioral traits such as pagination behavior, sorting, side effects, or performance characteristics. Since no annotations are provided, the description carries the full burden but fails to add detail beyond the basic listing function.
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, concise sentence. It is front-loaded with the key action and resource, containing no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has three parameters and no output schema or annotations, the description is insufficiently complete. It does not mention return value structure, pagination, sorting, or error conditions, leaving significant gaps for the 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 adds no additional meaning beyond the input schema. The schema already describes schemaIds and scopes with similar wording; pageSize lacks a description both in schema and description. With 67% schema coverage, the description should compensate for the missing pageSize explanation but does not.
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 Settings 2.0 objects, filtered by schema and/or scope.' clearly specifies the verb (list) and the resource (Settings 2.0 objects). It also mentions the filtering capability, which distinguishes it from other list tools like list_settings_schemas.
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 (e.g., get_settings_object, list_settings_schemas). There is no mention of prerequisites, context, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_settings_schemasC
List Settings 2.0 schema ids (classic). These identify configurable settings types.
| Name | Required | Description | Default |
|---|---|---|---|
| pageSize | No |
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 only states the tool lists IDs, omitting behavioral traits such as read-only nature, pagination behavior (beyond pageSize), or response format. Minimal disclosure.
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?
Single sentence that is front-loaded and contains no unnecessary words. Every word serves a 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 list tool with one optional parameter and no output schema, the description fails to explain response format, error conditions, or the relationship to 'settings' concepts. It is incomplete for an agent to fully understand 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 description does not mention the single parameter 'pageSize'. Schema coverage is 0%, and the description adds no meaning beyond what the schema already provides (type, constraints). Baseline 3 is not met because the description does not compensate for lack of 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 tool lists Settings 2.0 schema IDs, identifying configurable settings types. It uses specific verb 'List' and resource 'schema ids', and the parenthetical 'classic' hints at versioning. However, it does not explicitly differentiate from sibling 'get_settings_schema'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'get_settings_schema' or 'list_settings_objects'. The description does not mention prerequisites, context, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_slosC
List Service-Level Objectives (platform SLO v1).
| Name | Required | Description | Default |
|---|---|---|---|
| pageSize | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior. It only states the action without mentioning pagination, read-only nature, result format, or any limitations. Minimal disclosure.
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 concise sentence, which is efficient but omits necessary details. It earns its place but is too short to be fully effective.
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 one parameter and no output schema, the description lacks essential context like pagination behavior, result count, or filtering. 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 coverage is 0% and the description does not mention the only parameter 'pageSize'. This fails to add meaning beyond the schema's type/constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and the resource 'Service-Level Objectives', with a version qualifier. It effectively distinguishes from sibling list_* tools that target 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?
No guidance is provided on when to use this tool versus alternatives like get_slo or other list tools. Context signals such as pagination or scoping are not mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_synthetic_locationsB
List all synthetic locations (both public and private) available for the environment.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 only states the tool lists locations, but does not disclose whether it is read-only, requires authentication, or has any side effects. The behavior is implied but not explicitly stated.
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 sentence that is front-loaded and concise. Every word serves a purpose with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and no output schema, the description is sufficient for its simplicity. It clearly states what the tool does. However, it could mention if pagination or filtering exists, but that is not required given the empty 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?
There are no parameters, and the schema coverage is 100%. The description does not need to add meaning for parameters. Baseline 4 applies as no param info is needed.
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 the resource 'synthetic locations', and specifies the scope 'both public and private' with context 'available for the environment'. It distinguishes itself from sibling tools like list_synthetic_nodes by focusing on locations specifically.
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 (e.g., list_synthetic_nodes or other list tools). There is no mention of prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_synthetic_nodesA
List all synthetic nodes (ActiveGates capable of running synthetic monitors).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description implies a read-only list operation. Lacks details on auth or rate limits, but the behavior is clear and non-destructive.
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?
Single sentence, concise and front-loaded. Every word adds value.
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?
Simple tool with no parameters or output schema. Description defines the resource. Could mention return format, but still adequate.
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?
No parameters, so baseline is 4. Description adds no parameter info but none needed.
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?
Description states explicitly it lists synthetic nodes, defines them as ActiveGates capable of running synthetic monitors, clearly distinguishing from other list tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance, but the specific description implies usage for listing synthetic nodes. No alternatives mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_trust_policiesA
List WIF (Workload Identity Federation) trust policies for an account (IAM v1). Requires an account-scoped platform token. Response array field: results.
| Name | Required | Description | Default |
|---|---|---|---|
| accountUuid | Yes | Account UUID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Mentions token requirement and response array field 'results'. Does not elaborate on whether operation is read-only (implied by 'List') or other behaviors.
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?
Three concise sentences: first states action and scope, second adds prerequisite, third notes response field. No fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers essential aspects: what the tool does (list), scope (account), authentication requirement, and response format. Adequate given lack of annotations and output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter description. Description adds no new meaning beyond the schema; baseline 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?
Clearly states verb 'List' and resource 'WIF trust policies' for an account (IAM v1). Distinguishes from sibling tools like create_trust_policy and delete_trust_policy by specifying listing action and 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?
Specifies prerequisite of an account-scoped platform token, but does not explicitly state when to use vs alternatives (e.g., get_trust_policy for a single policy). Usage is implied by name and context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_trust_policy_mappingsA
List WIF service user mappings for a trust policy (IAM v1). Response array field: results.
| Name | Required | Description | Default |
|---|---|---|---|
| accountUuid | Yes | Account UUID. | |
| trustPolicyUuid | Yes | Trust policy UUID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states the tool lists mappings, which implies a read operation, but it does not disclose any side effects, permissions needed, or limitations like pagination. It is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the purpose and a key detail (response field). Every part earns its place, with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with two required parameters and no output schema, the description covers the basic purpose and response field. However, it lacks information about pagination or result limits, which would be helpful for a list 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 baseline is 3. The description does not add extra meaning beyond what the schema already provides for the two required parameters (accountUuid and trustPolicyUuid).
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 the specific resource 'WIF service user mappings for a trust policy (IAM v1)', distinguishing it from sibling list tools like list_trust_policies and list_iam_users. It also mentions the response array field 'results', which adds 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 implies usage by requiring a trust policy UUID and account UUID, but it does not explicitly state when to use this tool versus alternatives, nor does it provide exclusions or when-not-to-use scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_vulnerabilitiesC
List security vulnerabilities (Dynatrace Platform Vulnerabilities v1). Supports optional DQL-style filter expressions, sort, and time range.
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | Filter expression, e.g. 'davisAssessment.exploitStatus = "AVAILABLE" and risk.score > 8'. | |
| sort | No | Sort expression, e.g. "-risk.score" for descending risk score. | |
| startTime | No | Start of timeframe. ISO-8601 timestamp or relative, e.g. "now-7d". Defaults to "now-30m". | |
| endTime | No | End of timeframe. Only "now" is supported. Defaults to "now". |
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 for behavioral disclosure. It mentions the basic functionality but omits important behavioral traits such as pagination behavior, authentication requirements, rate limits, default result limits, or error handling. The description is too minimal for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and no wasted words. It front-loads the primary purpose and then succinctly lists supported features. This is ideal for an AI agent to quickly grasp the tool's core functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (4 optional parameters, no output schema, no annotations), the description is insufficiently complete. It does not explain what happens with multiple results (pagination), default sorting, or output format. A more complete description would address these operational details for a listing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all 4 parameters with detailed descriptions (100% coverage). The description adds minimal extra value by calling filters 'DQL-style' and providing a sort example, but these are already present in the schema descriptions. Per scoring rules, baseline is 3 when schema coverage is high, and the description does not significantly 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 clearly states the tool's purpose: listing security vulnerabilities from Dynatrace Platform Vulnerabilities v1. It also mentions optional features (filter, sort, time range), making the resource and action obvious. However, it does not explicitly differentiate from sibling list tools, though the vulnerability context is specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lacks explicit guidance on when to use this tool vs. alternatives. It does not mention when not to use it or provide comparative context with other list tools like list_problems or list_audit_logs. The sibling list tools are numerous, but the description provides no decision-making criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_workflow_executionsA
List Dynatrace Automation workflow executions (platform Automation v1). Draft and simple workflow executions are not included. Requires automation:workflows:read scope on the platform token.
| Name | Required | Description | Default |
|---|---|---|---|
| workflow | No | Workflow UUID to filter executions. Comma-separated UUIDs are accepted by the spec (multiple values). | |
| state | No | Execution state filter. Comma-separated values, e.g. 'SUCCESS,FAILED'. | |
| limit | No | Number of results per page. | |
| offset | No | Pagination offset. |
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 discloses exclusion of draft/simple executions and required scope, but does not explain pagination behavior, ordering, or rate limits. The description adds some value but lacks full behavioral detail.
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 two sentences, no redundant words, and front-loaded with the core purpose. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list tool with 4 parameters, the description covers the key aspects: scope requirement and exclusion rules. However, it lacks details on default ordering, maximum limit, or error responses, which would be beneficial but not critical.
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 coverage is 100%, so the schema already documents all parameters clearly. The description does not add additional semantics beyond the schema, so it meets the baseline but does not exceed it.
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 the resource 'workflow executions', specifies the platform version 'Dynatrace Automation (platform Automation v1)', and explicitly excludes draft and simple executions. This distinguishes it from siblings like list_workflows and get_workflow_execution.
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 clear context by stating which executions are not included (draft and simple) and the required scope. However, it does not explicitly specify when to use this tool instead of alternatives or provide conditions for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_workflowsB
List Dynatrace Automation (Workflows) workflows via the platform Automation v1 API. Requires automation:workflows:read scope on the platform token.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results per page (default: server default). | |
| offset | No | Pagination offset. | |
| search | No | Free-text search term to filter workflows by title. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It mentions required scope and API, but fails to describe pagination behavior (despite limit/offset in schema), the effect of the 'search' parameter, or any rate limits. The description is insufficient for safe agent invocation.
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 concise (two sentences) and front-loaded with the purpose. It is efficient, but could be slightly more structured by grouping usage guidance.
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 a simple list operation with no output schema. The description omits details about return format, pagination metadata, or any response structure. It provides the minimum viable information for a list tool, but lacks completeness given the absence of annotations.
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 coverage is 100%, so the schema already documents all three parameters. The description does not add any additional meaning beyond what is in the schema (e.g., it doesn't explain the default limit or how search interacts with offset). Baseline 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 uses a specific verb ('List') and resource ('Dynatrace Automation (Workflows) workflows'), and mentions the API ('platform Automation v1 API'). It clearly identifies what the tool does and distinguishes it from sibling tools like 'get_workflow' and 'list_workflow_executions' through 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 only states the required scope ('automation:workflows:read'), but does not provide guidelines on when to use this tool versus alternatives (e.g., 'get_workflow' for a single workflow, 'list_workflow_executions' for executions). No when-to-use or when-not-to-use guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
openpipeline_dql_autocompleteA
Get DQL autocomplete suggestions for a DQL processor script (safe, read-only). Useful when authoring pipeline DQL expressions.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | DQL processor autocomplete request: script (in-progress DQL), cursorPosition, optional configurationId, protectedFields. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description adds value by stating the tool is 'safe, read-only', which informs the agent about potential side effects. It does not detail error conditions or permissions but the read-only claim is sufficient for this autocomplete function.
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 concise with two sentences, front-loading the purpose and key trait. Every sentence 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?
Given the tool has no output schema, the description hints at the output via 'autocomplete suggestions' but does not explicitly describe the return format. However, for a simple autocomplete tool, it is reasonably complete for an agent to infer usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The tool description does not add additional meaning beyond what the schema already provides for each parameter (script, cursorPosition, configurationId, protectedFields).
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 the resource 'DQL autocomplete suggestions' for a DQL processor script. It distinguishes from sibling tools like openpipeline_matcher_autocomplete by specifying 'DQL' and 'pipeline DQL expressions'.
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 indicates it is 'useful when authoring pipeline DQL expressions', providing clear context for when to use. However, it does not explicitly mention when not to use or list alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
openpipeline_matcher_autocompleteA
Get autocomplete suggestions for a matcher (routing condition) expression (safe, read-only). Useful when authoring pipeline routing conditions.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Matcher autocomplete request: query (in-progress matcher expression), cursorPosition. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description explicitly declares the tool as 'safe, read-only,' which is a key behavioral trait. It does not disclose other details like auth needs or rate limits, but for an autocomplete tool, this is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with zero waste. It front-loads the action ('Get autocomplete suggestions') and immediately provides context for usage and safety.
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 description explains the tool's purpose and input but does not describe the output format (e.g., list of suggestions with metadata). However, given there is no output schema, the description is mostly complete for an autocomplete API.
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 coverage is 100%, and the description merely restates the parameter names and types ('query' and 'cursorPosition') from the schema. It adds no additional semantics beyond what the input schema already provides.
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 provides autocomplete suggestions for 'matcher (routing condition) expressions,' with the added context of being 'safe, read-only' and 'useful when authoring pipeline routing conditions.' This distinguishes it from sibling autocomplete tools like 'openpipeline_dql_autocomplete'.
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 indicates use when 'authoring pipeline routing conditions,' providing clear context. It does not explicitly state when not to use or name alternatives, but the sibling list includes a DQL-specific autocomplete, implying differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_openpipeline_pipelineA
Preview the effect of an ORDERED SEQUENCE of processors by threading a record through each one via repeated /preview/processor API calls (safe, read-only). Each step's output record becomes the next step's input — this is pure-code orchestration, not a bulk API call. Returns a per-step trace (matched, record) and the finalRecord after all steps. Stops at the first step that returns an error.
| Name | Required | Description | Default |
|---|---|---|---|
| processors | Yes | Ordered list of processor definitions (each like a single-preview processor: type, id, matcher, fields, ...). Do NOT include sampleData; the tool injects it per step. | |
| sampleData | Yes | Initial record to feed the pipeline: a JSON-encoded string OR an object. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully covers behavioral traits: safe/read-only, orchestration method, per-step trace, finalRecord, error handling. Transparent about what it does and does not do.
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?
Three sentences, front-loaded with key information, every sentence essential. No 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 no output schema, description explains return values (per-step trace and finalRecord). Schema covers all parameters. Sufficient for understanding and usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description adds value by advising not to include sampleData in processors (injected) and explains the chaining behavior, exceeding schema details.
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?
Explicitly states it previews an ordered sequence of processors by threading a record, uses repeated API calls, and distinguishes from single-processor preview (sibling tool). Verb+resource+scope is clear.
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?
Describes the process and notes it stops on first error, but lacks explicit when-to-use vs the sibling 'preview_openpipeline_processor'. Provides context but no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_openpipeline_processorA
Preview the effect of a pipeline processor on sample data without mutating any configuration (safe, read-only). Returns per-record match and transformed record results. Use this to author and validate processors before applying them with update_openpipeline_configuration. Include a 'sampleData' string field (JSON-encoded record) inside the processor definition.
| Name | Required | Description | Default |
|---|---|---|---|
| processor | Yes | Processor definition (type, matcher, fields, etc.). Include a 'sampleData' string field with a JSON-encoded record to test against, per the PreviewProcessorEnvelope spec. Example: { type: 'fieldsRename', sampleData: '{"hostname":"my-host"}', fields: [{ fromName: 'hostname', toName: 'host.name' }] } |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses read-only safety and return of per-record results. No annotations provided, so description carries full burden; lacks error condition details but sufficient for preview intention.
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?
Two concise sentences conveying purpose, guidance, and key instruction. No fluff, well-structured.
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 output schema, the description adequately explains return values and usage context. References the update tool for follow-up action.
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 coverage is 100%, and description adds value by emphasizing the sampleData field requirement within the processor object, including an example.
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?
Clearly states the tool previews processor effects safely without mutation, distinguishing it from the update tool. The verb 'Preview' + resource 'pipeline processor' is specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to use this for authoring/validating before applying changes via update_openpipeline_configuration, and provides usage detail about including sampleData.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_metricA
Query metric data points via Grail DQL 'timeseries' (Gen3-native, platform token). Builds a timeseries query and executes it against the Grail storage API. Works on all Gen3/Grail tenants with the storage:metrics:read scope.
| Name | Required | Description | Default |
|---|---|---|---|
| metricKey | Yes | Metric key, e.g. 'dt.host.cpu.usage'. | |
| aggregation | No | Aggregation: avg|sum|min|max|count|median|percentile etc. Default 'avg'. | |
| by | No | Dimensions to split by, e.g. ['dt.entity.host']. | |
| filter | No | Optional DQL filter expression, e.g. 'dt.entity.host == "HOST-123"'. | |
| from | No | DQL timeframe start (default 'now()-1h'). | |
| to | No | DQL timeframe end (default 'now()'). | |
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explains the tool builds a timeseries query and executes against the Grail storage API, disclosing the required scope. Without annotations, it carries the burden but could add more details like error handling, idempotency, or rate limits. It is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences cover purpose, mechanism, and scope requirement without waste. Each sentence adds value. Slightly more structure could help, but it is already concise and clear.
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 has moderate complexity (7 params), no output schema, and no annotations. The description covers purpose and scope but does not explain the return format or pagination behavior (considering limit parameter). Adequate but 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 coverage is 100% with detailed descriptions for all 7 parameters. The description adds that it 'builds a timeseries query', which provides context but does not significantly enhance parameter meaning beyond the schema. Baseline 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 tool queries metric data points via Grail DQL 'timeseries', specifying it is Gen3-native and uses a platform token. This distinguishes it from sibling tools like get_metric_metadata (metadata) and execute_dql (generic DQL).
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 clear prerequisites: works on Gen3/Grail tenants with storage:metrics:read scope. It does not explicitly mention when not to use or alternatives, but the context implies it is for data points rather than metadata or other operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_workflowA
Trigger a run of a Dynatrace Automation workflow (WRITE, platform Automation v1). Creates a new Execution for the workflow. Requires DT_ENABLE_WRITES=true and automation:workflows:run scope on the platform token.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | UUID of the workflow to run. | |
| input | No | Optional run input payload passed to the workflow as `input` (per ExecutionInputsRequest spec). Defaults to {} if omitted. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that the tool is a WRITE operation, creates a new execution, and requires specific token scope. However, it omits side effects, sync/async behavior, and what the return value (likely execution ID) looks like.
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?
Three sentences, each with a purpose: action, effect, requirements. No excess words. Front-loaded with the primary action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-param tool with no output schema, the description covers purpose, effect, and requirements. However, it does not describe the return value (execution ID?) or whether the call is synchronous, leaving some gaps for a complete 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 coverage is 100% with both parameters described. The description does not add meaning beyond the schema (e.g., UUID format, input structure). Baseline 3 applies since schema is sufficient.
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 'Trigger a run of a Dynatrace Automation workflow' using specific verb and resource. It distinguishes from sibling tools by noting it is a WRITE operation that creates a new execution, contrasting with read (e.g., list_workflows), create, or delete 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 implicitly tells when to use (to run a workflow) but lacks explicit exclusions or alternatives. It mentions requirements (DT_ENABLE_WRITES=true, scope) but does not say when not to use or provide context relative to getting workflow executions or checking status.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_logsA
Search logs in Grail via DQL. Builds a 'fetch logs' query with optional filters. For advanced needs use execute_dql.
| Name | Required | Description | Default |
|---|---|---|---|
| contains | No | Substring to match in log content. | |
| loglevel | No | e.g. 'ERROR', 'WARN'. | |
| host | No | Host name to filter by (dt.host.name). | |
| from | No | DQL timeframe start expression, e.g. 'now()-1h' (default) or 'now()-24h'. | |
| limit | No | Max rows (default 100). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden. It describes building a DQL query with filters, implying a read-only operation. However, it does not disclose potential limits, rate limiting, or whether the operation is idempotent. The transparency is adequate but not detailed.
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 three sentences, each adding value. The first sentence states the action, the second adds detail, and the third provides an alternative. No filler or redundancy. It is appropriately concise.
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?
With no output schema, the description should mention what the tool returns (e.g., list of log entries). It does not. For a tool with 5 parameters and no output schema, the description leaves some ambiguity about the response format. It is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 5 parameters have descriptions in the schema (100% coverage). The description adds no extra detail beyond the schema, so the baseline of 3 is appropriate. The description does not clarify parameter interactions or defaults beyond what's in the 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 clearly states it searches logs in Grail via DQL, specifying it builds a 'fetch logs' query with optional filters. It distinguishes from the sibling tool execute_dql, which is for advanced needs. This provides a specific verb and resource.
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 mentions using execute_dql for advanced needs, giving an alternative. However, it does not explicitly state when to use this tool versus other log-related tools like search_spans or ingest_logs. The guidance is clear but could be more comprehensive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_spansB
Search distributed-tracing spans in Grail via DQL ('fetch spans'). Filter by service, status, or duration.
| Name | Required | Description | Default |
|---|---|---|---|
| service | No | Service name (service.name). | |
| onlyErrors | No | If true, only failed spans. | |
| minDurationMs | No | Minimum span duration in ms. | |
| from | No | DQL timeframe start expression (default 'now()-1h'). | |
| limit | No | Max rows (default 100). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not disclose behavioral traits such as read-only nature, rate limits, pagination, or result format. Since no annotations are present, the description carries the full burden but only covers 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, front-loaded sentence with no filler words. It efficiently communicates the core action and filter options.
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 search tool with 5 optional parameters and no output schema, the description lacks details on return format, pagination, timeframe defaults, and limit behavior. It does not equip the agent to fully understand what to expect from 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 coverage is 100% with detailed parameter descriptions. The tool description adds a high-level summary of filters but no new meaning beyond the schema. Baseline 3 is appropriate as the description adds marginal 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 'Search', the resource 'distributed-tracing spans', and the method 'via DQL', along with the main filter dimensions. This distinguishes it from sibling tools like search_logs, get_trace, and execute_dql.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for searching spans with filters, but does not explicitly state when to use this tool over alternatives like get_trace for individual traces or execute_dql for arbitrary queries. No when-not-to-use or prerequisite information is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_emailA
Send an email via the Dynatrace Email API (platform email v1). Requires DT_ENABLE_WRITES=true and the platform scope email:emails:send. The sender is fixed to no-reply@dev.apps.dynatracelabs.com.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | Email payload per Email API v1: toRecipients, ccRecipients, bccRecipients (each with emailAddresses/ssoUserIds/ssoGroupIds), subject, body (contentType: text/plain|text/html, body), notificationSettingsUrl. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description carries full burden. Discloses fixed sender and write requirement, but does not mention return value, error scenarios, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, no fluff, key information front-loaded. Every sentence adds value.
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?
Lacks output/return value description since no output schema. For a mutation tool, response information is important. Otherwise covers prerequisites and a key constraint.
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 coverage 100%, baseline 3. Description adds no extra meaning beyond schema; does not explain nested fields or constraints beyond what schema already provides.
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?
Clear verb 'send' with specific resource 'email via Dynatrace Email API'. Distinguishes from siblings as no other tool sends email. Includes API version and fixed sender.
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?
States prerequisites (DT_ENABLE_WRITES=true, required scope). Does not explicitly exclude alternatives, but no sibling tool overlaps in functionality.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_dashboardA
Update an existing dashboard (WRITE). Uses PATCH /documents/{id} with multipart/form-data per the spec. Optimistic locking: you must supply the current document version. At least one of name, content, or contentPath must be provided. Requires DT_ENABLE_WRITES=true.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Dashboard document id. | |
| version | Yes | Current document version for optimistic locking (required by the spec). | |
| name | No | New display name (optional). | |
| content | No | New dashboard content as a JSON object (optional). | |
| contentPath | No | Absolute or cwd-relative path to a JSON file whose contents become the new dashboard content. Mutually exclusive with content. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully discloses behavioral traits: it is a WRITE operation, uses PATCH, requires optimistic locking (version), and needs the feature flag DT_ENABLE_WRITES=true. It also notes the multipart/form-data format. No contradictions.
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 three sentences, each delivering essential information without redundancy. It front-loads the purpose and then adds constraints and prerequisites 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 mutation tool with no output schema, the description covers input constraints, prerequisites, and behavior. It lacks any description of the return value or success/failure indicators, but given the complexity and existing schema, it is reasonably complete for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although the input schema has 100% coverage with descriptions, the description adds critical context beyond the schema, such as the requirement for optimistic locking via 'version', the mutual exclusivity of content and contentPath, and the feature flag prerequisite. This significantly aids correct invocation.
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 explicitly states the tool updates an existing dashboard, distinguishes it from create_dashboard by mentioning 'Update an existing dashboard', and specifies that it uses PATCH with multipart/form-data. It clearly identifies the resource and action.
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 clear when-to-use guidance by stating 'Update an existing dashboard' and lists required prerequisites (optimistic locking version, feature flag DT_ENABLE_WRITES). It also notes that at least one of name, content, or contentPath must be provided. However, it does not explicitly mention when to avoid using this tool or compare it to other update-specific siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_event_notificationA
Update an event-notification by ID (WRITE, platform notification v2).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Event-notification UUID. | |
| notification | Yes | Notification definition object. Pass all required fields per the notification spec. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description explicitly marks this as a WRITE operation, which is a key behavioral trait. However, it does not disclose details such as required permissions, potential side effects, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is front-loaded with the verb and resource, containing no unnecessary words. Every part is earned.
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 low complexity (2 params, one nested object) and no output schema, the description is minimal but adequate. However, it does not clarify return values or error behavior, which the agent might need.
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 already defines both parameters with descriptions. The tool description adds no additional meaning beyond what the schema provides, so baseline 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?
Clearly states the verb 'update' and the resource 'event-notification by ID', distinguishing it from sibling tools like create_event_notification, delete_event_notification, get_event_notification, and list_event_notifications.
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?
Implies usage for updating an existing event-notification by ID, but does not provide explicit guidance on when to use this tool versus alternatives or mention any prerequisites or constraints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_extension_monitoring_configA
Update a specified monitoring configuration for an Extension 2.0 (WRITE). Scope cannot be changed; only the 'value' field is updated.
| Name | Required | Description | Default |
|---|---|---|---|
| extensionName | Yes | The extension name. | |
| configurationId | Yes | The monitoring configuration ID to update. | |
| config | Yes | Update body. Typically contains a 'value' object. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Explicitly identifies as WRITE operation and discloses that scope is immutable and only value field is updated. Without annotations, this adequately conveys key behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise with two sentences, no unnecessary words. Front-loaded with the action verb.
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?
Provides essential info for a simple update tool. Could mention response format or error cases, but given no output schema, the description covers core needs.
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 coverage is 100% but descriptions are generic. The description adds critical nuance: only the 'value' field is updatable, which is not in the schema description for 'config'.
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?
Clearly states verb (update), resource (monitoring configuration for Extension 2.0), and scope limitation. Distinguishes from sibling CRUD 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?
Provides clear context for when to use and notes the limitation on scope change. Lacks explicit alternatives or when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_featureB
Update a feature by key within a project (WRITE). Requires feature-management:features:write scope and DT_ENABLE_WRITES.
| Name | Required | Description | Default |
|---|---|---|---|
| projectKey | Yes | The project key. | |
| featureKey | Yes | The feature key. | |
| feature | Yes | Feature update body (name, description, type, variants, owner, maintainers, version, status). |
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 identifies the operation as a write and lists required scopes, but fails to describe error behavior (e.g., feature not found), idempotency, or what fields are required. This is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, but it omits important details that could be included without much verbosity. It is adequate but not optimally informative.
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 an update tool with a nested object parameter and no output schema, the description lacks information on return values, error handling, or partial update behavior. It is incomplete 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?
Schema coverage is 100%, so the schema already documents each parameter. The description adds minimal extra value, only listing possible fields for the 'feature' object. The baseline 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 ('Update'), the resource ('a feature by key within a project'), and marks it as a WRITE operation, distinguishing it from read-only tools like get_feature or list_features.
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 mentions required scopes, which is helpful, but it does not explicitly differentiate when to use this tool versus alternatives like create_feature or delete_feature. The usage context is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_feature_flagA
Update a feature flag by key (WRITE). Requires feature-management:features:write scope and DT_ENABLE_WRITES.
| Name | Required | Description | Default |
|---|---|---|---|
| projectKey | Yes | The project key. | |
| featureKey | Yes | The feature key. | |
| flagKey | Yes | The flag key. | |
| flag | Yes | Flag update body (name, description, tags, variants, version). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the write nature and required scope, but lacks details on side effects, idempotency, or return behavior. More context would be beneficial.
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 concise sentence that efficiently conveys the key information. It avoids verbosity but still includes critical context like scope requirements.
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 description does not mention the return value or output, which is important since no output schema is provided. Additionally, the nested 'flag' object could benefit from more explanation beyond what the schema offers.
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 baseline is 3. The description adds no additional meaning beyond what the schema already provides for each parameter.
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), resource (feature flag), and key method (by key). It also notes it's a WRITE operation, differentiating it from read-only sibling tools like get_feature_flag.
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 specifies required scope and environment variable, which is helpful for usage. However, it does not provide guidance on when to choose this over alternatives like create_feature_flag, nor does it mention when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_feature_projectB
Update a Feature Management project by key (WRITE). Requires feature-management:projects:write scope and DT_ENABLE_WRITES.
| Name | Required | Description | Default |
|---|---|---|---|
| projectKey | Yes | The project key. | |
| project | Yes | Project update body (name, description, owner, maintainers, version). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must disclose behavioral traits. It only indicates it's a write operation and prerequisites. Missing details on side effects, return values, error conditions, or whether updates are partial or full. Minimal transparency beyond the obvious.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (one sentence plus requirement). No fluff, front-loaded with action and resource. Could be slightly more structured but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description lacks return value information, error handling, and typical usage context. For a mutation tool with two parameters, more detail is 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 coverage is 100% with descriptions for both parameters. The description adds 'by key' which aligns with projectKey but no extra meaning beyond schema. Baseline score of 3 applies as schema compensates.
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 a Feature Management project by key' and notes it's a WRITE operation. It distinguishes from sibling tools like create, delete, get, and list.
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 required scope and environment variable (prerequisites) but does not offer guidance on when to use this tool vs alternatives. No explicit when-to-use or when-not-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_filter_segmentA
Update (replace) a filter segment by UID (WRITE, platform storage filter-segments v1). All fields are overwritten. Requires storage:filter-segments:write scope.
| Name | Required | Description | Default |
|---|---|---|---|
| uid | Yes | ||
| filterSegment | Yes | Full filter segment body to replace the existing one (name, isPublic, includes, etc.). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the replace behavior ('All fields are overwritten') and required scope, which are critical. However, it omits details like idempotency, side effects, or what happens if required fields are missing.
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?
Two sentences: first states the operation, second warns about overwriting and required scope. Front-loaded and no unnecessary words.
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 update tool with 2 params and no output schema, the description covers main behavioral aspects but could include return value or error handling info. Adequate but not 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?
Schema coverage is 50% (only filterSegment has description). The description adds value by clarifying filterSegment as 'Full filter segment body to replace the existing one (name, isPublic, includes, etc.).' But uid parameter lacks any description in schema or 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 tool updates/replaces a filter segment by UID, with a specific verb and resource. It distinguishes from siblings like create_filter_segment and delete_filter_segment by specifying 'replace' and mentioning WRITE 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 clear context: it replaces an existing filter segment, requires a specific scope, and all fields are overwritten. It implies usage for updating existing segments, but does not explicitly exclude alternatives or state when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_grail_bucketA
Update a Grail retention bucket by name (WRITE, Dynatrace Storage Management v1). Uses an optimistic-locking PUT; include the current 'version' in the bucket body. Requires DT_ENABLE_WRITES=true and the platform scope storage:bucket-definitions:write.
| Name | Required | Description | Default |
|---|---|---|---|
| bucketName | Yes | The bucket name to update. | |
| bucket | Yes | Full bucket update body per Storage Management v1 spec (UpdateBucket schema). Mutable fields: displayName, retentionDays, includedQueryLimitDays. Must include 'version' (current optimistic locking version from GET). Read-only fields (bucketName, table, status, bucketClass, metricInterval) are accepted but ignored by the API. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since annotations are absent, the description carries the burden. It discloses the WRITE nature, optimistic locking, and required environment variable/scope. Could mention error cases like version mismatch.
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?
Two sentences: first states purpose and method, second gives key constraints. No wasted words, efficiently 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?
Given no annotations or output schema, the description covers the update mechanism, prerequisites, and parameter details. Lacks error handling or return value info, but is sufficient for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% but description adds significant value: specifies that 'bucket' must include 'version', lists mutable fields, and clarifies how read-only fields are handled. This goes beyond the schema descriptions.
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 it updates a Grail retention bucket by name, using a WRITE operation with optimistic locking. It distinguishes from sibling tools (create, delete, get, list) by specifying the update action and the PUT method.
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?
Provides explicit prerequisites: include current version, require DT_ENABLE_WRITES=true and platform scope. However, it does not mention when not to use this tool or contrast with alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_monitorA
Update (replace) a synthetic monitor definition by entity ID (WRITE). Sends a full PUT to /monitors/{monitor-id} per the platform synthetic v1 spec.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Synthetic monitor entity ID. | |
| monitor | Yes | Updated monitor definition object matching platform synthetic v1. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses the HTTP method (PUT) implying full replacement and that it is a write operation. However, it omits any side effects, authentication requirements, rate limits, or the need to provide the complete monitor object. The description adds some context beyond the schema but could be more transparent.
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, front-loaded sentence that communicates the essential information efficiently. No unnecessary words or repetition.
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 (nested object parameter, no output schema, no annotations), the description is too minimal. It fails to mention what the response is (updated monitor object or status), that the entire monitor definition must be provided, or any error conditions. For a mutation tool, 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?
The input schema has 100% coverage, so baseline is 3. The description adds no new parameter meaning beyond stating 'by entity ID', which is already evident from the schema. No additional semantics are provided.
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 it updates/replaces a synthetic monitor definition, specifies it is a WRITE operation, and references the API method (PUT) and endpoint. It distinguishes from create_monitor and delete_monitor by using 'update' and 'replace' language.
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?
While the name 'update' and sibling tools like create_monitor imply when to use it, there is no explicit guidance on prerequisites (e.g., monitor must exist), that it performs a full replacement rather than partial update, or when to use alternatives like get_monitor first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_notebookA
Update an existing notebook (WRITE). Uses PATCH /documents/{id} with multipart/form-data per the spec. Optimistic locking: you must supply the current document version. At least one of name, content, or contentPath must be provided. Requires DT_ENABLE_WRITES=true.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Notebook document id. | |
| version | Yes | Current document version for optimistic locking (required by the spec). | |
| name | No | New display name (optional). | |
| content | No | New notebook content as a JSON object (optional). | |
| contentPath | No | Absolute or cwd-relative path to a JSON file whose contents become the new notebook content. Mutually exclusive with content. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses the write nature, optimistic locking, and configuration requirement. However, it does not detail error conditions, rate limits, or authorization specifics beyond the flag, leaving some transparency 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 highly concise with three sentences that each contribute essential information: purpose, locking mechanism, parameter requirements, and configuration. No redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers key aspects but lacks information about return values (no output schema) and does not mention error cases like version conflicts. For a mutation tool with nested parameters, more detail on expected behavior would be beneficial.
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 coverage is 100% (baseline 3). The description adds the rule that at least one of name, content, or contentPath must be provided, which is not captured by the schema's optionality. This adds meaningful usage guidance.
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 'Update an existing notebook (WRITE)' and specifies the HTTP method and spec. It distinguishes from siblings like create_notebook and delete_notebook by focusing on 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 guidance on when to use the tool (for updating existing notebooks) and includes important usage notes like optimistic locking, required version, and the configuration flag. It could be improved by explicitly stating when not to use it, but the context is clear given siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_openpipeline_configurationA
Replace the full OpenPipeline configuration for a specific data type (WRITE, requires DT_ENABLE_WRITES=true). Fetch the current configuration first with get_openpipeline_configuration, modify it, then PUT it back. This replaces the entire configuration object.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Configuration id / data type to update, e.g. 'logs', 'events', 'bizevents', 'metrics'. | |
| configuration | Yes | Full configuration object (typically fetched via get_openpipeline_configuration, then modified). PUT replaces the whole configuration. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses that this is a WRITE operation, required flag, and that the entire configuration is replaced. This is sufficient for a mutation tool, though it does not detail error cases or idempotency.
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?
Two sentences, no filler. Each sentence adds essential information: purpose and requirement, then workflow and behavior. Front-loaded with key info.
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 complexity (nested object, update with full replacement) and no output schema, the description covers the main points: what it does, prerequisites, and the fetch-modify workflow. Could mention what happens on failure or invalid input, but overall 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?
Schema coverage is 100%, baseline 3. Description adds value by providing examples for 'id' and clarifying that 'configuration' is a full replacement object typically fetched and modified, which goes beyond the 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 clearly states 'Replace the full OpenPipeline configuration' with specific verb and resource, and distinguishes from siblings by name and by referencing get_openpipeline_configuration as the fetch step.
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?
Provides a clear workflow: fetch current config with get_openpipeline_configuration, modify, then PUT back. Also mentions the required feature flag DT_ENABLE_WRITES=true. However, no explicit when-not-to-use or alternatives beyond get.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_request_attributeB
Update an existing request attribute by ID (WRITE, classic Config API v1).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Request attribute ID to update. | |
| requestAttribute | Yes | Updated request attribute definition. |
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 only states 'WRITE' and API version, but does not disclose important behavioral traits such as authentication requirements, rate limits, side effects on monitoring, or whether changes are reversible. The description is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence containing all essential information: action, resource, identification method, WRITE operation, and API version. No wasted words, perfectly concise.
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?
Despite the tool having nested parameters and complex options (e.g., dataSources with sub-properties), the description is extremely short. It does not explain what happens after update, how to verify success, or constraints (e.g., immutability of some fields). Given the complexity, the description is clearly 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 the schema already documents both parameters thoroughly. The description adds little extra meaning beyond 'by ID' and 'update existing'. 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 'Update an existing request attribute by ID', specifying the action (Update), resource (request attribute), and method (by ID). It also notes 'WRITE' operation and 'classic Config API v1', distinguishing it from sibling tools like create_request_attribute, get_request_attribute, and delete_request_attribute.
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 does not provide explicit guidance on when to use this tool versus alternatives. It implies it is for updating existing attributes but lacks context like when to prefer this over other update tools (e.g., update_settings_object) or which prerequisites are needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_request_namingB
Update an existing request naming rule by ID (WRITE, classic Config API v1).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Request naming rule ID to update. | |
| requestNaming | Yes | Updated request naming rule definition. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It mentions 'WRITE', indicating a mutation, but lacks details on side effects, permissions, idempotency, or return behavior. The description adds minimal value beyond the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words, front-loading the key action, resource, and context. It is 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?
The tool has a complex nested input schema and no output schema. The description fails to explain what the API returns (e.g., updated rule, confirmation), prerequisites (e.g., rule must exist), or any behavioral nuances. This leaves significant gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the input schema already describes all parameters. The description does not add any additional meaning or constraints beyond what the schema provides, placing it at baseline.
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'), the resource ('request naming rule'), and the identifier ('by ID'). It also specifies it is a WRITE operation using classic Config API v1, distinguishing it from siblings like create, delete, get, and list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when modifying an existing rule but does not explicitly state when to use or avoid this tool, nor does it mention alternatives or prerequisites. The context is implied by the name and sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_self_notificationB
Update a self-notification by ID (WRITE, platform notification v1).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Self-notification UUID. | |
| notification | Yes | Notification definition object. Pass all required fields per the notification spec. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description labels the tool as 'WRITE' but does not disclose whether the update is partial or full replacement, how missing fields are handled, or any constraints. No annotations are present to supplement this lack of detail.
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 concise sentence that front-loads the action and resource, with no wasted words.
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 a nested object parameter and no output schema, the description lacks essential context such as update semantics, required fields in the notification object, and any constraints. This is insufficient for safe agent 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 coverage is 100% with descriptions for both parameters ('Self-notification UUID' and 'Notification definition object'). The description adds no additional meaning beyond what the schema provides.
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 explicitly states 'Update a self-notification by ID', specifying the verb and resource. It distinguishes this tool from siblings like create_self_notification and delete_self_notification.
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 creating or deleting self-notifications. The agent has no context for choosing the correct operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_settings_objectB
Update an existing Settings 2.0 object by objectId (WRITE).
| Name | Required | Description | Default |
|---|---|---|---|
| objectId | Yes | ||
| value | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral details such as what happens if the objectId does not exist, whether the update is partial or full, or other side effects. The manual '(WRITE)' is superficial.
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 very short and to the point, with no unnecessary words. However, it is almost too sparse, sacrificing informative content 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 lack of annotations and output schema, the description provides minimal context. It does not specify return values, error handling, or the scope of the update (e.g., partial vs. full).
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%. The description mentions 'objectId' but does not explain the 'value' parameter beyond its schema type. No semantics or constraints are added.
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), resource (Settings 2.0 object), and identifier (by objectId). It also includes '(WRITE)' to indicate the operation type, distinguishing it from siblings like create_settings_object and delete_settings_object.
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?
While the description implies use on existing objects, it lacks explicit guidance on when to use this tool vs alternatives (e.g., create_settings_object for new objects). No prerequisites or conditions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_sloC
Update an SLO by id (WRITE).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| slo | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral transparency. The word 'WRITE' indicates mutation, but it does not disclose whether updates are partial or full, authorization needs, idempotency, or effects on existing fields.
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?
Extremely concise, one sentence with no extra words. However, it sacrifices informativeness 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 complexity (2 required params, nested object, no output schema) and no annotations, the description is far too minimal. It does not cover update behavior, required fields within 'slo', or potential side 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 0% for top-level parameters, and the tool description adds no explanation of the 'id' or 'slo' parameters. It does not compensate for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Update an SLO by id (WRITE)' with a specific verb and resource, and '(WRITE)' distinguishes from read-only siblings like get_slo, list_slos. It differentiates from create_slo and delete_slo.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives, prerequisites, or when not to use it. The description only states the basic action without context for selection among related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_trust_policyA
Update a WIF trust policy by UUID (IAM v1, WRITE). Requires an account-scoped platform token.
| Name | Required | Description | Default |
|---|---|---|---|
| accountUuid | Yes | Account UUID. | |
| trustPolicyUuid | Yes | Trust policy UUID. | |
| trustPolicy | Yes | Updated trust policy definition (name, issuerUrl, audience, jwksUri, description). |
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 indicates a write operation and auth requirement, but does not disclose side effects, validation, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence front-loads the core action and key constraint. No superfluous words.
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 write tool with no output schema and no annotations, the description is sparse. It covers auth and identification but omits success response, side effects, and error conditions.
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 coverage is 100%, so the schema already documents parameters well. The description adds no extra meaning beyond the schema, maintaining the baseline.
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 specifies the verb 'Update' and the resource 'WIF trust policy by UUID', distinguishing it from siblings like create_trust_policy, delete_trust_policy, get_trust_policy.
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?
Includes a clear prerequisite ('Requires an account-scoped platform token') and implies usage for updating existing policies. Lacks explicit when-not or alternative comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_workflowA
Update (replace) a Dynatrace Automation workflow by ID (WRITE, platform Automation v1). Requires DT_ENABLE_WRITES=true and automation:workflows:write scope on the platform token.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | UUID of the workflow to update. | |
| workflow | Yes | Full workflow definition to replace the existing one. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It notes that the operation is a write and requires specific permissions, but does not disclose whether the replacement is full or partial, idempotency, error behavior, or destruction of missing fields.
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 sentence that packs essential information (action, resource, ID, prerequisites). It is concise but could benefit from a clearer structure or indication of replacement 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 complex nested workflow object and no output schema, the description lacks return value information and does not explain that the entire workflow is replaced, requiring all fields to be 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 descriptions cover 100% of parameters, so the baseline is 3. The description adds minimal value beyond saying 'Update (replace)' and the schema's 'Full workflow definition to replace the existing one.'
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 uses a specific verb ('Update (replace)'), identifies the resource ('Dynatrace Automation workflow'), and distinguishes from siblings like create_workflow and delete_workflow.
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 states the action (update by ID) and lists required prerequisites (environment variable and API scope). It does not explicitly exclude cases when to use alternative tools, but sibling names provide context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_against_live_schemaA
Validate a settings value against the live schema (read-only, validateOnly). Returns violations, required-missing keys, and a corrected value filtered to known properties.
| Name | Required | Description | Default |
|---|---|---|---|
| schemaId | Yes | ||
| scope | No | default 'environment' | |
| value | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It explicitly states 'read-only, validateOnly', indicating non-destructive behavior, and describes return values (violations, missing keys, corrected value). Missing details on permissions or side effects, but still strong 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?
Single sentence covers purpose, behavior, and outputs. Efficient and front-loaded with key information; no extraneous words.
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?
No output schema provided, but description adequately explains returns. Lacks context on what 'live schema' means, prerequisites, or how the corrected value is generated. Adequate but not comprehensive.
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 coverage is only 33%. Description adds meaning to 'value' as a settings object to validate and mentions outputs that clarify usage. However, 'schemaId' remains undocumented, and 'scope' only has a default in schema. Some added value but not 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 verb 'validate', the resource 'settings value against the live schema', and lists key outputs (violations, required-missing keys, corrected value). It distinguishes from siblings like 'validate_settings_object' by emphasizing 'live schema' and 'read-only, validateOnly'.
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?
Implies validation before applying settings, but lacks explicit guidance on when to use this tool vs alternatives (e.g., 'validate_settings_object'). No when-not-to-use or prerequisites specified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_settings_objectA
Validate a Settings 2.0 object payload WITHOUT persisting it (validateOnly=true). Returns constraint violations if invalid. Always safe (read-only).
| Name | Required | Description | Default |
|---|---|---|---|
| schemaId | Yes | ||
| scope | Yes | e.g. 'environment' or an entity id. | |
| value | Yes | The settings value object matching the schema. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It declares safety (read-only) and outcome (returns constraint violations), which are important behavioral traits. Lacks details on auth or rate limits, but sufficient for a validation 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?
Single sentence efficiently conveys purpose, key behavior, and safety. No fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Description covers essential aspects for a validation tool. Lacks return format details (e.g., structure of constraint violations), but given no output schema, it is reasonably 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?
Schema coverage is 67% with some descriptions already present. The tool description adds no parameter-specific meaning beyond what's in the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Validate'), resource ('Settings 2.0 object payload'), and key behavior (without persisting, returns constraint violations). It distinguishes itself from create/update/delete siblings by explicitly stating lack of persistence.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use (before persisting) and notes safety (read-only), but does not explicitly list when not to use or compare to alternatives like create_settings_object.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_dqlA
Validate a DQL statement without returning data (executes with limit 0). Returns ok=true or the validation error.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The DQL statement to validate. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses key behavior: executes with limit 0, returns ok or error. No annotations provided, so description carries full burden. It could further state that it is non-mutating, but the validation nature implies this.
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?
Single, front-loaded sentence with no unnecessary words. Efficiently conveys purpose, execution method, and return value.
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?
Reasonably complete for a simple validation tool: explains no-data-return and return format. Could detail the structure of the validation error, but not essential.
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 coverage is 100% with description of parameter 'query'. Description adds no additional insight beyond the schema; baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Validate', specifies the resource 'DQL statement', and explains it runs with limit 0 to avoid returning data, distinguishing it from execute_dql.
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?
Provides clear context for use (validation without data return) but does not explicitly mention when not to use it (e.g., when you need results, use execute_dql), though sibling tools make this implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_openpipeline_dql_processorA
Validate a DQL processor script without mutating any configuration (safe, read-only). Returns validation errors or a success indicator. Use this to author and validate DQL processing scripts before applying them with update_openpipeline_configuration.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | DQL processor verify request: script (the DQL script to validate), optional configurationId, protectedFields. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly states the tool does not mutate any configuration and is safe/read-only. It describes the return type (validation errors or success indicator). With no annotations provided, the description fully covers behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff. The key purpose and safety info are front-loaded. Every sentence adds value.
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 output schema, the description adequately explains return values. It covers the workflow with sibling tool. The schema is well-documented (100% coverage). The tool is simple with one required parameter; no 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 coverage is 100%, so baseline is 3. The description does not add additional parameter details beyond what is already in the schema for 'body', 'script', 'configurationId', and 'protectedFields'.
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 validates a DQL processor script and distinguishes it as read-only. It mentions the specific verb 'Validate' and resource 'DQL processor script', and the sibling tool 'update_openpipeline_configuration' provides 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?
Explicitly advises using this tool before applying changes via update_openpipeline_configuration, establishing a clear workflow. It also notes the tool is safe and read-only, giving guidance on appropriate usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_openpipeline_matcherA
Validate a matcher (routing condition) expression without mutating any configuration (safe, read-only). Use this to validate routing conditions before applying them with update_openpipeline_configuration.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Matcher verify request: query (the matcher expression), optional configurationId, context, restrictedFields. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It explicitly states the tool is 'safe, read-only' and does not mutate configuration, which is the key behavioral trait. It could add error or response details but is sufficient for core 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 two sentences, front-loads the purpose, and contains no fluff. 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 no output schema, the description does not mention the return value (e.g., success/error details). It adequately sets usage context but lacks completeness on what the tool returns. For a validation tool, this is a noticeable gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides full descriptions for all four sub-properties (query, configurationId, context, restrictedFields) with 100% coverage. The description adds no additional meaning beyond the schema, so baseline score of 3 applies.
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 uses a specific verb 'Validate' and resource 'matcher (routing condition) expression', clearly distinguishing it from siblings like verify_dql or verify_openpipeline_dql_processor. It also states the tool is read-only, adding precision.
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 explicitly advises to use this tool before applying the matcher with update_openpipeline_configuration, providing clear context. It does not list exclusions but the guidance is strong enough for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
With 152 tools, each has a distinct role clearly indicated by its name and description. Naming patterns like 'create_*', 'list_*', 'get_*', 'update_*', 'delete_*' avoid overlap. Even similar operations like 'execute_dql' vs 'search_logs' have different purposes (general query vs. specific log search).
All tools follow a consistent verb_noun pattern using snake_case. There is no mixing of camelCase or other styles; every name is lowercase with underscores. The pattern is uniform across all 152 tools.
152 tools is a large surface area, but it reflects the comprehensive nature of the Dynatrace SaaS platform covering multiple domains (IAM, storage, settings, monitoring, workflows, etc.). While borderline, the count is justified for the platform's breadth.
The tool set covers CRUD operations for most major entities (dashboards, notebooks, settings, SLOs, workflows, monitors, IAM, etc.) and includes specialized operations like validation, preview, drift checking, and ingestion. Minor gaps may exist but overall the coverage is very comprehensive.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Open-source agent that observes and fixes your application. Query logs, traces, metrics, incidents.
Gateway between LLM agents and world data through eight tools and a bundled endpoint catalog.
List datasets, schemas, run APL queries, and use prompts for exploration, anomalies, and monitoring.
Query your team's drift, vulnerability, and upgrade data from any AI assistant. OAuth 2.1, 51 tools.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants to interact with self-hosted Dynatrace Managed environments to retrieve observability data, security insights, and performance metrics. It allows users to query problems, logs, events, and SLOs through natural language interfaces in both local and remote modes.1861928Apache 2.0
- FlicenseBqualityDmaintenanceEnables AI assistants to interact with Datadog APIs for querying metrics, logs, events, monitors, and APM traces.164
- AlicenseAqualityDmaintenanceEnables LLMs to query telemetry data via the Spyglass AI agent, providing intelligent insights about application performance, errors, and bottlenecks.1MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with Datadog's observability platform via natural language, covering metrics, logs, APM, monitors, dashboards, incidents, and infrastructure.1,1061MIT
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/mnmozi/dynatrace-mcp-saas'
If you have feedback or need assistance with the MCP directory API, please join our Discord server