Redash MCP Server
Servidor MCP de Redash
Servidor de Protocolo de Contexto de Modelo (MCP) para integrar Redash con asistentes de IA como Claude.
Características
Conéctese a instancias de Redash a través de la API de Redash
Enumere las consultas y los paneles disponibles como recursos
Ejecutar consultas y recuperar resultados
Crear y gestionar consultas (crear, actualizar, archivar)
Lista de fuentes de datos para la creación de consultas
Obtenga detalles y visualizaciones del panel
Related MCP server: redash-mcp
Prerrequisitos
Node.js (v18 o posterior)
npm o hilo
Acceso a una instancia de Redash
Clave API de Redash
Variables de entorno
El servidor requiere las siguientes variables de entorno:
REDASH_URL: la URL de su instancia de Redash (por ejemplo, https://redash.example.com )REDASH_API_KEY: Su clave API de Redash
Variables opcionales:
REDASH_TIMEOUT: Tiempo de espera para solicitudes de API en milisegundos (valor predeterminado: 30000)REDASH_MAX_RESULTS: Número máximo de resultados a devolver (predeterminado: 1000)
Instalación
Clonar este repositorio:
git clone https://github.com/suthio/redash-mcp.git cd redash-mcpInstalar dependencias:
npm installCree un archivo
.envcon su configuración de Redash:REDASH_URL=https://your-redash-instance.com REDASH_API_KEY=your_api_keyConstruir el proyecto:
npm run buildIniciar el servidor:
npm start
Uso con Claude para escritorio
Para utilizar este servidor MCP con Claude for Desktop, configúrelo en su archivo de configuración de Claude for Desktop:
macOS : ~/Library/Application Support/Claude/claude_desktop_config.json Windows : %APPDATA%\Claude\claude_desktop_config.json
Agregue la siguiente configuración (edite las rutas según sea necesario):
{
"mcpServers": {
"redash": {
"command": "npx",
"args": [
"-y",
"@suthio/redash-mcp"
],
"env": {
"REDASH_API_KEY": "your-api-key",
"REDASH_URL": "https://your-redash-instance.com"
}
}
}
}Herramientas disponibles
Gestión de consultas
list-queries: enumera todas las consultas disponibles en Redashget-query: Obtener detalles de una consulta específicacreate-query: Crea una nueva consulta en Redashupdate-query: Actualizar una consulta existente en Redasharchive-query: Archivar (eliminar temporalmente) una consultalist-data-sources: enumera todas las fuentes de datos disponibles
Ejecución de consultas
execute-query: ejecuta una consulta y devuelve resultados
Gestión del panel de control
list-dashboards: enumera todos los paneles disponiblesget-dashboard: Obtener detalles y visualizaciones del panelget-visualization: Obtener detalles de una visualización específica
Desarrollo
Ejecutar en modo de desarrollo:
npm run devHistorial de versiones
v1.1.0: Se agregó funcionalidad de gestión de consultas (crear, actualizar, archivar)
v1.0.0: Versión inicial
Licencia
Instituto Tecnológico de Massachusetts (MIT)
Available Tools
67 toolsadd_alert_subscriptionB
Subscribe to an alert to receive notifications
| Name | Required | Description | Default |
|---|---|---|---|
| alertId | Yes | ID of the alert to subscribe to | |
| destination_id | No | ID of the notification destination (optional, defaults to email) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose side effects (e.g., overwriting previous subscriptions), permissions, or return values, but it only states the obvious purpose.
Agents need to know what a tool does to the 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 concise sentence with no fluff; front-loaded with 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 no output schema and missing behavioral details, the description fails to explain what happens after subscription (e.g., confirmation, effects on existing subscriptions).
Complex tools with many parameters or behaviors need more documentation. 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; the description adds no extra meaning beyond the schema, so baseline 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 action (subscribe) and resource (alert), and it is distinct from sibling tools like remove_alert_subscription or mute_alert.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 mute_alert or remove_alert_subscription; no context on prerequisites or expected behavior.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_dashboard_favoriteB
Add a dashboard to favorites
| Name | Required | Description | Default |
|---|---|---|---|
| dashboardId | Yes | ID of the dashboard to add to favorites |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. However, it only states the basic action and does not disclose behavioral traits such as whether the operation is idempotent, auth requirements, 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 sentence with no wasted words. It is front-loaded with the action. However, it could be slightly expanded with structural elements like prerequisites or 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 simplicity of the tool (1 parameter, no output schema), the description is mostly adequate but lacks behavioral context like what happens if the dashboard is already favorited or if the ID is invalid.
Complex tools with many parameters or behaviors need more documentation. 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 includes a description for the parameter. The tool description adds no 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?
The description clearly states the action (Add) and target (dashboard to favorites), distinguishing it from sibling tools like remove_dashboard_favorite and get_favorite_dashboards.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 want to add a dashboard to favorites) but provides no explicit guidance on when not to use it or alternatives. For a simple tool, this is adequate but not exemplary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_query_favoriteB
Add a query to favorites
| Name | Required | Description | Default |
|---|---|---|---|
| queryId | Yes | ID of the query to add to favorites |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden of behavioral disclosure, but it fails to mention whether the operation is idempotent, what happens if the query is already favorited, or any authentication requirements. The description is minimal and lacks important behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no extraneous information. It efficiently conveys the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description is barely adequate. It does not explain what 'favorites' means, any limits, or the result of the operation. However, given the low complexity, it meets a minimum viable 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 input schema already provides a description for the 'queryId' parameter ('ID of the query to add to favorites'), and the description does not add further meaning. Since schema description coverage is 100%, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Add a query to favorites' uses a specific verb and resource, clearly indicating the action and target. It distinguishes itself from siblings like 'remove_query_favorite' by stating the addition operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, such as whether the query should not already be favorited, or when to prefer other tools like 'remove_query_favorite' or 'get_favorite_queries'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
archive_dashboardB
Archive (soft-delete) a dashboard in Redash
| Name | Required | Description | Default |
|---|---|---|---|
| dashboardId | Yes | ID of the dashboard to archive |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must cover behavior. It mentions 'soft-delete' implying reversibility, but lacks details on permissions, side effects (e.g., widgets), 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?
Single short sentence with no fluff, front-loaded with purpose. All words are necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 is adequate but lacks behavioral details (e.g., whether it can be undone, impact on related resources) that would help an agent execute safely.
Complex tools with many parameters or behaviors need more documentation. 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 a clear parameter description. The description adds marginal context ('soft-delete') but does not significantly enhance understanding 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 action ('archive (soft-delete)') and the resource ('a dashboard in Redash'), distinguishing it from sibling tools like archive_query.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 (e.g., delete_widget, fork_dashboard) or prerequisites. The description does not mention exclusions or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
archive_queryA
Archive (soft-delete) a query in Redash
| Name | Required | Description | Default |
|---|---|---|---|
| queryId | Yes | ID of the query to archive |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The term 'soft-delete' discloses that the operation is reversible rather than a permanent deletion, adding context beyond the bare action. However, it does not explain how soft-delete manifests in Redash (e.g., visibility, restoration), permission requirements, or effects on dependent objects.
Agents need to know what a tool does to the 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 action efficiently 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?
The tool is simple with one parameter, making the description adequate. However, it omits any mention of return values or error behavior, and since no output schema exists, a brief note on success/failure 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 input schema fully describes queryId, and the description adds no additional parameter semantics. Baseline of 3 applies because 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 uses the specific verb 'archive' with the resource 'query', and clarifies it's a soft-delete operation. This clearly distinguishes it from sibling tools like update_query, get_query, and list_queries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 given about when to use this tool versus alternatives. The description doesn't mention prerequisites, the consequences of archiving, or when a soft-delete is preferred over other operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_alertB
Create a new alert in Redash. Alerts notify you when a query result meets a specified condition.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the alert | |
| rearm | No | Number of seconds to wait before triggering again (null for never) | |
| options | Yes | Alert options including column to monitor, operator, and threshold value | |
| query_id | Yes | ID of the query to monitor |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full burden. It only states the basic function but lacks disclosure of side effects (e.g., whether the alert starts immediately, if subscriptions are required, or if it returns the created object).
Agents need to know what a tool does to the 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 unnecessary words. It is front-loaded with the action and explanation, though it could be more structured (e.g., list key points).
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 no mention of return value. Missing context about prerequisites (e.g., query must exist), optional parameters (rearm), or related tools (e.g., add_alert_subscription). For a tool with nested objects and 4 parameters, it is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (all parameters have descriptions). The description adds little beyond the schema, merely paraphrasing 'monitor a column' as 'specified condition'. 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 creates a new alert in Redash and explains what alerts do (notify when condition met). It uses a specific verb-resource pair, distinguishing it from sibling tools like update_alert or delete_alert.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 (e.g., add_alert_subscription, update_alert). The description does not mention prerequisites (e.g., query must exist) or any contextual conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_dashboardB
Create a new dashboard in Redash
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the dashboard | |
| tags | No | Tags for the dashboard |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states the action. It omits details like permission requirements, idempotency, error behavior on duplicate names, or whether the created dashboard is returned.
Agents need to know what a tool does to the 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. It is appropriately brief for a simple creation tool, but could be slightly more structured with bullet points.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 output schema, key information is missing: no mention of return value, optional tags, or any side effects. Adequate for basic use 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 both parameters (name and tags). The description adds no 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?
The description 'Create a new dashboard in Redash' clearly states the verb (create) and resource (dashboard), distinguishing it from sibling tools like archive_dashboard or update_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?
The description provides no guidance on when to use this tool versus alternatives such as fork_dashboard or share_dashboard, nor 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.
create_queryC
Create a new query in Redash
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the query | |
| tags | No | Tags for the query | |
| query | Yes | SQL query text | |
| options | No | Query options | |
| schedule | No | Query schedule | |
| description | No | Description of the query | |
| data_source_id | Yes | ID of the data source to use |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must convey behavioral traits. It only states 'Create a new query' without disclosing side effects, required permissions, or system behavior (e.g., whether the query is saved immediately, if it triggers execution, or what happens on validation failure). The minimal description fails to inform the agent about the tool's operational characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with a single sentence, containing no wasted words. However, it lacks structural elements like bullet points, examples, or breakdown of steps. The conciseness comes at the cost of informativeness, leaving it minimally adequate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 (7 parameters, no output schema, no annotations) and the presence of many sibling tools, the description is insufficient. It does not explain the return value, prerequisites (e.g., valid data_source_id), or the difference between creating a query and other query operations. The description fails to provide a complete picture for an AI agent 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?
The input schema has 100% description coverage, providing basic meaning for all seven parameters. The description adds no additional value beyond what the schema already offers, so a baseline score of 3 is appropriate. There is no extra context about parameter relationships, constraints, or formatting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 'query', making the basic purpose understandable. However, it does not distinguish the tool from sibling tools like 'create_query_snippet' or 'execute_query', which could cause confusion. A more specific definition of what constitutes a 'query' in Redash (e.g., a saved SQL query) would improve 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?
No guidance is provided on when to use this tool versus alternatives. Sibling tools include other query creation actions (create_query_snippet) and execution tools (execute_query), but the description does not help the agent decide between them. For a CRUD tool in a domain with many similar operations, this omission is significant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_query_snippetA
Create a new reusable query snippet
| Name | Required | Description | Default |
|---|---|---|---|
| snippet | Yes | The SQL snippet content | |
| trigger | Yes | Trigger keyword for the snippet | |
| description | No | Description of the snippet |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so description must convey behavioral traits. It only says 'create', which implies a mutation, but does not disclose side effects, permissions, or immediate availability. Minimal but not misleading.
Agents need to know what a tool does to the 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, no unnecessary 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?
For a simple creation tool with well-documented parameters, the description is sufficient. Lacks only minor context like return behavior or typical usage scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. Description adds no additional meaning beyond the 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?
Description clearly states 'Create a new reusable query snippet', specifying the verb and resource. It distinguishes from sibling tools like update_query_snippet and delete_query_snippet.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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., update_query_snippet). No prerequisites or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_visualizationB
Create a new visualization for a query
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the visualization | |
| type | Yes | Type of visualization. Available types depend on your Redash instance. Use get_query to see existing visualization types in use. | |
| options | Yes | Visualization-specific configuration. The structure depends on your Redash instance and visualization type. Use get_visualization to examine existing visualizations of the same type as a reference. | |
| query_id | Yes | ID of the query to create visualization for | |
| description | No | Description of the visualization |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It merely states 'Create a new visualization' without disclosing side effects, permission requirements, idempotency, or what happens to the underlying query. 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 a single sentence of 7 words, which is very concise. However, it could benefit from additional structure or information without becoming verbose. Score reflects efficiency but also minimal utility.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 having 5 parameters, nested objects, and no output schema, the description is extremely brief. It does not explain the concept of a visualization, what is returned after creation, or how it relates to other tools (e.g., get_visualization). The description is inadequate for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema itself provides detailed parameter descriptions (e.g., how to determine available types and options configurations). The tool description adds no parameter information, 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 'Create' and the resource 'visualization for a query', distinguishing it from sibling tools like create_query, create_dashboard, and update_visualization. It is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 update_visualization or delete_visualization. No prerequisites, context, or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_widgetB
Create a new widget on a dashboard
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | Text content for text widgets | |
| width | Yes | Width of the widget (1-6) | |
| options | No | Widget options | |
| position | No | ||
| dashboard_id | Yes | ID of the dashboard to add the widget to | |
| visualization_id | No | ID of the visualization to display (optional if text widget) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description fails to disclose behavioral traits such as required permissions, side effects, or return value. The minimal statement does not add 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 concise sentence without superfluous content, front-loading the core purpose effectively.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 6 parameters, nested objects (position, options), and no output schema, the description is too minimal. It fails to explain widget types, the role of visualization_id, or how it relates to dashboard layout.
Complex tools with many parameters or behaviors need more documentation. 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 high (83%), so the schema already documents parameters adequately. The description adds no extra 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 action ('Create') and the resource ('new widget on a dashboard'). It is specific and distinct from sibling tools like delete_widget or update_widget.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 this tool versus alternatives, nor does it mention prerequisites or exclusions. The context is implied but lacks explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_alertB
Delete an alert from Redash
| Name | Required | Description | Default |
|---|---|---|---|
| alertId | Yes | ID of the alert to delete |
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 says 'delete,' implying destruction, but does not mention irreversibility, cascading effects (e.g., on subscriptions), or required permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no wasted words. It is front-loaded and immediately 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 1-parameter delete tool without output schema, the description is minimally adequate but lacks details like return value, success criteria, or side effects. The absence of annotations increases the need for contextual 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 schema already describes 'alertId' as the ID of the alert to delete. The description adds no additional 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?
The description clearly states the action ('Delete') and the resource ('an alert from Redash'), which is distinct from sibling tools like 'create_alert', 'update_alert', 'mute_alert', and 'get_alert'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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, prerequisites (e.g., alert must exist), or alternatives. The description only states what it does without context for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_query_snippetC
Delete a query snippet
| Name | Required | Description | Default |
|---|---|---|---|
| snippetId | Yes | ID of the snippet to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits such as irreversibility or permission requirements. It only says 'delete', which implies destruction but does not confirm permanence 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 a single, short sentence that is front-loaded and contains no fluff. However, it is overly minimal and could benefit from a bit more context without being 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?
For a simple delete operation with one parameter, the description is minimally complete. However, it lacks details on return values, error scenarios, or prerequisites that would aid an agent in execution.
Complex tools with many parameters or behaviors need more documentation. 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 for the single parameter 'snippetId' with a description. The tool description adds no additional meaning beyond what the schema already specifies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'delete' and the resource 'query snippet', making the purpose unambiguous. However, it does not differentiate from similar sibling tools like 'archive_query' or 'delete_alert' but that is not necessary given the distinct resource type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., archiving vs deleting). The description simply states the action without context or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_visualizationB
Delete a visualization
| Name | Required | Description | Default |
|---|---|---|---|
| visualizationId | Yes | ID of the visualization to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; the description does not disclose that deletion is irreversible and may have cascading effects. This is critical 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?
The description is a single sentence with no unnecessary words. It is appropriately concise for a simple operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an irreversible action with one parameter, the description is too brief. It lacks information about irreversibility, confirmation steps, or side effects, making it incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with a clear description for the single parameter. The tool 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 clearly states the verb 'Delete' and the resource 'visualization', differentiating it from sibling tools like create_visualization, update_visualization, and get_visualization.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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., archive or deactivate). The description does not specify prerequisites or conditions for deletion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_widgetB
Delete a widget from a dashboard
| Name | Required | Description | Default |
|---|---|---|---|
| widgetId | Yes | ID of the widget to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the full burden. It states that the tool deletes a widget, but it does not disclose whether the deletion is permanent, if special permissions are required, or the consequences for the dashboard. No behavioral details beyond the basic mutation are provided.
Agents need to know what a tool does to the 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 exactly captures the tool's function without any wasted words. It is appropriately sized for a simple delete operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter and no output schema, the description is minimally adequate. It does not explain the return value or behavior in edge cases (e.g., deleting a non-existent widget), but given the simplicity, it is not entirely inadequate. However, it lacks depth that would make it 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 fully describes the only parameter (widgetId) with a clear description, so schema coverage is 100%. The tool description does not add any additional meaning beyond what the schema already provides, which aligns with the baseline 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 'Delete a widget from a dashboard' uses a specific verb ('Delete'), identifies the resource ('widget'), and scopes it to a dashboard. This clearly distinguishes it from sibling tools like create_widget and update_widget.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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, prerequisites, or whether it should be avoided in certain scenarios. The usage is only implied by the tool name and description, with no explicit context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
execute_adhoc_queryA
Execute an ad-hoc query without saving it to Redash. Creates a temporary query that is automatically deleted after execution.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | SQL query to execute | |
| dataSourceId | Yes | ID of the data source to query against |
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 temporary and auto-deletion behavior, but omits details like whether the tool can run destructive SQL, required permissions, or error handling. The disclosure 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?
The description is two sentences, no wasted words, and front-loads the core purpose. It is perfectly concise for the information it conveys.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 output schema, the description lacks details about the return value (e.g., query results format). It is sufficient to differentiate from siblings but misses potentially useful information 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 with descriptions for both parameters (query and dataSourceId). The description does not add further meaning beyond what the schema already provides, 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 clearly states it executes an ad-hoc query without saving, and explicitly mentions it creates a temporary query that is automatically deleted. This distinguishes it from sibling tools like execute_query which likely saves the query.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 tells when to use this tool (for ad-hoc queries without persisting), but does not explicitly state when not to use or mention alternatives like execute_query for saved queries. The context is clear but lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
execute_parameterized_queryB
Execute a saved parameterized query using its saved parameter definitions and defaults
| Name | Required | Description | Default |
|---|---|---|---|
| maxAge | No | Cache age in seconds. Use 0 to force a fresh execution. | |
| queryId | Yes | ID of the query to execute | |
| parameters | No | Explicit parameter values to coerce using the saved Redash parameter definitions | |
| useSavedDefaults | No | Apply saved default parameter values when a parameter is omitted |
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 execution with saved definitions and defaults, omitting details about return format, error handling, caching behavior (maxAge), or side effects. This is insufficient for a tool with 4 parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence without unnecessary words. However, it could include more context without verbosity, so it earns a 4 rather than 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?
With 4 parameters, no output schema, and no annotations, the description lacks essential context such as return format, error behavior, and how the parameters object interacts with saved definitions. This is insufficient for an execution 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%, so the baseline is 3. The description adds no additional meaning beyond the schema descriptions (e.g., that maxAge controls caching, parameters override defaults, or useSavedDefaults applies omitted 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 identifies the tool's action ('Execute'), the resource ('saved parameterized query'), and the specific behavior ('using its saved parameter definitions and defaults'). This effectively distinguishes it from sibling tools like execute_adhoc_query and execute_query.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 a saved parameterized query exists, but it does not explicitly state when to use this tool over similar siblings (e.g., execute_query) or provide any prerequisites, when-not-to-use conditions, 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.
execute_queryC
Execute a Redash query and return results
| Name | Required | Description | Default |
|---|---|---|---|
| maxAge | No | Cache age in seconds. Use 0 to force a fresh execution. | |
| queryId | Yes | ID of the query to execute | |
| parameters | No | Parameters to pass to the query (if any) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility. It only states 'execute' and 'return results', omitting behavioral traits such as whether the query is cached by default, authentication needs, or potential side effects. The maxAge parameter hints at caching, but the description does not elaborate.
Agents need to know what a tool does to the 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 short (one sentence), but it is under-specified. Conciseness should not come at the expense of completeness; here the brevity omits critical information, making it less useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 existence of several sibling tools with similar purposes, the description is incomplete. It does not describe return formats, error behavior, or differentiate from other query execution tools.
Complex tools with many parameters or behaviors need more documentation. 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% as all three parameters have descriptions in the input schema. The description adds no additional meaning beyond what the schema already provides, warranting 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 'Execute a Redash query and return results' clearly identifies the verb (execute) and resource (query), but it does not distinguish this tool from siblings like 'execute_adhoc_query' or 'execute_parameterized_query', which have similar 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?
The description provides no guidance on when to use this tool versus alternatives. It lacks any context about prerequisites, preferred scenarios, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fork_dashboardB
Fork (duplicate) an existing dashboard
| Name | Required | Description | Default |
|---|---|---|---|
| dashboardId | Yes | ID of the dashboard to fork |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full burden. It only says 'duplicate' without explaining behavioral traits such as whether it's a deep copy, what happens to the original, permissions needed, or response details. 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 a single, efficient sentence. While it could include more detail without becoming verbose, it is not overly terse and gets the main point across. However, it is not front-loaded with critical distinguishing 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 the tool has a simple input and no output schema, the description fails to specify what the tool returns (e.g., new dashboard ID) or whether the fork includes widgets/layout. This incompleteness could cause incorrect 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%, and the parameter 'dashboardId' is described in the schema as 'ID of the dashboard to fork'. The description adds no extra meaning beyond this, 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 explicitly states the action (fork/duplicate) and the resource (dashboard). It distinguishes from 'create_dashboard' (new from scratch) and 'archive_dashboard' (delete) by specifying duplication of an existing 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?
No guidance is provided on when to use this tool versus alternatives like 'create_dashboard' or 'fork_query'. There are no prerequisites or when-not-to-use indications, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fork_queryB
Fork (duplicate) an existing query
| Name | Required | Description | Default |
|---|---|---|---|
| queryId | Yes | ID of the query to fork |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description must cover behavioral traits. Only states 'Fork (duplicate) an existing query' without explaining what duplication entails (e.g., copying visualizations, permissions, dependencies).
Agents need to know what a tool does to the 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 parenthetical clarification. No unnecessary verbiage; front-loaded 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?
No output schema, no annotations, and sparse description. Lacks details on side effects, required permissions, or behavior on failure.
Complex tools with many parameters or behaviors need more documentation. 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 already provides 'ID of the query to fork'. Tool description does not add new semantic meaning beyond 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?
Answering specifically verb+resource: 'Fork (duplicate)' clearly indicates the action, and 'an existing query' specifies the resource. This distinguishes from siblings like 'create_query' (new query) and 'fork_dashboard' (different 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?
No guidance on when to use this tool versus alternatives like 'create_query' or 'execute_query'. Does not 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.
get_alertB
Get details of a specific alert
| Name | Required | Description | Default |
|---|---|---|---|
| alertId | Yes | ID of the alert to get |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must imply safety. 'Get' suggests a read-only operation, but does not explicitly state no side effects, idempotency, or permissions needed. 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, concise sentence with no extraneous information. However, it could be slightly more informative 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?
For a simple get operation with one parameter and no output schema, the description is minimally complete. It does not list return fields or structure, but the tool's purpose is clear.
Complex tools with many parameters or behaviors need more documentation. 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 already explains 'alertId'. The description adds no additional semantics beyond 'specific alert', which repeats the tool name. Baseline score 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 verb 'get' and resource 'alert' are clear. The description distinguishes from 'list_alerts' by specifying 'a specific alert', but does not explicitly differentiate from other sibling tools. A higher score would require explicit mention of scope or uniqueness.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 'list_alerts'. The agent must infer usage from the parameter. There are no when-not-to or alternative suggestions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_alert_subscriptionsA
Get all subscriptions for an alert
| Name | Required | Description | Default |
|---|---|---|---|
| alertId | Yes | ID of the alert |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only states what the tool does but does not confirm read-only behavior, potential side effects, or any restrictions. For a retrieval operation, this is a minor gap but still 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 focused sentence with no unnecessary words, directly 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?
The description is sufficient for a simple retrieval tool with one parameter, but it lacks any mention of the return format or behavior, which would be helpful 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 coverage is 100% and the description implies the parameter role, but it adds no new meaning beyond the schema's description 'ID of the alert'. Baseline score due to 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 'Get all subscriptions for an alert' clearly states the action and resource, differentiating it from sibling tools like add_alert_subscription and remove_alert_subscription.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 usage guidelines are provided. While the tool's purpose is straightforward, there is no guidance on when to use this vs. other subscription-related tools, such as add_alert_subscription or remove_alert_subscription.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dashboardA
Get details of a specific dashboard
| Name | Required | Description | Default |
|---|---|---|---|
| dashboardId | Yes | ID of the dashboard to get |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosure. It only states the basic action without mentioning error conditions, permissions, or what 'details' include. This is a minimal read operation, but the lack of behavioral context leaves the agent guessing.
Agents need to know what a tool does to the 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, short sentence that is front-loaded and contains zero unnecessary words. It is beautifully concise 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?
The tool is simple with one parameter and no output schema, so the description is minimally viable. However, it lacks any mention of return format or error handling, which would be helpful for a complete picture.
Complex tools with many parameters or behaviors need more documentation. 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 fully describes the single parameter (dashboardId) with 100% coverage, so the description adds no additional semantic value. Baseline of 3 is appropriate since the schema handles parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Get' and the resource 'specific dashboard', which distinguishes it from siblings like list_dashboards and get_visualization. The verb-resource pair is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'specific dashboard' implies the tool is for fetching a single dashboard by ID, contrasting with list_dashboards, but no explicit alternatives or exclusions are given. Usage context is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dashboard_by_slugB
Get details of a specific dashboard by its slug
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Slug of the dashboard to get |
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 read-only nature, authorization requirements, or side effects. The description carries the full burden for transparency but fails to deliver.
Agents need to know what a tool does to the 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, clear sentence with no superfluous words. Efficiently conveys the basic 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 simple retrieval tool, the description is minimal but lacks critical details such as what 'details' includes, and there is no output schema to compensate. Without annotations, the safety profile is absent.
Complex tools with many parameters or behaviors need more documentation. 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 has 100% coverage with one parameter ('slug') already described. The description adds no new meaning beyond noting the parameter in the phrase 'by its slug', which is redundant.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 details) and the resource (a specific dashboard), and specifies the identifier (slug), which differentiates it from sibling tools like get_dashboard (likely by ID) and get_public_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?
No guidance is provided on when to use this tool versus alternatives like get_dashboard (by ID) or list_dashboards. It implies usage when a slug is known but lacks explicit context or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dashboard_layoutB
Get the current widget layout for a dashboard
| Name | Required | Description | Default |
|---|---|---|---|
| dashboardId | Yes | ID of the dashboard |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden of disclosing behavior. It only states it's a 'get' operation but does not mention any specifics like auth requirements, rate limits, or what 'layout' entails (e.g., positions, sizing).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence of 8 words that directly states the purpose. It is front-loaded and contains no 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 has only one parameter and no output schema, the description is minimally adequate. However, it does not explain what the return value or layout structure contains, which could be critical for agent 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?
With 100% schema description coverage, the schema already documents the dashboardId parameter. The description adds no additional meaning, format, or constraints beyond what the schema 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 verb 'Get' and the specific resource 'current widget layout for a dashboard', which distinguishes it from sibling tools like get_dashboard (gets dashboard metadata) or get_widget (gets a single widget).
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 get_dashboard or list_widgets. It lacks any context about prerequisites or appropriate scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dashboard_parametersA
Get the current dashboard parameter values and widget mappings
| Name | Required | Description | Default |
|---|---|---|---|
| dashboardId | Yes | ID of the dashboard |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description bears the full burden. It indicates a read operation, implying no destructive side effects, but does not mention authorization needs, rate limits, or what happens if the dashboard does not exist. For a simple getter, this 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 extremely concise, consisting of a single phrase that efficiently conveys the tool's purpose. No redundant words or sentences are present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 nested objects, no output schema), the description covers the essential functionality: it returns 'current dashboard parameter values and widget mappings'. This is sufficient for an agent to understand the tool's role, though more detail on the output structure would strengthen 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 input schema provides 100% coverage with a clear description for the sole parameter 'dashboardId' ('ID of the dashboard'). The tool description adds no further semantics beyond the schema, so a 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 specifies the tool's function: retrieving current dashboard parameter values and widget mappings. It uses a specific verb ('Get') and resource ('dashboard parameter values and widget mappings'), distinguishing it from sibling tools like 'get_dashboard' or 'get_widget_parameter_mappings'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 accessing current parameter values and mappings, but lacks explicit guidance on when to prefer this tool over alternatives such as 'get_widget_parameter_mappings' or 'get_dashboard'. No when-not-to-use or prerequisites are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dashboard_tagsA
Get all tags used in dashboards
| 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 should disclose that the tool is read-only (get all tags). It does not explicitly state behavioral traits like idempotency or side-effect-freeness, but the verb 'get' implies a safe operation. Minimal for a simple tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, clear sentence with no extraneous words. It is appropriately front-loaded and 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 parameters and no output schema, the description is complete enough for a simple list retrieval. It could optionally mention the data structure of tags, but it is not required.
Complex tools with many parameters or behaviors need more documentation. 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 meaning. It correctly describes the action without needing to compensate for parameter 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?
The description 'Get all tags used in dashboards' clearly states the action (get), the resource (tags), and the scope (used in dashboards). It effectively distinguishes from sibling tools like get_query_tags.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 dashboard tags but offers no explicit guidance on when to use this tool versus alternatives like get_query_tags or list_dashboards. It lacks when-not or exclusionary context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_favorite_dashboardsB
Get dashboards marked as favorite by the current user
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (starts at 1) | |
| pageSize | No | Number of results per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits like read-only nature, pagination, or authentication. It only says 'get dashboards' but does not clarify if it's read-only or if there are any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded, no unnecessary words. Maximally 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?
No output schema and description omits return format or constraints on pagination. For a simple list tool it is adequate but could include more context about expected 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 coverage is 100% and schema descriptions already explain page and pageSize defaults. The tool description adds no new parameter information, warranting 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?
The description clearly states the verb 'get', the resource 'dashboards', and the filter 'marked as favorite by the current user'. This distinguishes it from sibling tools like list_dashboards or get_my_dashboards.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention when not to use it or suggest other tools for different scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_favorite_queriesB
Get queries marked as favorite by the current user
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (starts at 1) | |
| pageSize | No | Number of results per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It accurately implies a read-only operation but does not disclose pagination behavior, rate limits, or authentication requirements. The core behavior is clear 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, concise sentence that efficiently conveys the purpose. It is front-loaded and contains no filler, though it could include a brief note on pagination without sacrificing 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?
The tool is simple with only two optional parameters and no output schema. The description covers the core purpose but does not mention that results are paginated or what the response format is. 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?
Schema coverage is 100% with descriptions for page and pageSize. The description adds no additional meaning beyond what the schema already provides, 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 explicitly states 'get queries marked as favorite by the current user' with a specific verb and resource, and it clearly distinguishes from sibling tools like get_my_queries (all queries) and add_query_favorite (action to mark).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as get_my_queries or list_queries. There is no mention of context like filtering or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_my_dashboardsA
Get dashboards created by the current user
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (starts at 1) | |
| pageSize | No | Number of results per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the filter but does not disclose pagination behavior, rate limits, authorization details, or return format beyond what the schema implies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no unnecessary words. It efficiently communicates the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (two optional pagination params, no output schema), the description is largely complete. It covers the essential purpose, though it could mention that results are paginated or the expected response structure.
Complex tools with many parameters or behaviors need more documentation. 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 page and pageSize. The tool description adds no 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?
The description clearly states the verb 'Get' and resource 'dashboards' with a specific filter 'created by the current user'. This distinguishes it from siblings like 'get_dashboard' (single) and 'list_dashboards' (all).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving the user's own dashboards but does not explicitly state when to use this tool versus alternatives like 'list_dashboards' or 'get_favorite_dashboards'. No guidance on when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_my_queriesA
Get queries created by the current user
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (starts at 1) | |
| pageSize | No | Number of results per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It correctly indicates the filtering by current user but does not disclose pagination behavior, sorting, or authentication requirements. Adequate for a simple read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no extraneous words. Efficiently communicates the core functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with two parameters fully described in schema, the description is adequate. Lacks details about return format or sorting, but not critical given tool 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?
Input schema covers both parameters (page, pageSize) with descriptions, so schema coverage is 100%. Description does not add additional meaning 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?
The description clearly states the action (get), resource (queries), and scope (created by current user). It distinguishes from sibling tools like list_queries, get_recent_queries, and get_favorite_queries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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. Usage is implied: to retrieve only the current user's queries. Does not mention alternatives or exclusion of other tools like list_queries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_public_dashboardC
Get a public dashboard by its share token
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | Public share token of the dashboard |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral disclosure burden, but it only states the action. It does not mention read-only nature, authentication requirements, rate limits, or idempotency, leaving important traits unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with no extraneous words. It is appropriately sized for a simple 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?
The description omits what the tool returns (e.g., full dashboard object). Since there is no output schema, the description should clarify the return value to ensure the agent understands the outcome.
Complex tools with many parameters or behaviors need more documentation. 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 provides 100% coverage for the single parameter (token) with a description. The tool description adds no additional meaning beyond what the schema already offers, 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 tool retrieves a public dashboard using a share token, but does not differentiate it from similar tools like get_dashboard or get_dashboard_by_slug. The name implies public access, but explicit contrast is missing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as get_dashboard (for private dashboards) or get_dashboard_by_slug. The agent receives no context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_queryB
Get details of a specific query
| Name | Required | Description | Default |
|---|---|---|---|
| queryId | Yes | ID of the query to get |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states 'Get details' which implies a non-mutating read, but does not disclose any behavioral traits such as error handling, required permissions, or return format. There is no additional context beyond the obvious.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a succinct single sentence with no unnecessary words. It is front-loaded with the core action and clearly 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?
For a simple read tool with one parameter, the description is minimally adequate but lacks usage guidelines and behavioral transparency. It does not reference alternative sibling tools or any edge cases, leaving gaps in how the agent should decide when to invoke it.
Complex tools with many parameters or behaviors need more documentation. 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 queryId described as 'ID of the query to get'. The description adds no additional parameter semantics beyond what is already 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 the tool retrieves details of a specific query, distinguishing it from list_queries which handles multiple queries. The verb 'get' and resource 'details of a specific query' 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?
No usage guidance is provided. The description does not mention when to use this tool instead of list_queries or other sibling tools, nor any 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_query_parametersA
Get the saved parameter definitions for a query
| Name | Required | Description | Default |
|---|---|---|---|
| queryId | Yes | ID of the query |
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 implies a read-only operation with 'get', but does not disclose permissions, whether defaults are included, or any other behavioral details. 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 concise sentence with no wasted words. It could be slightly more informative but is appropriately sized for a simple 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?
The description does not explain what the returned parameter definitions contain (e.g., name, type, default value). Without an output schema, the agent is left guessing about the structure, making it 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%, already describing 'queryId' as 'ID of the query'. The descriptive text adds no further semantics (e.g., how to obtain the ID, constraints). Baseline of 3 applies as schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'saved parameter definitions for a query', which is specific and distinguishes it from siblings like 'get_query' and 'update_query_parameters'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 or when not to use it. The context implies it's for retrieving parameter definitions, but no alternatives or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_query_results_csvA
Get query results in CSV format. Returns the last cached results, or optionally refreshes the query first to get the latest data. Note: Does not support parameterized queries.
| Name | Required | Description | Default |
|---|---|---|---|
| queryId | Yes | ID of the query to get results from | |
| refresh | No | Whether to refresh the query before fetching results to ensure latest data (default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses caching behavior and refresh option; no annotations provided so description carries full burden. Could mention if CSV is returned inline or as download, but still 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?
Three sentences with no filler. Front-loaded with main action, efficiently provides key behavioral 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?
Adequate for a simple read tool with two parameters. No output schema, so format of CSV response is assumed. Could mention delivery mechanism, but overall complete for selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% description coverage, but the description adds value by explaining the refresh parameter's effect (cached vs fresh) and the restriction on parameterized queries, which is not in 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 tool retrieves query results in CSV format, distinguishes itself from siblings like get_query (JSON) and execute_query (non-cached) by noting caching and refresh behavior, and explicitly states lack of parameterized query support.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 guidance on when to use refresh (true for latest data, false for cached) and explicitly notes unsupported parameterized queries, directing users to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_query_snippetA
Get details of a specific query snippet
| Name | Required | Description | Default |
|---|---|---|---|
| snippetId | Yes | ID of the snippet to get |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries full burden. It states 'get', implying a read-only operation, but does not disclose potential side effects, auth requirements, or return format. Minimal but adequate for a simple get.
Agents need to know what a tool does to the 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 redundant information. Every word serves a purpose. Highly efficient for a simple get 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 output schema, the description could hint at what 'details' includes (e.g., fields like content, name). However, for a simple get with one parameter, it is minimally complete. A 3 reflects adequate but not thorough coverage.
Complex tools with many parameters or behaviors need more documentation. 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 clear description for snippetId. The tool description adds no additional meaning beyond what the schema already provides (e.g., 'ID of the snippet to get' mirrors the parameter description). Baseline 3 as per rubric.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 'details of a specific query snippet', distinguishing it from sibling tools like list_query_snippets (list) and create_query_snippet (create).
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 others (e.g., list_query_snippets). The context of needing a snippetId is implied but not elaborated. No alternatives or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_query_tagsA
Get all tags used in queries
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full responsibility. It only states it 'gets' tags, implying read-only, but does not disclose scope, authorization needs, side effects, or output format. Minimal behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise with one sentence containing no wasted words. Every word carries meaning. Appropriate length for a simple tool with no parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 minimal. It tells what it does but not the format or scope of tags returned. Adequate but leaves gaps for an agent to infer 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 tool has zero parameters, and schema description coverage is 100%. Per guidelines, baseline is 4. The description adds no param details but none are needed. However, it could hint at output structure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Get' and resource 'all tags' with context 'used in queries', which distinguishes it from sibling tools like get_dashboard_tags. It is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives such as get_dashboard_tags or list_queries. No context, prerequisites, or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_recent_queriesC
Get recently accessed queries
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (starts at 1) | |
| pageSize | No | Number of results per page |
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 the action and resource, omitting key behavioral details such as auth requirements, read-only nature, pagination behavior (despite schema parameters), or what data is returned (e.g., query metadata vs. content).
Agents need to know what a tool does to the 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. While minimal, it efficiently communicates the core purpose. Slightly more context (e.g., scope of 'recently accessed') could be added without harming 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 and no annotations, the description is incomplete. It fails to explain what 'recently accessed' means (e.g., time window, user-specific vs. collaborative), how pagination works, or what the response contains. A more complete description is warranted for a tool with these parameters and 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 description coverage is 100% for the two parameters (page and pageSize). The description adds no additional meaning beyond what the schema already provides, meeting the baseline for this dimension.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 recently accessed queries, distinguishing it from siblings like list_queries (all queries) and get_my_queries (user's own queries). However, it does not specify what constitutes 'recently accessed' (timeframe or user scope), leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines are provided. The description does not indicate when to use this tool over alternatives (e.g., get_my_queries or list_queries) nor any prerequisites or conditions for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_schemaC
Get schema of a specific data source
| Name | Required | Description | Default |
|---|---|---|---|
| dataSourceId | Yes | ID of the data source to get schema |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosure. It only states that the tool retrieves schema (a read operation) but provides no details on response format, required permissions, or side effects. This is insufficient for a tool with no annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that conveys the core purpose without redundancy. It is front-loaded but could benefit from slightly more detail without sacrificing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 param, no output schema, no annotations), the description is too minimal. It does not explain what the schema output contains, which is critical for an agent to interpret the result 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 single parameter 'dataSourceId' is fully described in the input schema (100% coverage). The description adds no additional meaning beyond mapping the parameter to 'specific data source'. Since schema coverage is high, a 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 ('Get') and the resource ('schema of a specific data source'), which distinguishes it from sibling tools like get_dashboard or list_data_sources. However, it does not elaborate on what the schema entails (e.g., tables, columns), leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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, when not to use it, or alternatives. The description does not differentiate its use case from related tools like list_data_sources or get_query.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_visualizationB
Get details of a specific visualization
| Name | Required | Description | Default |
|---|---|---|---|
| visualizationId | Yes | ID of the visualization to get |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'Get details' which implies a read operation but does not explicitly confirm read-only status, permissions, potential errors, or return format. No behavioral traits are disclosed 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, front-loaded sentence with zero waste. Every word contributes to the core purpose, and it is appropriately sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 tool is simple with one parameter fully documented, the description omits any mention of return values or error behavior, and no output schema exists to fill the gap. It is minimally viable but leaves gaps for an agent relying solely on the description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully covers the sole parameter with a clear description ('ID of the visualization to get'), providing 100% coverage. The tool description adds no additional meaning beyond what the schema already states, so 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 (Get) and resource (visualization) with scope ('specific'), indicating retrieval by ID. It distinguishes from sibling tools which operate on queries, dashboards, and data sources, so there is no ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It simply states what the tool does, leaving the agent to infer usage context from the tool name alone. No exclusions or alternative recommendations are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_widgetC
Get details of a specific widget
| Name | Required | Description | Default |
|---|---|---|---|
| widgetId | Yes | ID of the widget to get |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present. The description only states 'get details', which implies a read-only operation, but it does not disclose any behavioral traits like authentication requirements, error handling, 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 concise sentence with no superfluous words. It is appropriately sized for a simple getter 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?
No output schema is provided, yet the description does not explain what 'details' are returned (e.g., widget name, type, configuration). Missing information about error handling when widgetId is invalid or not found.
Complex tools with many parameters or behaviors need more documentation. 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% (the only parameter 'widgetId' is described as 'ID of the widget to get'). The description adds no further 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?
The description 'Get details of a specific widget' clearly identifies the action (get) and resource (widget). It distinguishes from sibling tools like 'list_widgets' (list) and 'delete_widget' (delete). However, it does not explicitly differentiate from other 'get' tools, relying on the widgetId parameter.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, such as 'list_widgets' for browsing or other getters. The usage 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_widget_parameter_mappingsB
Get the parameter mappings for a widget
| Name | Required | Description | Default |
|---|---|---|---|
| widgetId | Yes | ID of the widget |
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 implies a read operation via 'Get' but does not disclose any behavioral details such as authentication requirements, rate limits, or side effects. The minimal information may lead to incorrect assumptions about 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 a single concise sentence with no redundant words. Every element is necessary, and it is front-loaded with the verb 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 that the tool has only one well-described parameter and no output schema, the description is minimally adequate. However, it could benefit from clarifying what the parameter mappings represent or how they are used, which would improve completeness 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 schema already provides 100% coverage for 'widgetId' with a description 'ID of the widget'. The tool description adds no additional meaning beyond what the schema offers, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Get' and the resource 'parameter mappings for a widget'. It is specific and directly indicates what the tool does, though it does not explicitly distinguish from related sibling tools like 'get_widget' or 'get_dashboard_parameters'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as 'update_widget_parameter_mappings' or other retrieval tools. The description lacks contextual usage advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_alertsB
List all alerts in Redash
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description fails to mention any behavioral aspects like pagination, rate limits, or authentication requirements; beyond being a read operation, it adds nothing.
Agents need to know what a tool does to the 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, no extraneous words; appropriately concise for a simple list-all 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?
Despite having no parameters, the description does not clarify the return format or scope (e.g., all alerts across all users or only current user's alerts); with no output schema, this leaves ambiguity.
Complex tools with many parameters or behaviors need more documentation. 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 exist, so the description does not need to explain them; baseline 4 applies as schema coverage is trivially 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 the action 'List' and the resource 'alerts in Redash', distinguishing it from sibling tools like get_alert (single) and create_alert.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 such as get_alert or get_alert_subscriptions; no context on prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_dashboardsC
List all available dashboards in Redash
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (starts at 1) | |
| pageSize | No | Number of results per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose pagination or result ordering. It only says 'list' without mentioning that results are paginated (despite schema having page/pageSize). No behavioral traits beyond the literal 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, front-loaded action, no filler 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?
Lacks output schema or description of return fields. For a list tool, knowing what fields per dashboard are returned (e.g., id, name, slug) is important. Also no mention of sorting or filtering.
Complex tools with many parameters or behaviors need more documentation. 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 already described. The description adds no additional meaning beyond what the schema provides, 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 action (list) and resource (dashboards) but lacks specificity to differentiate from sibling tools like get_favorite_dashboards or get_my_dashboards. 'All available' is ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 such as get_dashboard or get_my_dashboards. No context about 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_data_sourcesA
List all available data sources in Redash
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the action ('List all available data sources') without revealing return format, pagination, access control, or whether hidden/archived sources are included. This is insufficient for a zero-annotation 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 redundant information. Every word contributes to the core purpose, making it highly efficient for an 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?
The tool is simple (0 params, no output schema), but the description does not specify the return structure or any behavioral details. While 'list all available data sources' conveys the basic operation, the lack of output schema and minimal description leaves room for ambiguity about the response shape, making it minimally 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 zero parameters, so the baseline is 4. The description correctly indicates no inputs are needed, and there is no parameter schema to clarify beyond what is already empty. No additional parameter semantics are 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?
The description uses a specific verb 'List' with a clear resource 'data sources' and scope 'all available'. It distinctly identifies the tool's function and differentiates it from sibling tools like list_queries and list_dashboards by naming the target 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 implies usage (when you need to enumerate data sources), but provides no explicit guidance on when to choose this tool over alternatives. Sibling names make the distinction obvious, but the description does not explicitly state exclusions or complementary tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_destinationsA
List all alert notification destinations (email, Slack, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description only states the action without disclosing any behavioral traits such as authentication needs, rate limits, 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 extremely concise with a single sentence that is front-loaded with the core action and examples, containing 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 zero-parameter list tool, the description is largely sufficient, though it lacks details about the output structure (e.g., fields returned), which is not covered by 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?
With no parameters, the description adds meaning by specifying the resource type (alert notification destinations), which is not detailed in the empty input 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 all alert notification destinations with examples (email, Slack), making the purpose specific and distinct from sibling tools like list_alerts which list alerts themselves.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines are provided; there is no mention of when to use this tool versus alternatives or any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_queriesC
List all available queries in Redash
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Search query | |
| page | No | Page number (starts at 1) | |
| pageSize | No | Number of results per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It only states 'list all available queries' without disclosing pagination, filtering behavior, authentication requirements, or what constitutes 'available'. The bare minimum is provided.
Agents need to know what a tool does to the 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, which is concise, but it does not earn its place by adding value beyond the tool name. For a listing tool with optional parameters, it is minimally adequate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 three parameters, the description lacks details on return format, pagination behavior, and result structure. It feels incomplete for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter descriptions in the schema. The description adds no additional meaning beyond what the schema already 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 'List all available queries in Redash', specifying a verb (list) and resource (queries). It distinguishes from siblings like get_query (single query) and get_my_queries (personal queries), though 'all available' is slightly vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like get_my_queries or get_favorite_queries. It does not mention exclusions or best practices.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_query_snippetsA
List all reusable query snippets
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must convey behavior. It says 'List all' but doesn't mention pagination, limits, or potential large result sets. Adequate given simplicity 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?
A single sentence that efficiently conveys the tool's purpose 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 the tool has no parameters and no output schema, the description is sufficient for a simple list operation. It could hint at return format but remains complete enough.
Complex tools with many parameters or behaviors need more documentation. 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 exist; schema coverage is 100%. The description adds no parameter info beyond 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 tool lists all reusable query snippets, with a specific verb and resource. It distinguishes from siblings like get_query_snippet (single) and create_query_snippet.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 all snippets) but provides no explicit guidance on when not to use it or alternatives like get_query_snippet for a single snippet.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_widgetsA
List all widgets
| 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 function without disclosing behaviors like pagination, permissions, return format, or absence of side effects. While it implies a read operation, it 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 a single, clear sentence with no wasted words. It is appropriately concise for its simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 is adequate but minimal. It does not specify the return type (e.g., list of IDs vs. full objects) or any defaults, leaving some ambiguity 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?
There are zero parameters, with schema coverage at 100%. The description adds no parameter details, which is acceptable as no parameters exist. Baseline for zero parameters is 4, and the description aligns with 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 'List all widgets' clearly states the action (list) and resource (widgets). It is specific and distinguishes from sibling tools like get_widget (single widget retrieval) and create/update/delete widgets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 instead of alternatives like get_widget or other list tools. The agent has no information about appropriate contexts or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mute_alertB
Mute an alert to temporarily stop notifications
| Name | Required | Description | Default |
|---|---|---|---|
| alertId | Yes | ID of the alert to mute |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies the muting is temporary and reversible, but does not explain how to unmute, duration, or side effects. Without annotations, the description carries the burden and is only partially 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?
One sentence, very concise, no fluff. However, it lacks any structure (e.g., sections) but is appropriate for the simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 is adequate but could be more complete (e.g., specifying temporary nature, how to revert). Meets minimum expectations.
Complex tools with many parameters or behaviors need more documentation. 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. The description does not add additional meaning beyond the schema's parameter description, so baseline 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 ('Mute an alert') and the purpose ('temporarily stop notifications'). It distinguishes from sibling tools like delete_alert (permanent) and update_alert (changing settings).
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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., update_alert for permanent changes, delete_alert for removal). No prerequisites or context are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_alert_subscriptionC
Unsubscribe from an alert
| Name | Required | Description | Default |
|---|---|---|---|
| alertId | Yes | ID of the alert | |
| subscriptionId | Yes | ID of the subscription to remove |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description lacks behavioral details such as idempotency, error handling (e.g., subscription not found), ownership requirements, or whether the action is irreversible. The minimal description does not compensate for the absence of annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with a single sentence, front-loading the key action. However, it sacrifices some completeness for brevity; a slightly longer description could improve 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?
Given the simplicity of the tool (2 required params, no output schema), the description is insufficient for safe usage. It fails to mention what happens upon removal, error states, or how to obtain the required IDs, leaving significant gaps in context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers both parameters with clear descriptions (alertId and subscriptionId), and the description adds no additional semantics beyond the schema. Since schema coverage is 100%, a 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 'Unsubscribe from an alert' clearly indicates the action (unsubscribe) and resource (alert subscription), effectively distinguishing it from sibling tools like add_alert_subscription and get_alert_subscriptions. However, it could be more specific about removing a subscription by ID rather than just unsubscribing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as delete_alert or mute_alert. There is no mention of prerequisites (e.g., needing to obtain the subscription ID via get_alert_subscriptions) or exclusions, leaving the agent uncertain about proper usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_dashboard_favoriteB
Remove a dashboard from favorites
| Name | Required | Description | Default |
|---|---|---|---|
| dashboardId | Yes | ID of the dashboard to remove from favorites |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It only restates the action without additional details like side effects, permissions, or reversibility.
Agents need to know what a tool does to the 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 short sentence, no wasted words, front-loaded with the verb and noun.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 is adequate but lacks usage and behavioral context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the parameter description already says 'ID of the dashboard to remove from favorites'. The description adds no new meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (remove) and the resource (dashboard from favorites), distinguishing it from siblings like add_dashboard_favorite (add) and remove_query_favorite (different 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?
No guidance on when to use this tool vs alternatives (e.g., archive_dashboard). No prerequisites, context, or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_query_favoriteA
Remove a query from favorites
| Name | Required | Description | Default |
|---|---|---|---|
| queryId | Yes | ID of the query to remove from favorites |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description only states the action without additional behavioral details like idempotency, permissions, 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?
Single sentence, no unnecessary 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?
Simple tool with one parameter and no output schema. Description covers the essential purpose. Could mention idempotency or error handling, but overall 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%. Parameter 'queryId' has a clear description. Description adds no 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?
Description clearly states the action 'Remove' and the resource 'a query from favorites'. This distinguishes it from the sibling 'add_query_favorite'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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. The action is obvious, but lacks explicit context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_alertB
Update an existing alert in Redash
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | New name of the alert | |
| rearm | No | Number of seconds to wait before triggering again | |
| alertId | Yes | ID of the alert to update | |
| options | No | Alert options | |
| query_id | No | ID of the query to monitor |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral details, but it only says 'Update an existing alert'. It does not mention merge vs replace behavior, required permissions, or side effects on subscriptions.
Agents need to know what a tool does to the 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 core action without any 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?
Despite decent schema coverage, the description lacks context about tool behavior, error cases, or confirmation of updates. With 5 parameters and no output schema, it feels 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%, so parameters are well-documented in the schema. The description adds no extra context about parameters, but baseline is 3 due to high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'update' and the resource 'existing alert', distinguishing it from sibling tools like create_alert and delete_alert.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 create_alert or get_alert, nor any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_chart_visualizationB
Update chart-specific visualization options and merge them with the current Redash chart config by default
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Name of the visualization | |
| type | No | Type of visualization | |
| sortX | No | Sort the X axis | |
| sortY | No | Sort heatmap values | |
| xAxis | No | X axis settings | |
| yAxis | No | Y axis settings | |
| legend | No | Legend settings | |
| series | No | Series-wide chart settings | |
| error_y | No | Error bar settings | |
| piesort | No | Sort pie slices | |
| reverseY | No | Reverse heatmap order | |
| sizemode | No | Bubble size mode | |
| direction | No | Pie chart direction settings | |
| lineShape | No | Line interpolation | |
| enableLink | No | Enable click-through links | |
| linkFormat | No | Click-through URL template | |
| showpoints | No | Show all points for box charts | |
| textFormat | No | Data label template | |
| coefficient | No | Bubble size coefficient | |
| description | No | Description of the visualization | |
| swappedAxes | No | Swap the chart axes | |
| chartOptions | No | Raw Redash chart options to merge into the payload | |
| color_scheme | No | Color palette name | |
| numberFormat | No | Number format | |
| columnMapping | No | Column mappings such as x, y, and series | |
| percentFormat | No | Percent format | |
| seriesOptions | No | Per-series settings keyed by series name | |
| valuesOptions | No | Per-value settings | |
| dateTimeFormat | No | Date/time format | |
| linkOpenNewTab | No | Open click-through links in a new tab | |
| replaceOptions | No | Replace the entire options payload instead of merging with the current config | |
| showDataLabels | No | Toggle data labels | |
| visualizationId | Yes | ID of the visualization to update | |
| alignYAxesAtZero | No | Align left and right Y axes at zero | |
| globalSeriesType | No | Chart type | |
| missingValuesAsZero | No | Convert missing values to zero |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It indicates a mutation (update) and default merge behavior, but fails to disclose destructive potential, side effects, auth requirements, or rate limits. 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?
Single sentence, no fluff. Front-loads the core action and key behavior. 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?
With 36 parameters, no output schema, and no annotations, a one-sentence description is insufficient. It does not explain the merge mechanism, the effect of replaceOptions, or the significance of visualizationId. Lacks depth for a complex 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 has 100% description coverage, so baseline is 3. The description adds a hint about merging behavior but does not elaborate on individual parameters beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'update', the resource 'chart-specific visualization options', and the key behavior 'merge with current config by default'. It distinguishes from siblings like update_visualization by specifying chart-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?
No guidance on when to use this tool versus alternatives like update_visualization. No prerequisites, exclusions, or context provided. The description only implies usage context via 'chart-specific'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_dashboardC
Update an existing dashboard in Redash
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | New name of the dashboard | |
| tags | No | Tags for the dashboard | |
| is_draft | No | Whether the dashboard is a draft | |
| dashboardId | Yes | ID of the dashboard to update | |
| is_archived | No | Whether the dashboard is archived | |
| dashboard_filters_enabled | No | Whether dashboard filters are enabled |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral traits. It only states 'update', implying mutation, but omits details about side effects, permissions required, reversibility, or any consequences of the update.
Agents need to know what a tool does to the 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, which is concise but lacks structure. It could include more context (e.g., that updates are partial or full) without becoming verbose, achieving a middle ground.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 6 parameters, no output schema, and no annotations, the description fails to explain the return value (e.g., updated dashboard object), prerequisites, or the scope of the update. 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?
Schema description coverage is 100%, so the input schema already documents all parameters. The description adds no additional meaning beyond the schema, meeting the baseline expectation for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Update' and resource 'existing dashboard'. It specifies the tool's purpose but does not differentiate it from sibling tools like archive_dashboard or fork_dashboard, which also modify dashboards in specific ways.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as archive_dashboard (for archival) or create_dashboard (for new ones). The description lacks any context about appropriate scenarios or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_dashboard_layoutA
Move or resize multiple widgets on a dashboard in one call and report per-widget outcomes
| Name | Required | Description | Default |
|---|---|---|---|
| widgets | Yes | Widgets to move or resize | |
| dashboardId | Yes | ID of the dashboard |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that it moves/resizes and reports per-widget outcomes, which is good given no annotations. But lacks details on side effects, authentication, or partial failure behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with verb and resource, no fluff. Every word is functional.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 two well-schemed parameters and no output schema, the description covers the core functionality and outcome. Lacks details on error handling or limits but is sufficient for basic 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 baseline 3. Description adds context of batch operation and per-widget outcomes but does not elaborate on parameter meanings 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?
The description clearly states the action (move or resize multiple widgets in one call) and the resource (dashboard layout). It distinguishes from sibling tool update_widget_layout which operates on a single widget.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 that for multiple widgets, use this tool; for single widget, use update_widget_layout. However, it does not explicitly mention when not to use or provide alternatives beyond the sibling context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_dashboard_parametersB
Update dashboard parameter values and ordering
| Name | Required | Description | Default |
|---|---|---|---|
| parameters | No | Dashboard parameter values to merge into the dashboard | |
| dashboardId | Yes | ID of the dashboard | |
| globalParamOrder | No | Explicit display order for dashboard parameters | |
| replaceParameters | No | Replace the stored parameter list instead of merging | |
| removeParameterNames | No | Dashboard parameter names to remove from the dashboard |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden for behavioral disclosure. It only says 'Update' without detailing side effects, merge vs replace behavior, authorization requirements, or impact on other users. The term 'values and ordering' omits the ability to remove parameters (schema has removeParameterNames).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no wasted words. It efficiently conveys the core action, though it could benefit from slightly more 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?
For a mutation tool with 5 parameters and no output schema or annotations, the description lacks essential context such as how the update works (merge vs replace), the effect of globalParamOrder, error conditions, and return behavior. It is insufficient for an AI agent to use confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides full descriptions for all 5 parameters (100% coverage), so the description adds no additional parameter meaning. 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 ('Update') and the resource ('dashboard parameter values and ordering'), distinguishing it from sibling tools like get_dashboard_parameters and update_query_parameters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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., get_dashboard_parameters for reading, or update_query_parameters for query-level parameters). Prerequisites are not mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_queryC
Update an existing query in Redash
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | New name of the query | |
| tags | No | Tags for the query | |
| query | No | SQL query text | |
| options | No | Query options | |
| queryId | Yes | ID of the query to update | |
| is_draft | No | Whether the query is a draft | |
| schedule | No | Query schedule | |
| description | No | Description of the query | |
| is_archived | No | Whether the query is archived | |
| data_source_id | No | ID of the data source to use |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only says 'update', which implies mutation but does not explain partial vs full replacement, side effects, permissions, 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 short sentence, which is concise. However, it could include more useful information 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 complexity (10 params, nested objects) and no output schema, the description is far too minimal. It does not explain update semantics or typical usage, making it 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 all 10 parameters. The description adds no additional meaning beyond 'update', which is baseline acceptable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Update' and the resource 'existing query in Redash'. It distinguishes from sibling tools like 'create_query' and 'archive_query', though 'update_query_parameters' also exists.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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, no prerequisites mentioned, and no exclusions. The agent gets no help deciding between update_query and other update tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_query_parametersB
Update a query's saved parameter definitions
| Name | Required | Description | Default |
|---|---|---|---|
| queryId | Yes | ID of the query | |
| parameters | No | Parameter definitions to merge into the query | |
| replaceParameters | No | Replace the stored parameter list instead of merging | |
| removeParameterNames | No | Saved parameter names to remove from the query |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only states the purpose but does not explain default behavior (merging vs replacing), side effects (e.g., removing parameters not mentioned), or authorization requirements. The input schema hints at replace/remove options, but the description lacks an overview.
Agents need to know what a tool does to the 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, which is concise but lacks structure. It could benefit from brief notes on key parameters (e.g., replaceParameters) or a summary of behavior. It is minimally adequate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 complex parameters (merge vs replace, remove) and no output schema or annotations, the description is insufficient. It does not explain how these operations work together or what the expected outcome is, which is critical for safe 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 description adds no extra meaning beyond the schema; it merely restates the tool's purpose. The schema descriptions are detailed, so no points deducted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 clear verb-resource pair: 'Update a query's saved parameter definitions'. It explicitly specifies the resource (query's saved parameters) and distinguishes from sibling tools like 'update_query' (which updates the query itself) and 'get_query_parameters' (read-only).
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 'update_query' or 'create_query'. There is no mention of prerequisites, frequency, or when merging vs replacing parameters is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_query_snippetC
Update an existing query snippet
| Name | Required | Description | Default |
|---|---|---|---|
| snippet | No | The SQL snippet content | |
| trigger | No | Trigger keyword for the snippet | |
| snippetId | Yes | ID of the snippet to update | |
| description | No | Description of the snippet |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description only repeats 'update' without disclosing any behavioral traits such as required permissions, idempotency, 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 a single concise sentence, but it could be structured to include key details like required fields or expected outcomes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description fails to provide sufficient context about return values, required fields, or behavioral 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 coverage is 100% with descriptions for all four parameters, so 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 clearly states 'Update an existing query snippet', specifying the verb and resource, and distinguishes it from siblings like create, delete, and get.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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, no prerequisites or when-not-to-use conditions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_visualizationC
Update an existing visualization
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Name of the visualization | |
| type | No | Type of visualization. Available types depend on your Redash instance. | |
| options | No | Visualization-specific configuration. The structure depends on your Redash instance and visualization type. Use get_visualization to see the current configuration before updating. | |
| description | No | Description of the visualization | |
| visualizationId | Yes | ID of the visualization to update |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must convey behavioral traits. It only states 'update', implying mutation, but does not disclose permissions, idempotency, error states, or side effects. The lack of any behavioral details reduces transparency significantly.
Agents need to know what a tool does to the 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, short sentence, which is concise. However, it is so brief that it lacks substance; it does not elaborate on the purpose beyond the obvious. It earns its place minimally.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (5 parameters, nested objects, no output schema), the description is severely incomplete. It does not explain what the tool returns, how errors are handled, or how to use it effectively. The schema covers parameters but not the overall 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 description coverage is 100%, so the schema already documents all parameters adequately. The tool description adds nothing beyond the schema, resulting in 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 'Update an existing visualization' clearly identifies the action and resource, using a specific verb and indicating that it operates on an existing entity. However, it does not differentiate from sibling tools like 'create_visualization' or 'update_chart_visualization'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There is no mention of prerequisites, context, or exclusionary conditions. Users are left to infer based on the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_widgetC
Update an existing widget
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | Text content for text widgets | |
| width | No | Width of the widget (1-6) | |
| options | No | Widget options | |
| position | No | ||
| widgetId | Yes | ID of the widget to update | |
| visualization_id | No | ID of the visualization to display |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must convey behavioral traits, but it only says 'update'. It does not disclose whether the update is partial or full replacement, what happens to unspecified fields, required permissions, or side effects. This is insufficient for safe tool 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 very short (5 words), which is concise but lacks structure. It does not front-load crucial information such as update behavior or scope. While efficient, it sacrifices clarity for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (6 parameters, nested objects, no output schema) and the presence of closely related sibling tools, the description is incomplete. It does not explain the update scope, error conditions, or return values, leaving the agent with insufficient context 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 description coverage is high (83%), and the input schema provides descriptions for most parameters. The tool description adds no extra meaning beyond what is already in the schema, so it meets a baseline but provides no added value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Update an existing widget', which is a clear verb+resource. However, it does not differentiate from sibling tools like 'update_widget_layout' or 'update_widget_parameter_mappings', which also update aspects of a widget. Thus, the purpose is somewhat vague for an agent to choose this tool over alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus sibling tools (e.g., create_widget, update_widget_layout, delete_widget). No context or conditions for use are given, leaving the agent without criteria for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_widget_layoutC
Move or resize a single widget by updating its grid position
| Name | Required | Description | Default |
|---|---|---|---|
| position | Yes | ||
| widgetId | Yes | ID of the widget |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully convey behavioral traits. It states that the tool moves or resizes, implying mutation, but does not disclose permissions, idempotency, side effects, or error handling. The behavior of partial vs. full position replacement is unclear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence of 12 words, which is concise. However, it sacrifices valuable context that could be added 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 no output schema, no annotations, and nested parameters, the description is incomplete. It does not explain the grid system, constraints, or what happens on success/failure. The tool's mutation aspect and parameter structure are under-described.
Complex tools with many parameters or behaviors need more documentation. 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% (the 'position' object lacks a description). The description only mentions 'grid position' without elaborating on the sub-fields (col, row, sizeX, sizeY, autoHeight) or their constraints. It fails to 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 uses specific verbs 'Move or resize' and identifies the resource 'single widget' and the affected attribute 'grid position'. It clearly distinguishes from sibling tools like 'update_widget', which likely updates other properties.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 over alternatives, such as 'update_widget' for non-layout changes. No prerequisites or conditions for use are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_widget_parameter_mappingsB
Update a widget's parameter mappings
| Name | Required | Description | Default |
|---|---|---|---|
| widgetId | Yes | ID of the widget | |
| parameterMappings | No | Parameter mappings to merge into the widget | |
| removeParameterNames | No | Widget parameter mapping names to remove | |
| replaceParameterMappings | No | Replace the stored mappings instead of merging |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only states 'Update', which implies mutation but does not disclose details like merge vs replace behavior, potential side effects, or required permissions. With no annotations, the description should provide more context, but it falls short.
Agents need to know what a tool does to the 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), but it lacks explanatory detail for a tool with a non-trivial schema. It could be more informative without being verbose, so it scores average.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 the parameter mappings (array of objects with various fields) and the lack of an output schema, the description is insufficient for an agent to fully understand the tool's behavior, such as how mappings are merged or what happens when both 'parameterMappings' and 'removeParameterNames' are 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 coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond the schema; it does not explain the merge/replace logic or the role of 'removeParameterNames'. The agent must rely solely on parameter descriptions 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 explicitly states 'Update a widget's parameter mappings', clearly indicating the action and resource. This distinguishes it from sibling tools like 'update_widget' (which updates general widget properties) and 'get_widget_parameter_mappings' (read-only).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, such as 'update_widget' or direct parameter mapping modifications. There are no prerequisites or exclusions mentioned, leaving the agent to infer context from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
27 tool updates
v1.0.1- Changed
create_alert2 fields changed- changed
Input schema / properties / options / descriptionPrevious value: -"Alert options including column to monitor, operator (e.g., 'greater than', 'less than', 'equals'), and threshold value"New value: +"Alert options including column to monitor, operator, and threshold value" - changed
Input schema / properties / options / properties / op / descriptionPrevious value: -"Comparison operator: 'greater than', 'less than', 'equals', 'not equals', etc."New value: +"Comparison operator: greater than, less than, equals, not equals, etc."
- Changed
create_query2 fields changed- added
Input schema / properties / options / additionalPropertiesAdded value: +true - added
Input schema / properties / schedule / additionalPropertiesAdded value: +true
- Changed
create_visualization1 field changed- added
Input schema / properties / options / additionalPropertiesAdded value: +true
- Changed
create_widget2 fields changed- added
Input schema / properties / options / additionalPropertiesAdded value: +true - added
Input schema / properties / positionAdded value: +{ + "additionalProperties": false, + "properties": { + "autoHeight": { + "description": "Whether the widget height should auto-grow", + "type": "boolean" + }, + "col": { + "description": "Grid column, starting at 0", + "maximum": 11, + "minimum": 0, + "type": "integer" + }, + "row": { + "description": "Grid row, starting at 0", + "minimum": 0, + "type": "integer" + }, + "sizeX": { + "description": "Widget width in grid columns", + "maximum": 12, + "minimum": 2, + "type": "integer" + }, + "sizeY": { + "description": "Widget height in grid rows", + "maximum": 1000, + "minimum": 2, + "type": "integer" + } + }, + "type": "object" +}
- Added
execute_parameterized_query - Changed
execute_query1 field changed- added
Input schema / properties / maxAgeAdded value: +{ + "description": "Cache age in seconds. Use 0 to force a fresh execution.", + "type": "number" +}
- Added
get_dashboard_layout - Added
get_dashboard_parameters - Changed
get_favorite_dashboards2 fields changed- added
Input schema / properties / page / defaultAdded value: +1 - added
Input schema / properties / pageSize / defaultAdded value: +25
- Changed
get_favorite_queries2 fields changed- added
Input schema / properties / page / defaultAdded value: +1 - added
Input schema / properties / pageSize / defaultAdded value: +25
- Changed
get_my_dashboards2 fields changed- added
Input schema / properties / page / defaultAdded value: +1 - added
Input schema / properties / pageSize / defaultAdded value: +25
- Changed
get_my_queries2 fields changed- added
Input schema / properties / page / defaultAdded value: +1 - added
Input schema / properties / pageSize / defaultAdded value: +25
- Added
get_query_parameters - Changed
get_query_results_csv1 field changed- added
Input schema / properties / refresh / defaultAdded value: +false
- Changed
get_recent_queries2 fields changed- added
Input schema / properties / page / defaultAdded value: +1 - added
Input schema / properties / pageSize / defaultAdded value: +25
- Added
get_widget_parameter_mappings - Changed
list_dashboards2 fields changed- added
Input schema / properties / page / defaultAdded value: +1 - added
Input schema / properties / pageSize / defaultAdded value: +25
- Changed
list_queries2 fields changed- added
Input schema / properties / page / defaultAdded value: +1 - added
Input schema / properties / pageSize / defaultAdded value: +25
- Added
update_chart_visualization - Added
update_dashboard_layout - Added
update_dashboard_parameters - Changed
update_query2 fields changed- added
Input schema / properties / options / additionalPropertiesAdded value: +true - added
Input schema / properties / schedule / additionalPropertiesAdded value: +true
- Added
update_query_parameters - Changed
update_visualization1 field changed- added
Input schema / properties / options / additionalPropertiesAdded value: +true
- Changed
update_widget2 fields changed- added
Input schema / properties / options / additionalPropertiesAdded value: +true - added
Input schema / properties / positionAdded value: +{ + "additionalProperties": false, + "properties": { + "autoHeight": { + "description": "Whether the widget height should auto-grow", + "type": "boolean" + }, + "col": { + "description": "Grid column, starting at 0", + "maximum": 11, + "minimum": 0, + "type": "integer" + }, + "row": { + "description": "Grid row, starting at 0", + "minimum": 0, + "type": "integer" + }, + "sizeX": { + "description": "Widget width in grid columns", + "maximum": 12, + "minimum": 2, + "type": "integer" + }, + "sizeY": { + "description": "Widget height in grid rows", + "maximum": 1000, + "minimum": 2, + "type": "integer" + } + }, + "type": "object" +}
- Added
update_widget_layout - Added
update_widget_parameter_mappings
56 tool updates
v0.0.13- First observed
add_alert_subscription - First observed
add_dashboard_favorite - First observed
add_query_favorite - First observed
archive_dashboard - First observed
archive_query - First observed
create_alert - First observed
create_dashboard - First observed
create_query - First observed
create_query_snippet - First observed
create_visualization - First observed
create_widget - First observed
delete_alert - First observed
delete_query_snippet - First observed
delete_visualization - First observed
delete_widget - First observed
execute_adhoc_query - First observed
execute_query - First observed
fork_dashboard - First observed
fork_query - First observed
get_alert - First observed
get_alert_subscriptions - First observed
get_dashboard - First observed
get_dashboard_by_slug - First observed
get_dashboard_tags - First observed
get_favorite_dashboards - First observed
get_favorite_queries - First observed
get_my_dashboards - First observed
get_my_queries - First observed
get_public_dashboard - First observed
get_query - First observed
get_query_results_csv - First observed
get_query_snippet - First observed
get_query_tags - First observed
get_recent_queries - First observed
get_schema - First observed
get_visualization - First observed
get_widget - First observed
list_alerts - First observed
list_dashboards - First observed
list_data_sources - First observed
list_destinations - First observed
list_queries - First observed
list_query_snippets - First observed
list_widgets - First observed
mute_alert - First observed
remove_alert_subscription - First observed
remove_dashboard_favorite - First observed
remove_query_favorite - First observed
share_dashboard - First observed
unshare_dashboard - First observed
update_alert - First observed
update_dashboard - First observed
update_query - First observed
update_query_snippet - First observed
update_visualization - First observed
update_widget
TDQS
Scored across 67 tools
Each tool targets a specific resource and action, with clear distinctions even among similar operations (e.g., execute_query vs execute_adhoc_query). The descriptions further clarify any potential overlap.
All tools follow a consistent verb_noun snake_case pattern (e.g., create_dashboard, get_query, delete_alert). No mixing of conventions or vague names.
67 tools is high but appropriate for a comprehensive BI tool covering alerts, dashboards, queries, visualizations, widgets, snippets, data sources, and destinations. Each entity has a logical set of CRUD and utility tools.
The tool surface covers core workflows for alerts, dashboards, queries, and visualizations. Missing update/delete for data sources and destinations, but these are likely admin-level operations. Otherwise, no significant gaps.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
MCP server that lets AI assistants use all OneSchema features exposed via the public API.
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Related MCP Servers
- AlicenseBqualityCmaintenanceMCP-compatible server that enables AI assistants to interact with Lightdash analytics data, providing tools to list and retrieve projects, spaces, charts, dashboards, and metrics through a standardized interface.1339 npm27MIT
- AlicenseAqualityBmaintenanceModel Context Protocol (MCP) server for Redash - manage queries, dashboards, and visualizations through AI assistants like Claude.6251 PyPIMIT
- AlicenseAqualityAmaintenanceMCP server that connects Redash to Claude AI, enabling natural language data queries, dashboard management, and SQL execution.24355 npm1MIT
- AlicenseAqualityCmaintenanceA Model Context Protocol (MCP) server for Tableau Server. Enables AI assistants to interact with Tableau workbooks, views, datasources, and metadata.24MIT