Skip to main content
Glama
pablo-horizun

Horizun PBI MCP

Horizun PBI MCP

Servidor MCP (Model Context Protocol) para trabajar con Power BI Desktop local y con proyectos .pbip desde Claude Code.

v1.0.0-rc.11 — 116 tools, 1262 pruebas (3 omitidas, con su condición documentada). Cubre dos capas complementarias:

Capa

Para qué

Cómo

En vivo (Power BI Desktop abierto en localhost:<puerto>)

Consultar datos (DAX), documentar el modelo, crear/editar medidas, refrescar

ADOMD.NET + TOM vía pythonnet

En disco (proyecto .pbip)

Generar/acomodar visuales, editar el modelo de forma durable

TMDL (modelo) + PBIR (informe), editando archivos

Regla clave: el endpoint local solo expone la capa de DATOS (modelo semántico). Los visuales/páginas/layout NO están en ese endpoint ni en ninguna API en vivo — se editan por archivos PBIR. Este MCP respeta esa separación: no intenta mover visuales "en vivo".


Documentación

Documento

Para qué

docs/INSTALL.md

Instalar y registrar el servidor en Claude Code, Claude Desktop, Codex o un cliente stdio

docs/TOOL_INVENTORY.md

Las 34 tools del baseline: dominio, clase de riesgo, precondiciones

docs/ARCHITECTURE.md

Arquitectura actual, deuda estructural e invariantes

docs/CAPABILITY_MATRIX.md

Convivencia con otros MCP de Power BI, con niveles de verificación

AGENTS.md

Reglas para modificar este repositorio sin romper el contrato

docs/TOOL_CATALOG.md

Las 116 tools por bloque, con su clase de riesgo

docs/DUAL_MODE.md

Por qué mode="both" está bloqueado (R15)

docs/VALIDATION.md

Las dos capas de validación PBIR y sus límites

docs/RELEASE_CHECKLIST.md

Qué se comprueba antes de publicar

docs/BACKLOG.md

Lo que queda abierto, con evidencia y cómo comprobarlo

docs/TUTORIAL.md

De la instalación a un dashboard, paso a paso

docs/SECURITY.md

Modelo de amenazas, garantías y lo que no promete

docs/RECOVERY.md

Qué hacer cuando algo queda a medias

docs/PHASE_1A_DESIGN.md

Diseño de la capa de seguridad

CHANGELOG.md

Historial de versiones

tests/fixtures/README.md

Estrategia de fixtures: sintéticos versionados + copia local ignorada


Related MCP server: powerbi-mcp-local

Qué hace

  • DAX en vivo: ejecuta consultas contra el modelo abierto y devuelve columnas/filas con tiempos.

  • Documentación: tablas, columnas, medidas, relaciones, jerarquías, roles (RLS) y análisis de calidad → Markdown.

  • Medidas: crear/editar/borrar medidas DAX en el modelo abierto (live), en el archivo TMDL (pbip) o en ambos (both).

  • Refresh local: refresca el modelo abierto en Desktop (no el Service).

  • PBIP: abrir/validar proyectos, backups automáticos.

  • Conversión .pbix.pbip: informe a PBIR (copiado si el .pbix ya lo trae, traducido si guarda el formato heredado) y modelo a TMDL, archivo suelto o carpeta en lote.

  • Visuales PBIR: listar/documentar visuales, crear visuales (clonando plantillas reales del informe), mover/redimensionar y acomodar por layouts.

Qué NO hace

  • No mueve ni crea visuales "en vivo" en el lienzo abierto (Power BI Desktop no expone API para eso). Los visuales se editan por archivos PBIR con el proyecto .pbip.

  • No refresca ni publica en el Power BI Service (solo local).

  • No extrae el modelo de un .pbix sin Power BI Desktop: el stream DataModel es un backup comprimido con XPress9 que solo el motor de Analysis Services sabe leer. Al convertir, el .pbix se abre en Desktop para serializar el modelo.

  • No traduce los marcadores del formato heredado a PBIR: su modelo de estado es distinto y la conversión los reporta como pendientes (dropped) en vez de perderlos en silencio. Crear marcadores nuevos sí se puede (pbi_create_bookmark).

  • No inventa campos ni medidas inexistentes al generar páginas.


Requisitos

  • Windows (Power BI Desktop es Windows-only) con Power BI Desktop instalado.

  • Python 3.10+ (probado en 3.14).

  • .NET Framework 4.x (viene con Windows) — lo usa pythonnet.

  • Dependencias Python: mcp (incluye FastMCP), pythonnet, psutil, python-dotenv.

  • DLLs de ADOMD.NET + TOM (Analysis Services). Se descargan sin admin con scripts/fetch_libs.py (no requieren instalarse en el GAC).

  • Para editar/crear visuales: el informe guardado como .pbip con PBIR activado.

  • (Opcional) Tabular Editor no es necesario — ver Decisiones técnicas.


Instalación

Directa desde Codex o Claude (recomendada)

No necesitas descargar ni registrar un .exe, crear .mcp.json ni localizar manualmente este repositorio. El plugin prepara un entorno Python aislado en la carpeta de datos del cliente y verifica todas las descargas.

Codex:

codex plugin marketplace add HorizunGroup/horizun-pbi-mcp
codex plugin add horizun-pbi-mcp@horizun

Claude Code:

claude plugin marketplace add HorizunGroup/horizun-pbi-mcp
claude plugin install horizun-pbi-mcp@horizun

Al abrir la primera sesión, el plugin ejecuta toda la preparación en segundo plano automáticamente. Consulta pbi_install_status; cuando termine, reinicia el cliente y quedarán disponibles las 116 tools pbi_*. No hay descargas ni scripts adicionales que el usuario deba ejecutar manualmente.

Límite técnico honesto: no hay ejecutable propio, pero sí necesitas Windows, Power BI Desktop y Python 3.10+. El servidor debe correr localmente: un MCP remoto no puede acceder al motor local de Desktop ni a tus .pbip.

Instalación manual para desarrollo

cd horizun-pbi-mcp

# 1) Dependencias Python
python -m pip install -r requirements.txt
#   o:  python -m pip install -e .

# 2) DLLs de Analysis Services (ADOMD.NET + TOM) -> carpeta libs/
#    Versión fijada (19.84.1) y verificada por SHA-256 antes de instalar.
python scripts/fetch_libs.py

# 3) Esquemas oficiales del PBIR (necesarios para ESCRIBIR)
#    Sin ellos, toda escritura PBIR falla con schema_unavailable.
python scripts/fetch_pbir_schemas.py

# 4) (opcional, recomendado) validador PBIR oficial de Microsoft
#    Requiere Node >= 20. Añade validación semántica del informe completo.
python scripts/fetch_report_validator.py

# 5) (opcional) configuración
copy .env.example .env    # y edítalo

Comprueba el resultado en cualquier momento:

python scripts/doctor.py

Verificar

Con Power BI Desktop abierto en un informe:

python src/server.py     # arranca el servidor MCP (stdio); Ctrl+C para salir

Para una prueba rápida sin MCP, en Python:

import sys; sys.path.insert(0, "src")
from config import get_session
from powerbi import desktop_discovery, dax_runner
s = get_session()
print(desktop_discovery.discover_instances())
desktop_discovery.select_model(s)
print(dax_runner.run_dax(s, 'EVALUATE ROW("ok", 1)'))

Registro en un cliente MCP

Guía completa para Claude Code, Claude Desktop, Codex y clientes stdio genéricos: docs/INSTALL.md.

Cada cliente resuelve las variables de entorno, el directorio de trabajo y el intérprete de Python de forma distinta, así que en vez de una plantilla con ${VAR} que falla en la mitad de ellos, hay un generador que resuelve las rutas absolutas de tu máquina:

python scripts/make_mcp_config.py --client all

Sólo imprime. Para crear el .mcp.json local de este repositorio (que está en .gitignore):

python scripts/make_mcp_config.py --client claude-code --write

Antes de registrar nada, comprueba la instalación:

python scripts/doctor.py

Sale con código 0 si todo lo obligatorio está bien. Distingue dependencia faltante, DLL faltante, servidor que no arranca, contrato MCP inesperado, Desktop cerrado, sesión obsoleta y múltiples instancias. Que Power BI Desktop esté cerrado no hace fallar el diagnóstico base (usa --require-desktop si quieres exigirlo).

Variables de entorno (todas opcionales)

Variable

Default

Descripción

HORIZUN_PBI_MCP_LIBS_DIR

./libs

Carpeta con las DLLs de ADOMD.NET/TOM

HORIZUN_PBI_MCP_DOTNET_RUNTIME

netfx

Runtime de pythonnet (netfx o coreclr)

HORIZUN_PBI_MCP_MAX_ROWS

1000

Límite de filas por defecto en DAX

HORIZUN_PBI_MCP_OUTPUTS_DIR

./outputs

Documentación y change_log.md

HORIZUN_PBI_MCP_BACKUPS_DIR

./backups

Backups de .pbip

HORIZUN_PBI_MCP_LOG_LEVEL

INFO

DEBUG/INFO/WARNING/ERROR

HORIZUN_PBI_MCP_DEFAULT_PBIP

.pbip a abrir al iniciar


Tools disponibles (93)

Catálogo completo por bloque: docs/TOOL_CATALOG.md. Inventario del baseline con clase de riesgo y precondiciones: docs/TOOL_INVENTORY.md. Los nombres y firmas están congelados en tests/golden/tools_v1.json y verificados por tests/test_tool_contract.py.

Conexión / DAX

  • pbi_list_desktop_models — lista modelos abiertos (puerto, connection string, catálogo, nº tablas).

  • pbi_select_model — fija el modelo activo (por port si hay varios).

  • pbi_run_dax — ejecuta DAX (query, max_rows).

  • pbi_test_connection — valida la conexión activa.

  • pbi_validate_measures — valida DAX de medidas SIN modificar el modelo (dry-run con DEFINE MEASURE); útil antes de crearlas.

Documentación (Fase 3)

  • pbi_list_tables, pbi_list_measures, pbi_list_relationships — con source: live|pbip.

  • pbi_analyze_model_quality — problemas típicos del modelo.

  • pbi_document_model — documentación completa en Markdown a outputs/.

Medidas (Fase 4)mode: live|pbip|both, overwrite

  • pbi_create_measure, pbi_update_measure, pbi_delete_measure (destructiva: confirm=true).

Refresh (Fase 5)

  • pbi_refresh_modeltype: full|calculate|clear_values, tables opcional (local).

Proyecto PBIP (Fase 6)

  • pbi_open_pbip_project (path), pbi_validate_pbip_project, pbi_backup_pbip_project (mode: folder|zip, scope: report|model|both).

Conversión .pbix.pbip

  • pbi_inspect_pbix — radiografía del archivo sin convertirlo ni abrir Desktop: formato del informe, si lleva modelo propio, páginas y recursos.

  • pbi_list_convertible_pbix — vista previa de una carpeta: qué se copiaría, qué habría que traducir y cuáles necesitan Desktop.

  • pbi_convert_pbix_to_pbip — genera el proyecto. Acepta un .pbix o una carpeta (recursive), y devuelve por archivo lo escrito, los avisos y lo que quedó fuera (dropped).

El informe se traduce sin Desktop, pero el modelo obliga a abrir cada .pbix en Power BI Desktop (se reutiliza la sesión si ya está abierto, y se cierra si la abrió la tool). Con include_model=false se genera solo la mitad del informe, al instante. El .pbix original nunca se modifica.

Power BI Desktop no abre un .pbip con rutas de 260 caracteres o más: elige un out_dir corto (C:\pbip). La tool lo comprueba antes de escribir y aborta con el detalle en vez de dejar un proyecto que no abre.

Edición de modelo

  • pbi_set_column_visibility / pbi_hide_columns — ocultar/mostrar columnas (p.ej. IDs). mode: live|pbip|both.

  • pbi_set_relationship_direction — filtro cruzado single|both de una relación. mode: live|pbip|both.

  • pbi_disable_auto_date_time — activa/desactiva "Auto fecha y hora" (solo pbip).

Informe PBIR (Fases 7–10)

  • pbi_list_report_pages, pbi_list_visuals (page), pbi_document_report_layout.

  • pbi_create_visualpage, visual_type, fields, position, title (clona un visual existente como plantilla).

  • pbi_update_visual_position, pbi_arrange_visuals (layout: grid|dashboard|executive_summary|custom).

  • pbi_generate_report_page — página asistida a partir del modelo.

HTML dentro de Power BI

  • pbi_add_custom_visual — registra un custom visual de AppSource en el informe (por defecto HTML Content, que renderiza HTML/SVG desde una medida DAX).

  • pbi_create_html_visual — crea un visual HTML Content enlazado a una medida que devuelve HTML (html_measure).

  • pbi_create_measure con data_category: "ImageUrl" — medidas que devuelven un data-URI SVG y se renderizan como imagen en tablas/matrices nativas.

Generación de hojas por lenguaje natural

  • pbi_page_building_blocks — inventario del contenido (modelo + catálogo de visuales existentes + canvas) para diseñar una hoja.

  • pbi_preview_spec_html — maqueta HTML de una hoja propuesta (revisar antes de escribir).

  • pbi_create_page_from_spec — materializa una hoja PBIR completa desde un spec (clona visuales existentes por estilo).

  • pbi_export_page_html — exporta una página existente a maqueta HTML.

Toda tool devuelve {"ok": true/false, ...}; en error incluye error (código) y message (mensaje original del motor, sin ocultar).

Flujo de generación de hojas: pbi_page_building_blocks → (Claude interpreta tu instrucción y arma un spec) → pbi_preview_spec_html (revisas el HTML) → pbi_create_page_from_spec (se escribe el PBIR).


Ejemplos de uso (en lenguaje natural con Claude)

  • Correr DAX: "Lista los modelos abiertos, selecciona el único, y corre EVALUATE TOPN(10, Ventas)."

  • Documentar: "Documenta el modelo activo y analiza su calidad." → genera outputs/model_documentation_*.md.

  • Crear medida: "Crea la medida Margen % = DIVIDE([Utilidad],[Ventas]) en la tabla Ventas, formato 0.0%, modo both."

  • Listar visuales: "Abre el .pbip en C:/…/Informe.pbip y lista los visuales de la página 'Resumen'."

  • Crear visual: ver examples/sample_visual_specs.json.

  • Acomodar página: "Acomoda la página 'Resumen' con layout executive_summary."

Más DAX en examples/sample_queries.md.

⚠️ Edición de PBIR y estado de Desktop: las ediciones de informe (visuales/layout) se hacen en archivos; conviene hacerlas con Power BI Desktop cerrado y reabrir para verlas (si Desktop está abierto y guardas, sobrescribe los cambios en disco). Las ediciones de modelo en vivo (medidas live) requieren Desktop abierto y se persisten al guardar (Ctrl+S).


Troubleshooting

  • No detecta el puerto / "No se detecto ningun modelo": abre el informe en Power BI Desktop; el puerto cambia en cada arranque (el MCP lo descubre solo). Si usas la versión de Microsoft Store, igual se detecta por proceso.

  • adomd_not_installed / tom_not_installed: ejecuta python scripts/fetch_libs.py. Verifica que libs/Microsoft.AnalysisServices.AdomdClient.dll exista.

  • clr_not_available: falta .NET; prueba PBI_MCP_DOTNET_RUNTIME=coreclr.

  • Error DAX: el mensaje del motor se devuelve tal cual en message. Revisa la sintaxis (EVALUATE, comillas).

  • pbir_not_enabled: el informe no está en PBIR. Guarda como .pbip y activa Formato de reporte mejorado (PBIR) en Opciones → Características de vista previa (si aplica en tu versión) antes de guardar.

  • Power BI no recarga los cambios de visuales: ciérralo y reábrelo; PBIR se carga al abrir, no en caliente.

  • Permisos/OneDrive: si el .pbip está en OneDrive, cierra Desktop antes de editar archivos y espera a que OneDrive termine de sincronizar; los backups se guardan en backups/.


Decisiones técnicas

  • TOM vía pythonnet (no Tabular Editor CLI). Se evaluaron: (1) Tabular Editor 2 CLI, (2) pythonnet cargando TOM, (3) editar TMDL directo. Como pythonnet funciona en Python 3.14 y las DLLs de ADOMD.NET/TOM se pueden vendorizar en libs/ sin admin ni GAC, se eligió cargarlas directamente con pythonnet (runtime netfx). Es más estable, sin dependencias externas de instalación, y da control total (crear/editar medidas y refrescar como lo hace Tabular Editor). La edición durable sigue disponible por TMDL en .pbip.

  • Visuales por clonación. pbi_create_visual clona un visual existente del mismo tipo como plantilla (conserva el andamiaje de formato/tema) y solo cae a una plantilla mínima si no hay ninguno, avisando que debe validarse en Desktop.

  • Seguridad (Fase 11): backup automático antes de cada escritura en .pbip; JSON atómico (no deja archivos corruptos); no sobrescribe JSON ilegible; validación de rutas; change_log.md en outputs/; operaciones destructivas requieren confirm=true.

Limitaciones / riesgos abiertos

Ninguna de estas es un defecto que se pueda corregir desde aquí. Están documentadas porque afectan a lo que el servidor puede prometer.

Esquemas que Microsoft no publica

Power BI Desktop escribe visualContainer/2.10.0 en informes recientes, y esa URL devuelve 404 en el origen oficial. Lo mismo con bookmarks/2.0.0. El CLI oficial de Microsoft tampoco puede validarlos — emite PBIR_SCHEMA_UNREACHABLE y se salta la validación de esquema de esos archivos.

Consecuencia: las escrituras sobre archivos que declaren esos esquemas se bloquean con schema_unavailable (rule=no_publicado_upstream). Es deliberado y fail-closed: validar 2.10.0 contra 2.7.0 sería adivinar, y additionalProperties: false rechazaría propiedades nuevas legítimas.

Medido sobre un informe real de 443 documentos: 176 se validan, 240 quedan bloqueados por esta causa.

G10 queda como excepción de release documentada.

mode="both" bloqueado

live exige Power BI Desktop abierto; pbip lo exige cerrado. No hay ningún estado del sistema en que ambos destinos puedan escribirse con seguridad en una llamada. Ver docs/DUAL_MODE.md. R15 abierto.

filters e interactions del page spec

Se rechazan con unsupported_feature indicando la ruta JSON exacta. No se descartan en silencio. Su serialización a PBIR está pendiente.

Otras

  • PBIR debe estar activado en el .pbip; pbi_validate_pbip_project lo comprueba.

  • El nombre amigable del informe abierto no siempre es legible desde el motor (se reporta puerto + catálogo).

  • El parser TMDL en disco es pragmático (tablas, columnas, medidas, relaciones); para metadatos ricos, usa la ruta live.

  • pbi_generate_report_page es una composición heurística; no inventa campos y avisa lo que ignora.

  • El servidor arranca sin Node; lo que queda bloqueado son las escrituras que necesiten el validador oficial.


Estructura del proyecto

horizun-pbi-mcp/
├─ src/
│  ├─ server.py            # FastMCP + registro de tools
│  ├─ config.py            # settings + sesión (modelo/pbip activos)
│  ├─ logging_config.py
│  ├─ reporting.py         # documentación Markdown + calidad
│  ├─ powerbi/             # capa en vivo (ADOMD/TOM)
│  ├─ pbip/                # capa en disco (TMDL/PBIR)
│  ├─ tools/               # tools MCP por área
│  └─ utils/               # JSON, archivos, validación, change_log
├─ scripts/fetch_libs.py   # descarga DLLs de Analysis Services
├─ examples/  tests/  outputs/  libs/
├─ README.md  PLAN.md  pyproject.toml  requirements.txt  .env.example

Pruebas

python -m pytest -q

1262 pruebas, 3 omitidas. La omisión es de entorno y dice cómo ejecutarla:

Omitida

Condición

test_run_dax_live

Requiere una instancia de Power BI Desktop sirviendo un modelo. python -m pytest -m live

test_no_llega_a_cero_por_acumular_infos

Requiere que el modelo sintético dispare solo reglas informativas

Marcadores disponibles:

python -m pytest -m "not packaging"     # rápido: omite wheel y sdist
python -m pytest -m live                # contra Power BI Desktop abierto
python -m pytest -m live_validator      # contra el CLI oficial de Microsoft

Verificar el contrato MCP (las 116 tools están congeladas):

python -m tests.contract_utils

Devuelve 0 si no hay rupturas, 1 si las hay, con un informe que dice qué cambió y si rompe compatibilidad.

Diagnóstico de la instalación:

python scripts/doctor.py

Licencia

Código abierto bajo la licencia Apache License 2.0. Consulta también NOTICE para atribuciones y marcas de terceros.

Available Tools

90 tools
pbi_add_custom_visualA

Registra un custom visual de AppSource en el informe (publicCustomVisuals).

Sin argumentos registra "HTML Content" (renderiza HTML/SVG desde una medida DAX). Power BI Desktop lo descarga de AppSource al abrir el informe.

ParametersJSON Schema
NameRequiredDescriptionDefault
visual_idNo
request_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

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

La descripción revela que Power BI Desktop descargará el visual de AppSource al abrir el informe, algo no obvio y útil. También explica el comportamiento por defecto sin argumentos. No contradice annotations porque no hay.

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

Conciseness5/5

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

Dos frases directas y al grano. La información está bien priorizada: propósito, comportamiento por defecto, y nota sobre descarga.

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

Completeness2/5

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

La descripción es útil pero incompleta: no explica los parámetros más allá del caso vacío, ni menciona requisitos previos o efectos secundarios. Aunque hay output schema, los parámetros de entrada siguen sin aclararse.

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

Parameters2/5

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

El esquema tiene 2 parámetros sin descripciones (cobertura 0%). La descripción solo aclara el caso sin argumentos y el visual por defecto, pero no define qué es visual_id ni request_id, ni cómo se usan.

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

Purpose5/5

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

La descripción establece claramente que la herramienta registra un custom visual de AppSource en el informe, mencionando 'publicCustomVisuals'. Distingue su función de otras herramientas de visuales al especificar la fuente (AppSource) y el comportamiento por defecto.

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

Usage Guidelines4/5

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

No menciona explícitamente alternativas, pero sí indica el caso sin argumentos y el contexto de AppSource. Falta una guía de cuándo usar en lugar de herramientas como pbi_create_html_visual.

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

pbi_align_visualsB

Alinea varios visuales por un borde.

edge: left | right | top | bottom | center_h | center_v. Determinista: la misma entrada produce siempre la misma salida.

ParametersJSON Schema
NameRequiredDescriptionDefault
edgeNoleft
pageYes
request_idNo
visual_idsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It adds a determinism guarantee ('Determinista: la misma entrada produce siempre la misma salida'), which is useful. However, it does not disclose that this is a mutating operation, whether it replaces existing positions, or any side effects, so transparency remains limited.

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

Conciseness5/5

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

The description is extremely concise, with two clear sentences. The edge values are presented in a structured inline list, and there is no filler or repetition. It earns its place by delivering the core purpose and a behavioral guarantee without bloat.

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

Completeness2/5

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

For a 4-parameter tool with no annotations, the description is too sparse. It omits usage guidance, parameter details for most arguments, and any context on how alignment affects the page. The determinism note is nice, but it does not compensate for the missing operational context, making the tool under-specified for reliable selection and invocation.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It explains only the 'edge' parameter with valid values, while page, visual_ids, and request_id are left to inference. The alignment action implies visual_ids gives targets, but the lack of explicit semantics for three of four parameters is a significant gap.

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

Purpose5/5

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

The description clearly states a specific action: 'Alinea varios visuales por un borde' (aligns multiple visuals by an edge). It includes a concise list of valid edge values, which differentiates it from sibling tools like distribute_visuals or arrange_visuals that handle other layout operations.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as pbi_arrange_visuals or pbi_distribute_visuals. There is no mention of prerequisites, edge cases, or contexts where this tool is preferred, leaving the agent to guess which layout tool fits.

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

pbi_analyze_model_qualityC

Detecta problemas tipicos del modelo (calidad).

Revisa medidas sin carpeta, DAX muy largo, relaciones bidireccionales/ inactivas, columnas calculadas, IDs visibles, ausencia de calendario, etc.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceNolive

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses that the tool 'detects' and 'reviews' specific model elements, suggesting a read-only analysis (since it says 'detecta' and 'revisa'). However, it does not state whether it makes changes, what the output looks like, whether a model must be loaded, or any side effects. It adds some value by listing the checks it performs, but leaves key behavioral traits undisclosed.

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

Conciseness4/5

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

The description is concise, two sentences long, and each part adds information. The list of checks is dense but valuable, avoiding filler. It is front-loaded with the core purpose (detect model problems) and then elaborates with examples. No waste, though it could have been structured with more clarity around the parameter or usage.

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

Completeness2/5

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

The tool is a quality analysis with multiple checks, but the description does not explain the context: prerequisites, what the output schema provides (though it exists), or how this tool fits with sibling analysis tools. The parameter is unexplained, and there is no mention of whether a model must be open or what 'source' options exist. The list of issues gives some context, but overall completeness is lacking for a tool with one parameter and no annotations.

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

Parameters1/5

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

The schema has one parameter 'source' with a default of 'live' and no description. The tool description does not mention the parameter at all, so the agent has no idea what values are valid or what 'source' refers to (e.g., live connection vs. file path). With 0% schema coverage and zero compensation in the description, the parameter is effectively unexplained.

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

Purpose4/5

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

The description clearly states the tool's purpose: detecting typical model quality problems. It lists specific issue categories (measures without folder, long DAX, relationships, calculated columns, visible IDs, missing calendar), giving a concrete sense of what it does. However, it does not explicitly differentiate from sibling tools like pbi_health_check or pbi_audit_model, so it lacks a clear comparative edge.

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

Usage Guidelines2/5

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

The description implies the tool is for detecting model quality issues, but provides no explicit guidance on when to use it versus alternatives like pbi_health_check, pbi_audit_model, or pbi_model_summary. There are no prerequisites, exclusions, or context about the kind of situations where this tool is preferred, leaving the agent to guess.

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

pbi_apply_audit_fixesA

Aplica las acciones devueltas por pbi_plan_audit_fixes.

Requiere confirm=true. Cada accion se aplica por su propia via segura (transaccion, verificacion y rollback); si una falla, se reporta sin detener las demas y sin ocultarlo.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionsYes
confirmNo
request_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description fully carries the burden of behavioral disclosure. It reveals that each action is applied via a safe path with transaction, verification, and rollback, and that failures are reported without halting others and without hiding them. This is strong for a mutation tool, though it omits permission/scope details.

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

Conciseness5/5

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

The description is remarkably compact: one purpose sentence, one prerequisite sentence, and one behavior sentence. Every line adds value and there is no redundant phrasing or filler.

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

Completeness4/5

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

Given the presence of an output schema, the description does not need to explain return values. It covers the core aspects: purpose, prerequisite, and error-handling behavior. A small gap remains around what happens if confirm=false or what request_id is used for, but overall it is well-rounded for a workflow-dependent tool.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate. It clarifies that 'actions' should be the actions returned by pbi_plan_audit_fixes and that 'confirm' must be true for the operation to proceed. However, 'request_id' remains unexplained, leaving a minor gap.

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

Purpose5/5

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

The description states a specific verb ('Aplica' / applies) and a precise resource ('las acciones devueltas por pbi_plan_audit_fixes' / the actions returned by pbi_plan_audit_fixes). This clearly differentiates the tool from siblings like pbi_plan_audit_fixes (planning) and other audit/list tools.

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

Usage Guidelines4/5

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

The description gives a clear prerequisite ('Requiere confirm=true') and implicitly establishes the workflow by referencing pbi_plan_audit_fixes as the source of actions. It does not explicitly state when not to use it or name alternatives, but the planning/apply pairing is evident from the sibling list.

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

pbi_apply_page_specA

Materializa el spec como una pagina PBIR, en UNA transaccion.

Cuatro desenlaces explicitos: create (no existe), update (existe y el spec cambia algo), no_change (ya coincide) y conflict (el nombre no identifica una sola pagina).

page: id o nombre visible de la pagina a actualizar. Si se omite, se usa el nombre del spec. Al actualizar se CONSERVAN el id de la pagina y el de cada visual que siga representando lo mismo.

sync_mode: merge (por defecto) anade y actualiza pero no borra lo que el spec no menciona; replace ademas elimina los visuales ausentes. El defecto es conservador para que un spec parcial no pueda vaciar una pagina por omision.

dry_run=true devuelve un plan con plan_token y no escribe nada; aplicalo despues con pbi_apply_plan.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
seedNo
specYes
dry_runNo
sync_modeNomerge
request_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses transactional atomicity, the four possible outcomes, preservation of page and visual IDs on update, the conservative default of merge mode (to prevent accidental deletion), and that dry_run writes nothing and returns a plan token. It does not mention permissions, conflict handling details, or side effects beyond the core behavior, but overall it is substantially transparent.

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

Conciseness4/5

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

The description is well-structured with a lead sentence, a clear list of outcomes, and separate paragraphs for page, sync_mode, and dry_run. It is somewhat longer than necessary but every sentence adds value, and code formatting improves readability. It is front-loaded with the primary action and transactional guarantee.

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

Completeness4/5

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

Given the tool's complexity (6 parameters, nested spec, multiple modes, and outcomes), the description covers the essential behavioral and workflow context. It explains the dry_run → pbi_apply_plan flow, which is crucial for safe usage. It omits details about seed and request_id, but those are likely auxiliary; an output schema exists, so return values are not needed in the description. Overall, it is sufficiently complete for an agent to invoke it correctly.

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

Parameters3/5

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

Schema coverage is 0%, so the description must compensate. It provides meaningful semantics for page (id or visible name, defaults to spec name, preserves IDs), sync_mode (merge vs replace with conservative default), and dry_run (plan token). However, the central 'spec' parameter is not explained beyond 'el spec', and 'seed' and 'request_id' are completely undefined. While the covered parameters are important, the most critical input lacks any structural guidance.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'Materializa el spec como una pagina PBIR' (materialize the spec as a PBIR page), and adds a critical qualifier 'en UNA transaccion' (in one transaction). It further distinguishes itself from sibling tools like pbi_create_page_from_spec by listing four explicit outcomes (create, update, no_change, conflict), clarifying that it handles existing pages idempotently.

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

Usage Guidelines4/5

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

The description provides clear context for when to use the tool: it applies a page spec to a PBIR page, with outcomes based on existence and change. It gives guidance on sync_mode (merge vs replace) and dry_run, explaining their purposes. However, it does not explicitly name alternative tools or say 'use this instead of X', so it misses the full when-not-to-use clarity.

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

pbi_apply_planA

Aplica un plan calculado con pbi_plan_change o con un dry_run.

Verifica que el proyecto siga en el estado sobre el que se planifico; si cambio, rechaza el plan en vez de aplicar algo distinto de lo aprobado.

expected_operation es opcional: si lo indicas, el plan solo se aplica si fue generado para esa operacion (plan_operation_mismatch si no).

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
plan_tokenYes
request_idNo
expected_operationNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses key behavioral traits: it verifies the project is in the planned state and rejects the plan if changed, preventing unintended changes. It also explains the optional expected_operation check and its failure mode (plan_operation_mismatch). This goes beyond a terse 'apply plan' and offers meaningful safety context.

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

Conciseness5/5

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

The description is brief and front-loaded with the primary action, followed by the safety verification and optional parameter behavior. Every sentence contributes meaning, with no filler or redundancy.

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

Completeness4/5

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

Given the tool's complexity (applying a plan, safety checks) and no annotations, the description covers the essential aspects: purpose, safety checks, and one parameter detail. The output schema covers return values, so that omission is acceptable. However, missing explanations for confirm and request_id slightly reduce completeness.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It only explains expected_operation, while plan_token, confirm, and request_id receive no semantic explanation. plan_token is implied by context, but confirm's behavior (e.g., what happens if false) and request_id's purpose are unclear. The description adds value for one parameter but leaves three under-documented.

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

Purpose5/5

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

The description clearly states the verb and resource: 'Aplica un plan calculado con pbi_plan_change o con un dry_run' (Applies a plan calculated with pbi_plan_change or with a dry_run). It differentiates from sibling tools like pbi_plan_change (which creates the plan) and pbi_apply_audit_fixes by explicitly referencing the plan origin.

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

Usage Guidelines4/5

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

Usage is implied: use this after generating a plan via pbi_plan_change or dry_run. The description also mentions a safety check (rejects plan if project state changed), providing context for when it's safe to apply. However, it does not explicitly mention alternatives or exclusions.

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

pbi_arrange_visualsC

Reorganiza los visuales de una pagina.

layout: grid | dashboard | executive_summary | custom. visual_ids: subconjunto opcional (por defecto todos). custom: mapa visual_id -> {x,y,width,height} para layout 'custom'.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageYes
canvasNo
customNo
layoutNogrid
spacingNo
request_idNo
visual_idsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

The description discloses that visuals are reorganized and that by default all visuals are affected, plus the custom layout format. However, with no annotations, it fails to state whether changes are destructive, permanent, require specific permissions, or how spacing/canvas affect the outcome, which is significant 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.

Conciseness4/5

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

The description is brief and well-structured with backtick formatting for parameter explanations. It front-loads the main purpose and then lists the key params efficiently, without wasted words. It could be slightly more organized, but it earns its place.

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

Completeness2/5

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

Despite having an output schema, the description is incomplete for a 7-parameter tool. It does not explain the semantics of the required 'page' parameter, how 'spacing' is applied, what 'canvas' does, or the behavior of layout presets. Given similar sibling tools, more context is needed to correctly invoke the tool.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It adds useful semantics for three parameters (layout values, visual_ids subset, custom map structure), but it omits meaning for required 'page' and other params like 'canvas', 'spacing', and 'request_id'. The partial compensation keeps this at a mid score.

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

Purpose4/5

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

The description uses a specific verb+resource ('Reorganiza los visuales de una pagina') and mentions layout presets, making it clear it rearranges visuals on a page. However, it does not distinguish itself from similar sibling tools like pbi_align_visuals, pbi_distribute_visuals, or pbi_normalize_page_layout, so it lacks full differentiation.

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

Usage Guidelines2/5

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

No explicit guidance is given about when to use this tool versus alternatives. The mention of layout presets (grid, dashboard, executive_summary, custom) implies some use cases, but there is no stated context, prerequisites, or exclusions, leaving the decision to the agent without support.

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

pbi_audit_modelA

Audita el modelo semantico con reglas de identificador estable.

Cada hallazgo trae rule, severity, object, evidence, recommendation y auto_fix_available. Ninguna heuristica se presenta como certeza: la evidencia acompana siempre al hallazgo. rules: subconjunto de reglas (ver pbi_list_audit_rules). min_severity: info | warning | error.

ParametersJSON Schema
NameRequiredDescriptionDefault
rulesNo
sourceNolive
min_severityNoinfo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It adds valuable context by stating that each finding includes evidence and that 'ninguna heuristica se presenta como certeza' (no heuristic is presented as certainty), which clarifies the epistemic nature of results. It does not mention side effects or permissions, but for an audit tool this is a meaningful disclosure.

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

Conciseness5/5

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

The description is efficiently structured: a one-sentence purpose, a sentence detailing finding fields, a caveat about heuristics, and two parameter clarifications. Every sentence adds value with no redundancy or filler.

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

Completeness4/5

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

The description covers the output structure (rule, severity, object, evidence, recommendation, auto_fix_available), explains key parameters, and discloses the tool's epistemic limitations. It misses the `source` parameter, which is a gap, but the existence of an output schema reduces the need to describe return values in detail.

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

Parameters3/5

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

Since schema description coverage is 0%, the description must compensate. It explains that `rules` is a subset from pbi_list_audit_rules and enumerates possible values for `min_severity` (info | warning | error). However, it completely omits the `source` parameter, leaving it undefined in both schema and description.

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

Purpose4/5

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

The description clearly states 'Audita el modelo semantico' (audit the semantic model) with a specific verb and resource, and further specifies 'reglas de identificador estable' (stable identifier rules). It doesn't explicitly differentiate from sibling audit tools like pbi_audit_project or pbi_analyze_model_quality, so it falls short of full distinction.

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

Usage Guidelines3/5

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

The description implies usage for auditing semantic models with a subset of rules and a severity threshold, referencing pbi_list_audit_rules for rule selection. However, it provides no explicit guidance on when to choose this tool over overlapping siblings like pbi_audit_project or pbi_analyze_model_quality.

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

pbi_audit_projectA

Auditoria integral: modelo semantico + informe + layout.

Devuelve puntaje global y por dominio, resumen ejecutivo, hallazgos priorizados con evidencia y recomendacion, y que reglas tienen correccion automatica.

formats: ['markdown','html'] escribe tambien esos informes en outputs/ y devuelve sus rutas. rules y min_severity acotan.

ParametersJSON Schema
NameRequiredDescriptionDefault
rulesNo
formatsNo
min_severityNoinfo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden. It transparently discloses that it returns a global/per-domain score, executive summary, prioritized findings with evidence and recommendations, and which rules support auto-correction. It also reveals the side-effect that specifying 'formats' as markdown/html writes report files to outputs/ and returns their paths. It does not explicitly state whether the audit modifies the project, but the audit framing plus the disclosed side-effect covers the most important behavioral traits.

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

Conciseness5/5

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

The description is compact and front-loaded: a one-line summary, a list of key outputs, then parameter behavior. Every sentence adds value, and there is no redundant repetition of the tool name or schema details.

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

Completeness4/5

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

Given the tool's moderate complexity and the presence of an output schema, the description adequately covers purpose, returned content, file-writing side-effects, and parameter scoping. It could be more complete by stating `min_severity` allowed values and explicit usage guidance relative to sibling audit tools, but it does not leave major functions unexplained.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It explains `formats` with concrete allowed values ('markdown','html') and their side-effect, and notes that `rules` and `min_severity` constrain the audit. However, it does not clarify the accepted values for `min_severity` or the expected format/structure of `rules`, leaving some parameter semantics under-specified.

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

Purpose5/5

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

The description opens with 'Auditoria integral: modelo semantico + informe + layout', which specifically defines the tool as a comprehensive audit of a Power BI project covering three distinct areas. This clearly distinguishes it from siblings like pbi_audit_model (model only) and pbi_audit_report_only (report only). The verb 'Auditoria' plus the resource scope makes the purpose unmistakable.

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

Usage Guidelines4/5

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

The scope 'integral' communicates when to use this tool: when a full project-level audit spanning semantic model, report, and layout is needed. However, it does not explicitly name alternatives or give when-not-to-use guidance, so it lacks the explicit exclusion criteria needed for a 5.

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

pbi_audit_report_onlyA

Audita solo el informe PBIR (sin las reglas del modelo semantico).

Cubre paginas vacias, visuales sin titulo, campos rotos, duplicados, tamanos de lienzo inconsistentes y la geometria de cada pagina.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It discloses the specific checks performed (empty pages, visuals without title, broken fields, duplicates, inconsistent canvas sizes, page geometry), which is useful behavioral context. However, it does not state whether the tool is read-only, what it returns (though an output schema exists), or any side effects, leaving room for assumption.

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

Conciseness5/5

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

The description is two concise sentences, front-loaded with the main scope and followed by a bullet-like list of coverage areas. Every word earns its place with no redundant filler.

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

Completeness4/5

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

Given that the tool has no parameters and an output schema exists, the description covers the essential scope and criteria well. It clearly defines what the audit covers and excludes, which is sufficient for an agent to invoke it appropriately. Minor omission: it does not describe the return format, but the output schema handles that.

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

Parameters4/5

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

The tool has zero parameters and schema coverage is 100%, so there are no parameter semantics to clarify. The baseline of 4 applies as the description does not need to compensate for missing parameter info.

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

Purpose5/5

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

The description clearly states 'Audita solo el informe PBIR' (audits only the PBIR report), identifying the exact resource and action. It further distinguishes itself from sibling tools by explicitly excluding 'las reglas del modelo semantico' (semantic model rules), which differentiates it from pbi_audit_model and pbi_audit_project.

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

Usage Guidelines4/5

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

The description provides clear context by stating it audits 'solo el informe PBIR' and explicitly excludes semantic model rules, implying when not to use this tool. It does not name alternatives or provide explicit when-to-use guidance, but the exclusion helps the agent choose correctly among sibling audit tools.

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

pbi_backup_pbip_projectA

Crea un backup con timestamp del proyecto .pbip activo.

mode: folder | zip. scope: report | model | both. Devuelve la ruta.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNofolder
scopeNoboth

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description discloses that it creates a timestamped backup and returns the path. It does not elaborate on side effects, permissions, or preconditions, so it only partially covers behavioral transparency.

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

Conciseness5/5

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

The description is extremely concise, with the main purpose in one sentence and parameter options in a single line. Every word contributes, making it highly efficient and front-loaded.

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

Completeness4/5

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

For a simple tool with two optional parameters and an output schema, the description is largely sufficient. It explains the core behavior, parameter options, and return value. Minor gaps like prerequisite conditions (active project) are not mentioned.

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

Parameters4/5

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

The schema has zero description coverage, but the description enumerates the accepted values for both parameters ('folder | zip' and 'report | model | both') and notes the return value. However, it does not explain what each option means, leaving some ambiguity.

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

Purpose5/5

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

The description provides a specific verb ('Crea'), resource ('.pbip project'), and qualifiers ('con timestamp', 'activo'). It clearly distinguishes from sibling tools like pbi_purge_backups and pbi_recover_from_journal, making the tool's purpose unambiguous.

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

Usage Guidelines3/5

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

The description implies usage as a backup creation tool via context, but it does not explicitly state when to use it versus alternatives, nor does it mention exclusions or prerequisites such as requiring an open project.

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

pbi_build_dashboardA

Construye un dashboard completo desde un objetivo, no desde primitivas.

Analiza el modelo, compone el spec segun el preset, calcula el layout, genera preview, aplica en una transaccion y verifica el resultado. dry_run=true (por defecto) se detiene tras el preview.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
seedNo
presetNoexecutive
dry_runNo
categoryNo
measuresYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and does disclose key behaviors: it outlines the workflow (analyze model, compose spec, calculate layout, generate preview, apply in transaction, verify) and importantly states that dry_run=true (default) stops after preview. This reveals the tool's safe-by-default execution mode but does not detail side effects of applying or what verification entails.

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

Conciseness5/5

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

The description is two short paragraphs with no wasted words. The opening line is a crisp purpose statement, followed by a compact step list and a critical flag note. Every sentence adds value and the structure is front-loaded with the main purpose.

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

Completeness3/5

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

The tool is complex (6 parameters, multi-step workflow) with no annotations and an output schema that likely defines return values. The description provides a high-level workflow and dry_run behavior but omits essential details like how the 'objetivo' is expressed in parameters, what presets are available, and prerequisites such as requiring a selected model. It is a minimal viable description but has clear gaps for a tool of this complexity.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for parameter meanings. It only explains dry_run (default true, stops after preview), leaving name, measures, seed, preset, and category undefined. This is insufficient for an agent to know what values are expected or how they relate to the 'objetivo'.

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

Purpose5/5

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

The description clearly states it builds a complete dashboard from an objective, not from primitives, using the verb 'Construye' with a specific resource and scope. It distinguishes itself from sibling tools like pbi_build_executive_page or pbi_create_visual by emphasizing the high-level 'objetivo' approach.

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

Usage Guidelines4/5

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

It provides clear context for when to use: when you have an objective rather than building from primitives. It also gives explicit guidance about dry_run default behavior, informing the agent it can preview before applying. However, it does not explicitly name alternative tools or state when not to use this tool.

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

pbi_build_evm_pageA

Pagina EVM (Earned Value Management).

Espera medidas del tipo PV, EV, AC, CPI y SPI; si no las reconoce, lo avisa en vez de generar una pagina que no significa nada.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoEVM
seedNo
dry_runNo
categoryNo
measuresYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral transparency. It discloses a key validation behavior: if the expected measures are not recognized, the tool warns instead of generating a meaningless page. This goes beyond the basic creation action and provides useful safety context, though it does not mention other behaviors like error handling, permissions, or output format.

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

Conciseness5/5

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

The description is extremely concise: two short sentences that immediately state the purpose, then explain the validation behavior. Every word earns its place, and the key information is front-loaded. There is no fluff or repetition.

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

Completeness3/5

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

Given the tool has 5 parameters and no schema descriptions, a complete description would need to address all parameters or point to the output schema. The description effectively covers the core purpose and the key behavioral nuance, but it leaves name, seed, dry_run, and category unexplained. The output schema exists but does not help the agent understand parameter semantics, so the description is only minimally complete for a tool of this complexity.

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

Parameters2/5

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

The input schema has 0% description coverage for its 5 parameters, so the description must compensate. It adds meaning to the required 'measures' parameter by listing the expected types (PV, EV, AC, CPI, SPI), but it entirely ignores the other parameters (name, seed, dry_run, category). Thus, it only partially compensates for the lack of schema descriptions, leaving significant ambiguity for the agent.

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

Purpose5/5

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

The description clearly states the tool's purpose: building an EVM (Earned Value Management) page, and specifies the expected measure types (PV, EV, AC, CPI, SPI). The verb 'build' and resource 'EVM page' are specific and distinguish it from sibling page-building tools that target other types of pages.

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

Usage Guidelines3/5

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

The description implies when this tool should be used (when creating an EVM page with relevant measures) and mentions a validation behavior (warns if measures are unrecognized). However, it does not explicitly state when not to use it or mention alternatives like pbi_build_executive_page or pbi_build_dashboard, leaving some ambiguity for an AI agent choosing among similar tools.

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

pbi_build_executive_pageC

Pagina de resumen ejecutivo: fila de KPIs y grafico protagonista.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoResumen ejecutivo
seedNo
dry_runNo
categoryNo
measuresYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, and the description fails to disclose whether this tool modifies existing pages, requires specific model context, or has side effects. It only describes the page composition (KPIs and chart), leaving behavioral expectations unclear.

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

Conciseness3/5

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

The description is a single, concise sentence with no waste. However, it is under-specified; while efficient in length, it lacks the richness needed for a tool with multiple parameters and implied behavior.

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

Completeness2/5

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

Given the tool's complexity (5 parameters, 1 required) and lack of annotations, the description is far too sparse. It does not mention the purpose, prerequisites, or the meaning of key parameters, making it insufficient for correct invocation.

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

Parameters2/5

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

With 0% schema description coverage, the description needed to explain parameters like seed, dry_run, category, and measures. It only hints that measures are used for KPIs, but leaves the other parameters completely unexplained.

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

Purpose4/5

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

The description clearly indicates this tool creates an executive summary page containing a row of KPIs and a hero chart. Combined with the tool name 'pbi_build_executive_page', the purpose is evident. It does not explicitly differentiate from siblings like pbi_build_evm_page, but the specific page type sets it apart.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as pbi_build_evm_page or pbi_generate_report_page. The description only implies its use for executive summaries but does not state conditions or exclusions.

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

pbi_capabilitiesA

Que puede hacerse AHORA MISMO, y que no, con el motivo.

Un agente deberia consultarla antes de planificar: dice si la capa en vivo esta disponible, si se puede escribir en el .pbip, y que capacidades dependen de la version del motor.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the burden of explaining behavior. It reveals this is an informational, read-only style query ('consultarla', 'dice si...') and details the specific categories of state it reports, such as live layer availability and .pbip write capability. It does not explicitly state 'does not modify anything,' but that is strongly implied and acceptable for a capabilities inspection tool.

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

Conciseness5/5

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

The description is concise and front-loaded: the first line immediately conveys the tool's purpose, the second gives usage guidance, and the third adds specific covered capabilities. Every sentence earns its place, with no filler or redundancy.

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

Completeness5/5

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

Given that this is a zero-parameter capability query with an output schema, the description covers all necessary context: what it reports, why it exists, and when to use it. The output schema handles return-value details, so the description is complete without being verbose.

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

Parameters4/5

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

The tool has zero parameters and the schema is empty, so the baseline is 4. No parameter explanation is needed because there is nothing to explain.

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

Purpose5/5

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

The description clearly states what the tool does: report what can and cannot be done right now, with reasons. It distinguishes itself from the many task-specific sibling tools by framing itself as a pre-planning capability check covering live layer availability, .pbip writability, and engine-version-dependent features. The verb and resource are specific and meaningful.

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

Usage Guidelines4/5

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

The description explicitly says 'Un agente debería consultarla antes de planificar' (an agent should consult it before planning), giving clear when-to-use context. It does not name alternatives or when not to use it, but the guidance is sufficient for a unique capability-introspection tool.

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

pbi_column_dependenciesA

Que usa una columna: medidas, columnas calculadas, relaciones y jerarquias.

Util antes de ocultar o eliminar una columna: dice si algo se rompe.

ParametersJSON Schema
NameRequiredDescriptionDefault
tableYes
columnYes
sourceNolive

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses what dependencies are found (measures, calculated columns, relationships, hierarchies) and that it indicates if something breaks. However, it does not explicitly state whether the operation is read-only, nor does it describe the output format or behavior for edge cases. This 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.

Conciseness5/5

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

The description is two short sentences, front-loaded with the core function and immediately followed by the practical use case. Every word earns its place with no redundancy.

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

Completeness4/5

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

Given that an output schema exists, the description doesn't need to explain return values. It covers the main purpose, dependency types, and use case effectively. The only missing context is the meaning of the 'source' parameter and more explicit read-only behavior, but overall it is complete for a dependency-analysis tool.

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

Parameters2/5

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

The schema shows three parameters (table, column, source) with 0% schema coverage from the description. The description does not explain any parameter semantics, especially 'source' (which defaults to 'live'). Since the schema alone provides minimal context, the lack of parameter explanation is a notable gap.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Que usa una columna: medidas, columnas calculadas, relaciones y jerarquias' (what uses a column: measures, calculated columns, relationships, and hierarchies). This is a specific verb+resource combination that distinguishes it from siblings like pbi_measure_dependencies (which focuses only on measures) and pbi_list_relationships (which focuses only on relationships).

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

Usage Guidelines4/5

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

The description explicitly provides usage context: 'Util antes de ocultar o eliminar una columna: dice si algo se rompe' (Use before hiding or deleting a column: it tells if something breaks). This clearly indicates when to use the tool, though it does not name alternatives or specify 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.

pbi_compare_live_to_pbipA

Compara el modelo EN VIVO con el TMDL del disco.

Util para saber si hay cambios en memoria sin guardar: lista tablas y medidas que solo estan en un lado, y medidas cuyo DAX difiere.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses specific behaviors: listing tables and measures only on one side and measures with differing DAX, which gives concrete expectations beyond just 'compare'. It does not mention side effects, but as a comparison operation, none are implied.

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

Conciseness5/5

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

The description is two short, focused sentences. The first sentence states the core action, and the second adds the use case and specific elements compared. No unnecessary words or repetition.

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

Completeness5/5

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

With an output schema present, the description need not explain return values. It covers purpose, usage, and behavioral detail, which is fully sufficient for a zero-parameter comparison tool. It is contextually complete for the agent to select and invoke it.

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

Parameters4/5

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

The tool has zero parameters, so the input schema is complete by default. The baseline of 4 applies, and the description adds meaning about what the tool operates on (live model vs TMDL), which is helpful even without parameters.

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

Purpose5/5

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

The description clearly states the tool compares the live model with the TMDL on disk using the specific verb 'Compara' and naming both resources. This distinguishes it from sibling tools like validation or documentation tools, making its purpose unmistakable.

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

Usage Guidelines4/5

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

It explicitly says it is useful for detecting unsaved in-memory changes, providing a clear when-to-use context. However, it does not mention alternatives or when not to use it, so it falls short of full explicit guidelines.

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

pbi_copy_visual_formatA

Copia el formato de un visual a otros DEL MISMO TIPO.

Se copia el formato pero no el texto del titulo, que es contenido. Copiar entre tipos distintos se rechaza: la estructura de formato no es intercambiable y Power BI podria rechazar el informe.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo
source_pageYes
target_pageYes
source_visualYes
target_visualsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It discloses important behaviors: same-type-only restriction and that title text is not copied. However, it does not mention overwriting semantics, permissions, or failure modes beyond type mismatch, leaving gaps for a mutation tool.

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

Conciseness5/5

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

Three short sentences, front-loaded with purpose, each providing distinct useful information: the core action, the title exclusion, and the type restriction rationale. No unnecessary fluff.

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

Completeness2/5

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

For a tool with 5 parameters and no annotations, the description is too thin on parameter semantics and side effects. It does not specify what 'format' includes, how success is reported (despite having an output schema, it is not provided), or prerequisites beyond type matching. The description needs more detail to be complete.

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

Parameters2/5

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

Schema description coverage is 0% and the description does not explain the parameters. It implies target_visuals must be same type as source, but it does not clarify how source_page/source_visual/target_visuals are identified or what request_id is for. The description fails to compensate for the lack of schema descriptions.

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

Purpose5/5

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

The description uses a specific verb ('Copia') and resource ('formato de un visual a otros DEL MISMO TIPO'), clearly distinguishing from sibling tools like duplicate_visual or set_visual_title. It precisely states the action and scope.

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

Usage Guidelines4/5

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

It states when to use (copying format between same-type visuals) and when-not (different types rejected, title not copied). However, it does not explicitly name alternative tools for copying titles or duplicating visuals, so it lacks the full alternative guidance for a 5.

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

pbi_create_html_visualA

Crea un visual "HTML Content" que renderiza el HTML/SVG devuelto por una medida.

html_measure: medida cuyo resultado es HTML (p.ej. "[HTML Panel EVM]"). Registra el custom visual en el informe si aun no esta. La medida se crea aparte con pbi_create_measure (el HTML se arma en DAX, tipicamente con VARs y CONCATENATEX sobre los datos del modelo).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageYes
titleNo
positionYes
request_idNo
html_measureYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are present, so the description must carry the full burden. It discloses a side effect (registers custom visual) and a dependency (measure created separately). However, it does not address error conditions, overwrite behavior, or required permissions, leaving gaps for a mutation tool.

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

Conciseness4/5

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

The description is brief and front-loaded with the core purpose, followed by a clarifying note about measure creation and DAX implementation. It is appropriately sized and every sentence contributes meaning, though the code example could be seen as slightly extra.

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

Completeness3/5

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

The description covers the main workflow and differentiation, but leaves critical details about `position` semantics and page targeting unspecified. With a 5-parameter schema, no annotations, and no schema descriptions, more context is needed to correctly invoke the tool without additional domain knowledge.

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

Parameters2/5

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

Schema description coverage is 0%, and the description only elaborates on `html_measure`, giving an example format. It leaves `page`, `position`, `title`, and `request_id` unexplained; `position`'s nested structure is especially ambiguous. This is insufficient compensation for the coverage gap.

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

Purpose5/5

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

The description clearly states it creates an 'HTML Content' visual that renders HTML/SVG returned by a measure, using a specific verb and resource. It also distinguishes this tool from generic creation tools like pbi_create_visual and pbi_add_custom_visual by focusing on the specific HTML Content visual type.

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

Usage Guidelines4/5

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

Provides workflow guidance by explicitly stating that the measure is created separately with pbi_create_measure and that the custom visual is registered if not already present. It implies this tool should be used specifically for HTML Content visuals, though it does not formally list alternatives or exclusions.

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

pbi_create_measureA

Crea (o reemplaza con overwrite=true) una medida DAX.

Valida que la tabla exista y que la medida no exista salvo overwrite. data_category: opcional, p.ej. "ImageUrl" para medidas que devuelven un data-URI SVG (Power BI las renderiza como imagen en tablas/matrices). Devuelve el diff antes/despues.

mode='both' esta temporalmente deshabilitado bajo la politica estricta: 'live' necesita Power BI Desktop abierto y 'pbip' lo necesita cerrado, asi que una sola llamada aplicaria solo uno de los dos destinos. Elige 'live' o 'pbip'.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNolive
nameYes
tableYes
overwriteNo
expressionYes
request_idNo
descriptionNo
data_categoryNo
format_stringNo
display_folderNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description discloses validation (table exists, measure not exist unless overwrite), the diff return, and the mode constraints requiring Desktop open/closed. It does not mention permission requirements or broader side effects, but the core behavioral traits are covered.

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

Conciseness5/5

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

The description is a compact paragraph with each sentence providing distinct information: purpose, validation, optional data_category, diff output, and mode restriction. No filler or repetition; front-loaded with the main action.

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

Completeness4/5

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

Given the 10-parameter schema and mode complexities, the description covers the key aspects: validation, overwrite behavior, mode selection, and data_category example. It also mentions the diff return, complementing the output schema. It could mention error cases or prerequisites, but overall it's sufficient for an agent to invoke correctly.

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

Parameters3/5

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

Schema coverage is 0%, so the description must compensate. It adds meaning for data_category (with ImageUrl example), mode (disabling both), and overwrite (replacement), but leaves format_string, display_folder, and other parameters unexplained. Still, the core parameters are obvious from the schema titles, so the added semantics is moderately helpful.

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

Purpose5/5

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

The description opens with 'Crea (o reemplaza con overwrite=true) una medida DAX', clearly stating it creates or replaces a DAX measure. It also specifies validation behavior and naturally differentiates from update/delete siblings by focusing on creation with overwrite semantics.

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

Usage Guidelines4/5

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

It provides explicit usage context for the mode parameter: 'Elige live o pbip' and explains why mode='both' is disabled. It also clarifies when overwrite=true is relevant, but does not explicitly name alternative tools like pbi_update_measure for comparisons.

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

pbi_create_page_from_specA

Crea una hoja (pagina) PBIR completa a partir de un spec.

spec: {page_name, canvas?, layout?(grid|dashboard|executive_summary), visuals:[{type,title,fields:{rol:refs},position?}]}. Clona visuales existentes del mismo tipo como plantilla. Hace backup. Omite 'position' en un visual para que se auto-acomode con 'layout'.

ParametersJSON Schema
NameRequiredDescriptionDefault
specYes
request_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral disclosure burden. It provides useful specifics: 'Clona visuales existentes del mismo tipo como plantilla', 'Hace backup', and explains that omitting 'position' lets the visual auto-arrange based on 'layout'. This goes beyond the tool name, though it lacks details on overwrite behavior or permissions.

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

Conciseness5/5

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

The description is compact and information-dense: a one-line purpose, a code-block spec shape, and two behavior side-notes. Every sentence contributes, there is no filler, and the core purpose is front-loaded.

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

Completeness3/5

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

The tool is moderately complex with a nested spec object and no annotations, and the description does cover the spec structure and key side effects (clone, backup, auto-layout). However, it doesn't mention how to choose this over related page-spec tools, lacks error/prerequisite context, and the semantics of fields/refs is under-specified. The presence of an output schema reduces the need for return-type documentation, so the description 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.

Parameters4/5

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

The schema offers almost no parameter documentation (0% coverage, spec is additionalProperties), so the description compensates with a detailed inline spec: page_name, canvas?, layout?, visuals with type/title/fields/position. It also clarifies a key behavior ('Omite position... auto-acomode'). Slight ambiguity in 'rol:refs' and no full example prevent a 5.

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

Purpose5/5

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

The description clearly states it creates a complete PBIR page from a spec: 'Crea una hoja (pagina) PBIR completa a partir de un spec.' It uses a specific verb and resource, and the inline spec summarized with layout types (grid|dashboard|executive_summary) and visual structure distinguishes it from generic page tools.

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

Usage Guidelines3/5

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

The description implies usage when you have a structured spec and want a fully fleshed-out page, and notes cloning/backup behavior. However, it doesn't explicitly explain when to use this tool over siblings like pbi_apply_page_spec, pbi_compose_page, or pbi_generate_page_spec, and offers no exclusions or prerequisites.

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

pbi_create_visualA

Crea un visual PBIR en una pagina.

visual_type: card|table|matrix|slicer|barChart|columnChart|lineChart|pieChart. fields: roles logicos -> campos, p.ej. {"category":"Tabla[Col]", "values":["[Medida]"], "legend":"Tabla[Col]"}. position: {x, y, width, height} (z opcional). Clona un visual del mismo tipo como plantilla si existe. Hace backup.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageYes
titleNo
fieldsYes
positionYes
request_idNo
visual_typeYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses notable behavior: 'Clona un visual del mismo tipo como plantilla si existe. Hace backup.' (Clones a visual of the same type as a template if it exists, backs up). This adds non-obvious context, but it does not explain other potential side effects, prerequisites, or failure modes, leaving gaps.

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

Conciseness5/5

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

The description is concise and well-structured: a clear opening sentence, followed by parameter definitions in code-style formatting. It adds no fluff; every line serves a purpose. The cloning and backup note is included efficiently at the end.

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

Completeness3/5

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

The tool has nested objects and an output schema, so return values are handled. However, the description lacks contextual completeness in terms of when to use this tool relative to other visual-creation or duplication tools, and does not mention any dependencies or conditions (e.g., page must exist). It is adequate but not thorough for a tool with many visual-related siblings.

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

Parameters4/5

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

Schema coverage is 0%, so the description must compensate. It provides concise but valuable parameter documentation for visual_type, fields, and position, including allowed values and structure examples. However, it does not explain 'page', 'title', or 'request_id', though these are relatively self-explanatory. This significantly exceeds the schema's bare type definitions.

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

Purpose5/5

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

The description starts with a clear statement: 'Crea un visual PBIR en una pagina' (Creates a PBIR visual on a page). This specifies the action (create), resource (visual), and context (on a page), distinguishing it from sibling tools like pbi_create_html_visual or pbi_duplicate_visual.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to use this tool versus alternatives such as pbi_duplicate_visual or pbi_create_html_visual. The description only states what it does and provides parameter examples; it does not mention conditions, prerequisites, or exclusions.

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

pbi_delete_measureA

Elimina una medida. Operacion destructiva: requiere confirm=true.

mode='both' esta temporalmente deshabilitado bajo la politica estricta: 'live' necesita Power BI Desktop abierto y 'pbip' lo necesita cerrado, asi que una sola llamada aplicaria solo uno de los dos destinos. Elige 'live' o 'pbip'.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNolive
nameYes
tableYes
confirmNo
request_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses the destructive nature, the mandatory confirm flag, and the mode-specific behavior, including why 'both' is disabled due to conflicting Desktop state requirements. This is valuable context beyond the bare schema, though it doesn't mention dependency impacts 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.

Conciseness4/5

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

The description is brief and front-loaded with the main purpose. The first sentence is very concise, and the following sentences provide essential warnings and usage details. The second sentence is slightly long but packs necessary information without unnecessary fluff.

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

Completeness4/5

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

Given the destructive nature and absence of annotations, the description covers the most critical aspects: confirmation requirement, mode selection rules, and the temporary 'both' restriction. The presence of an output schema handles return value expectations. It lacks some details about prerequisites or side effects, but the core usage is well specified.

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

Parameters3/5

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

The schema has 0% description coverage for parameters. The description adds meaning to 'confirm' (must be true) and 'mode' (choose 'live' or 'pbip', with 'both' disabled), which is critical. However, 'table', 'name', and 'request_id' remain unexplained, relying on their self-evident names. Partial compensation only.

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

Purpose5/5

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

The description clearly states 'Elimina una medida' (deletes a measure), specifying the verb and resource. It also marks the operation as destructive, distinguishing it from non-destructive measure-related tools like pbi_create_measure or pbi_update_measure.

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

Usage Guidelines4/5

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

The description provides explicit usage guidelines: the operation requires confirm=true, and mode='both' is temporarily disabled, with instructions to choose either 'live' or 'pbip'. It explains the operational constraints (Power BI Desktop open/closed) but does not discuss alternative tools or when not to use this tool.

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

pbi_delete_pageA

Elimina una pagina y actualiza el orden y la pagina activa.

Destructiva: requiere confirm=true. Se niega a borrar la ultima pagina del informe, porque un informe sin paginas no abre.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageYes
confirmNo
request_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses that the operation is destructive, requires confirm=true, and will refuse to delete the last page because a report without pages cannot open. It also notes it updates page order and active page, which are useful side-effect behaviors.

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

Conciseness5/5

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

The description is brief and front-loaded with the main action. Every sentence adds value: the operation, its side effects, safety requirements, and a key edge case. No wasted words.

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

Completeness4/5

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

For a destructive tool with an output schema, the description provides enough context: the action, confirmation requirement, and edge case protection. It does not detail the output, but that is covered by the output schema. It could mention the behavior when confirm is false, but overall it is sufficiently complete.

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

Parameters3/5

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

Schema coverage is 0%, so the description must compensate. It explains the confirm parameter's role ('requiere confirm=true') and implies the 'page' parameter is the page to delete, but it does not clarify the format of 'page' or mention 'request_id'. This partial compensation earns a 3.

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

Purpose5/5

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

The description clearly states the verb 'Elimina' (deletes) and the resource 'una pagina' (a page), and also mentions it updates the order and active page. This distinguishes it from related sibling tools like pbi_duplicate_page or pbi_rename_page.

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

Usage Guidelines4/5

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

The description provides clear context: it is destructive and requires confirm=true, and it refuses to delete the last page. However, it does not explicitly mention alternative tools or scenarios when not to use this tool, so it falls short of a 5.

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

pbi_delete_visualA

Elimina un visual. Operacion destructiva: requiere confirm=true.

Devuelve la definicion previa, y el journal permite restaurarla.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageYes
confirmNo
visual_idYes
request_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior5/5

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 explicitly discloses that the operation is destructive, requires confirmation, returns the previous definition, and is recoverable via the journal. This goes well beyond a simple 'delete' and gives the agent a clear safety picture.

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

Conciseness5/5

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

The description is two short sentences, front-loaded with the primary action and the key destructive requirement. It also includes recoverability information, earning its place without bloat.

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

Completeness4/5

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

For a destructive operation with no annotations, the description covers the essential context—destructiveness, confirmation, return of prior definition, and restorability. The presence of an output schema reduces the need to detail return values, though it could be more explicit about prerequisites or side effects.

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

Parameters2/5

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

The schema has 0% description coverage, so the description must compensate. It explains the confirm parameter's necessity but does not clarify page, visual_id, or request_id beyond their titles. This leaves the agent to infer the purpose and format of most parameters.

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

Purpose5/5

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

The description clearly states 'Elimina un visual' (deletes a visual), using a specific verb and resource. This distinguishes it from sibling tools like pbi_get_visual or pbi_create_visual. The destructive nature is also emphasized.

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

Usage Guidelines3/5

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

The description implies the tool is for deleting a visual, but does not explicitly state when to use it over alternatives or exclude other situations. It does provide a critical usage requirement—confirm=true is required—but lacks explicit 'when not to use' guidance.

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

pbi_detect_layout_issuesA

Diagnostica la geometria de una pagina (o de todas). Solo lectura.

Detecta solapamientos, visuales fuera del lienzo, tamanos demasiado pequenos, margenes, separaciones inconsistentes, orden Z duplicado o ausente, paginas vacias y paginas saturadas. Cada hallazgo trae su evidencia geometrica.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It explicitly discloses read-only behavior and the nature of findings (each finding includes geometric evidence), providing transparency about what the tool does and returns.

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

Conciseness5/5

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

The description is concise, using two short sentences to convey purpose, read-only nature, detected issues, and output evidence. No superfluous content.

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

Completeness4/5

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

Given that an output schema exists, the description sufficiently explains what issues are detected and that evidence is provided. It could be more explicit about scope or prerequisites, but for a read-only diagnostic tool it is adequately complete.

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

Parameters3/5

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

The description adds meaning to the `page` parameter by indicating it can target a specific page or all pages when omitted, which clarifies the null default. However, it does not specify the expected format of the page identifier, and schema coverage is 0%.

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

Purpose5/5

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

The description clearly identifies the tool as diagnosing page geometry, listing specific issues it detects (overlaps, off-canvas visuals, sizes, margins, spacing, Z-order, empty/saturated pages). It explicitly states 'Solo lectura' (read-only), distinguishing it from sibling tools that modify or document layout.

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

Usage Guidelines3/5

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

The description implies usage for diagnosing layout issues before editing, and notes the read-only nature, but it does not explicitly state when to use this tool over alternatives like pbi_normalize_page_layout or pbi_document_report_layout. The context is clear but exclusions are not explicit.

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

pbi_diff_page_specA

Compara el spec con una pagina existente antes de aplicarlo.

Dice que visuales se anadirian, cuales sobrarian y cuantos quedan igual. Si la pagina no existe, informa que se creara.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
specYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior5/5

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

With no annotations, the description carries full responsibility. It clearly discloses that the tool is non-destructive (comparison only), what it reports (added/leftover/unchanged visuals), and how it handles a missing page. This provides complete transparency for an agent to predict tool behavior.

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

Conciseness5/5

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

The description is concise (three short sentences) and front-loaded with the primary purpose. Every sentence adds value: what the tool does, what it reports, and edge-case behavior. No wasted words.

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

Completeness4/5

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

Given the simple tool, the description covers the essential behavior and edge case. An output schema exists, so not detailing return values is acceptable. It could mention the format of 'page' or 'spec' but is complete enough for an agent to use correctly.

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

Parameters3/5

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

Schema has 0% description coverage, so the description must clarify parameters. It implicitly defines 'spec' as the new specification and 'page' as the existing page, but doesn't explain the spec structure or page identifier format. The default null for page is not addressed, leaving some ambiguity.

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

Purpose5/5

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

The description clearly states the tool's function: comparing a spec against an existing page before applying it. It specifies the outputs (added visuals, leftover visuals, count unchanged) and the behavior for non-existent pages, distinguishing it from sibling tools like apply or validate.

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

Usage Guidelines4/5

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

The phrase 'before applying it' implies usage as a pre-application check, distinguishing it from pbi_apply_page_spec. It provides context for when to use the tool, though it doesn't explicitly list alternatives or exclusions. The edge case of a missing page is addressed, giving practical guidance.

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

pbi_disable_auto_date_timeA

Activa/desactiva 'Auto fecha y hora' (solo modo pbip).

Desactivarlo aligera el modelo: al reabrir el .pbip, Power BI elimina las tablas de fecha automaticas (LocalDateTable_*). Requiere proyecto .pbip activo.

ParametersJSON Schema
NameRequiredDescriptionDefault
enabledNo
request_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the burden of behavior disclosure. It explains what happens when deactivating (Power BI removes automatic date tables on reopen) and states the prerequisite (active .pbip project). It does not, however, describe the effect of enabling or any side effects beyond the removal of tables.

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

Conciseness5/5

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

The description is concise and well-structured, with the action in the first sentence and supporting details in the second. Every sentence adds value and there is no redundancy or filler.

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

Completeness4/5

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

The tool is a simple toggle and the description covers its core behavior, prerequisites, and consequences of deactivation. However, the lack of parameter explanation and the absence of detail about activation leave it slightly incomplete. The presence of an output schema reduces the need to describe return values.

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

Parameters2/5

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

The input schema has two parameters with 0% coverage, and the description does not explain how the 'enabled' boolean maps to activating/deactivating or what 'request_id' is for. The description adds no value to understanding the parameters, which is a significant gap given the schema provides no descriptions.

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

Purpose5/5

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

The description clearly states the tool's function: 'Activa/desactiva Auto fecha y hora' (activates/deactivates auto date/time), and specifies the scope with 'solo modo pbip'. This distinguishes it from other tools and immediately conveys the action on a specific resource.

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

Usage Guidelines4/5

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

The description provides clear context for when to use the tool: it is pbip-only and requires an active .pbip project. It also implies a use case by explaining that deactivating lightens the model, which gives a reason to use it. However, it doesn't explicitly mention alternatives or when not to use it.

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

pbi_distribute_visualsB

Reparte visuales con separacion uniforme. axis: horizontal|vertical.

Necesita al menos tres visuales: con dos, la separacion ya es la que hay.

ParametersJSON Schema
NameRequiredDescriptionDefault
axisNohorizontal
pageYes
request_idNo
visual_idsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses a behavioral edge case (with two visuals, no change occurs) and defines `axis` values, but it does not state that the tool modifies visual positions, what exactly 'separacion uniforme' implies (e.g., equal gaps), whether it respects page boundaries, or whether it is destructive. This is partial disclosure, leaving significant behavioral context unstated.

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

Conciseness5/5

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

The description is only two short sentences. It front-loads the core action and immediately covers the `axis` parameter, then adds a useful caveat about the minimum number of visuals. Every sentence earns its place, with no repetition or filler.

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

Completeness2/5

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

This is a layout-mutation tool with no annotations, a sparse schema, and a minimal description. It provides the three-visual minimum and axis values but lacks essential operational context: what visual_ids represents, what page is needed, what side effects occur (e.g., position changes), and how it differs from sibling layout tools. The presence of an output schema does not compensate for these gaps, making the tool under-specified for an agent to use confidently.

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

Parameters2/5

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

The input schema has 0% description coverage, so the description must compensate. It explains `axis` with allowed values ('horizontal|vertical'), but the other three parameters (page, visual_ids, request_id) are not addressed. Critically, visual_ids—the list of visuals to be distributed—is left unexplained, making it hard for an agent to know what to pass. The description only adds value for one of four parameters.

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

Purpose4/5

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

The description clearly states the tool's function: 'Reparte visuales con separacion uniforme' (distributes visuals with uniform separation), which is a specific verb+resource pair with a clear outcome. It also explains the `axis` parameter, but it does not explicitly distinguish itself from sibling tools like pbi_align_visuals or pbi_arrange_visuals, so it falls short of full differentiation.

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

Usage Guidelines3/5

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

The description provides a clear prerequisite: 'Necesita al menos tres visuales: con dos, la separacion ya es la que hay' (needs at least three visuals; with two, the separation is already the existing one). This tells the user when the tool has no effect, but it does not mention alternative tools or when to prefer this over align/arrange. Usage is implied rather than explicitly contrasted.

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

pbi_document_modelA

Genera documentacion completa del modelo en Markdown.

Incluye resumen, tablas, columnas, medidas, relaciones, jerarquias, roles (RLS) y advertencias de calidad. Guarda el archivo en outputs/.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceNolive
include_qualityNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations provided, the description discloses a key side effect: it saves the file to 'outputs/'. It also lists what the documentation includes. However, it does not explain the behavior of the 'source' parameter, overwrite policy, or whether the operation modifies the model. The write location is disclosed, but other behavioral aspects are missing.

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

Conciseness5/5

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

The description is three short sentences, front-loaded with the main purpose, followed by content specifics and output location. Every sentence adds value with no redundancy or filler.

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

Completeness3/5

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

The tool has an output schema, so return values are likely covered there. However, the description omits the meaning of the 'source' parameter and does not position the tool relative to other documentation/analysis siblings. It provides a good high-level overview but leaves gaps that matter for correct use.

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

Parameters2/5

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

The schema has 0% description coverage for parameters. The description only indirectly mentions 'include_quality' via 'advertencias de calidad' and does not explain the 'source' parameter at all. With two undocumented parameters, the description fails to compensate for the lack of schema metadata.

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

Purpose5/5

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

The description clearly states the tool's purpose with a specific verb and resource: 'Genera documentacion completa del modelo en Markdown.' It enumerates the contents (tablas, columnas, medidas, relaciones, jerarquias, roles RLS, advertencias de calidad), which distinguishes it from narrower sibling tools like pbi_model_summary or pbi_list_relationships.

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

Usage Guidelines3/5

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

The description implies the tool is for generating complete documentation, but it does not provide explicit guidance on when to use it instead of alternatives like pbi_generate_technical_documentation or individual listing tools. No exclusions or alternative comparisons are given, leaving usage context to inference.

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

pbi_document_report_layoutA

Genera documentacion Markdown del layout del informe (paginas y visuales).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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

No hay anotaciones, por lo que la descripción debe revelar el comportamiento. Solo indica que genera documentación, pero no aclara si es una operación de solo lectura, si modifica archivos, si requiere permisos especiales, o el formato exacto de salida más allá de Markdown. La información es mínima y no añade contexto sobre efectos secundarios o limitaciones.

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

Conciseness5/5

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

La descripción es una sola oración clara y directa, sin información redundante. El término 'Markdown' aparece al inicio, lo que facilita una lectura rápida y la identificación del formato de salida.

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

Completeness4/5

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

Para una herramienta sin parámetros, la descripción cubre el propósito y el formato de salida de manera suficiente. Sin embargo, al existir múltiples herramientas de documentación entre los hermanos, carece de contexto sobre su diferencia específica (por ejemplo, que se enfoca en el layout y no en el modelo). El esquema de salida existe pero no se detalla, aunque para una operación simple la información es adecuada.

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

Parameters4/5

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

El esquema no tiene parámetros, por lo que la descripción no necesita explicar parámetros. El baseline para 0 parámetros es 4; la descripción añade el alcance (páginas y visuales) que orienta al agente sobre el ámbito de documentación, compensando la ausencia de estructura.

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

Purpose5/5

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

La descripción utiliza un verbo específico 'Genera documentacion Markdown' y especifica el recurso 'layout del informe (paginas y visuales)', lo que la distingue claramente de herramientas como pbi_document_model o pbi_list_visuals. El alcance es preciso y delimita el tipo de documentación generada.

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

Usage Guidelines2/5

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

No se proporciona ninguna indicación sobre cuándo usar esta herramienta frente a alternativas como pbi_generate_technical_documentation, pbi_document_model o pbi_list_report_pages/pbi_list_visuals. Tampoco se mencionan exclusiones, prerrequisitos o contexto de uso.

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

pbi_duplicate_pageA

Duplica una pagina con todos sus visuales, en una sola transaccion.

Se regeneran los identificadores que deben ser unicos (el de la pagina y el de cada visual) y se conserva todo lo demas.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageYes
new_nameYes
request_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior4/5

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

No hay anotaciones, así que la descripción asume la carga. Explica que 'se regeneran los identificadores que deben ser unicos', revelando efectos secundarios importantes, y menciona atomicidad con 'en una sola transaccion'. Esto proporciona contexto relevante sin contradecir campos estructurados.

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

Conciseness5/5

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

La descripción es breve, directa y comienza con la acción principal. La segunda oración añade detalle relevante sobre identificadores sin divagar. No incluye información redundante.

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

Completeness3/5

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

El tool es simple y la descripción cubre la operación central y efectos secundarios. Sin embargo, carece de detalles sobre los parámetros y no ofrece guía de uso o requisitos previos. La existencia de un output schema mitiga la necesidad de explicar el retorno, pero persisten vacíos.

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

Parameters1/5

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

La descripción no menciona los parámetros 'page', 'new_name' ni 'request_id'. La cobertura del schema es 0%, y el único indicio semántico es el título 'New Name', pero no se especifica el formato del identificador de página ni el propósito de 'request_id'. No compensa la falta de descripción en el schema.

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

Purpose5/5

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

La descripción comienza con 'Duplica una pagina con todos sus visuales', indicando claramente el verbo y el recurso. Se distingue de pbi_duplicate_visual, ya que opera a nivel de página completa, y añade alcance con 'en una sola transaccion'.

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

Usage Guidelines3/5

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

La descripción no indica explícitamente cuándo usar esta herramienta frente a alternativas como pbi_create_page_from_spec o pbi_duplicate_visual. El contexto de uso se deduce del propósito, pero no hay exclusiones ni escenarios recomendados.

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

pbi_duplicate_visualA

Duplica un visual conservando campos, formato y filtros.

Solo se regenera el identificador, que debe ser unico. La copia se desplaza offset_x/offset_y para que no quede tapando al original. target_page permite copiarlo a otra pagina.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageYes
offset_xNo
offset_yNo
new_titleNo
visual_idYes
request_idNo
target_pageNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses that only the identifier is regenerated, the copy is offset to avoid overlapping, and target_page allows copying to another page. This adds meaningful behavioral context, though it omits details about permissions, error handling, or interactions.

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

Conciseness5/5

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

The description is four short, focused sentences. Each sentence adds unique information: purpose, identifier regeneration, offset behavior, and target_page. No redundancy or fluff.

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

Completeness3/5

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

The description covers core behavior and key parameters, and an output schema exists to explain return values. However, with no annotations and 7 parameters, the lack of new_title/request_id explanations and absence of usage prerequisites make it incomplete for fully informed invocation.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It explains offset_x/offset_y and target_page, but does not cover new_title or request_id. Page and visual_id are implied but not explicitly described. This partial coverage leaves some parameters under-explained.

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

Purpose5/5

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

The description opens with 'Duplica un visual conservando campos, formato y filtros', clearly stating the action (duplicate) and resource (visual), and specifies preserved attributes. This distinguishes it from siblings like pbi_delete_visual or pbi_copy_visual_format.

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

Usage Guidelines3/5

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

The description implies when to use the tool (to duplicate a visual with preserved properties) and provides context about offsets and target_page, but does not explicitly mention alternatives such as pbi_create_visual or pbi_copy_visual_format, nor any exclusions or when not to use it.

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

pbi_export_page_htmlB

Exporta una MAQUETA HTML de una pagina EXISTENTE (layout + campos de cada visual).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are present, so the description bears full responsibility. It discloses the output content (layout + visual fields) and that the page must exist, but does not clarify whether 'export' returns an HTML string, writes a file, requires an open project, or has 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.

Conciseness5/5

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

One concise, front-loaded sentence with a parenthetical clarification. No wasted words.

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

Completeness2/5

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

The tool has one parameter with no schema description and no annotations, and the description does not compensate by explaining parameter format or usage. Although the output schema exists, the input side remains under-specified, and the presence of many sibling page-related tools makes the missing usage guidance more costly.

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

Parameters2/5

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

Schema description coverage is 0%, leaving the single 'page' parameter undocumented. The description only says the page must be 'existing,' giving a vague hint that it identifies a current page, but it does not specify whether the value is a name, ID, or page number.

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

Purpose5/5

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

The description clearly states a specific action (export), a specific output (HTML mockup), and the target resource (existing page), with a parenthetical defining scope (layout + fields of each visual). It distinguishes from sibling tools that preview or generate specs by emphasizing 'existing page.'

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

Usage Guidelines2/5

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

No when-to-use guidance or alternatives are provided. The phrase 'existing page' implies use for current pages rather than creating new ones, but no explicit exclusions or references to related tools such as pbi_list_report_pages or pbi_preview_spec_html.

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

pbi_generate_page_specA

Genera un borrador de spec a partir de un preset y unos campos.

preset: executive | financial | sales | operations | evm | detail. measures: medidas para los KPIs y los graficos. category: columna para el eje de los graficos. El resultado es un spec editable: revisalo y pasalo por pbi_validate_page_spec.

ParametersJSON Schema
NameRequiredDescriptionDefault
widthNo
heightNo
presetNoexecutive
categoryNo
measuresNo
page_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description must disclose behavioral traits. It states that the output is an editable draft spec and should be validated, implying it is non-destructive and not directly applied. However, it does not explicitly mention side effects, permissions, or what happens to the generated spec beyond returning it. Some behavioral context is provided, but not exhaustive.

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

Conciseness5/5

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

The description is concise and well-structured: a one-sentence purpose, a bullet list of parameter meanings, and a closing instruction. It is front-loaded with the core purpose and uses minimal words to convey the workflow.

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

Completeness4/5

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

The tool has an output schema, so return values need not be explained. The description gives enough context for an agent to know this generates a draft spec that needs validation, and the parameter list covers the key customization options. However, it could more explicitly differentiate from other page-generation siblings and mention the page_name requirement, though overall it is sufficient for a low-risk generation tool.

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

Parameters3/5

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

The description explains the meanings of `preset`, `measures`, and `category`, which are the domain-specific parameters. However, the required `page_name` and `width`/`height` are not explained, though their names and defaults make them somewhat self-evident. Since schema coverage is 0%, the description partially compensates but leaves gaps.

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

Purpose4/5

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

The description clearly states the tool's function: 'Genera un borrador de spec a partir de un preset y unos campos' (generates a draft spec from a preset and fields). It also enumerates available presets, making the purpose specific. However, it does not explicitly distinguish from sibling tools like pbi_build_executive_page or pbi_generate_report_page, though the focus on a draft/editable spec implies a unique role.

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

Usage Guidelines4/5

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

The description provides a clear workflow: generate an editable spec, review it, and pass it through pbi_validate_page_spec. This gives when-to-use context. It does not explicitly mention alternatives or when not to use, but the validation step implies the intended lifecycle.

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

pbi_generate_report_pageA

Genera una pagina con visuales propuestos a partir del modelo.

Revisa el modelo, valida los campos sugeridos (no inventa campos), crea la pagina, agrega tarjetas para medidas y un grafico por categoria, y acomoda todo con el layout indicado. Devuelve un resumen de lo creado.

ParametersJSON Schema
NameRequiredDescriptionDefault
layoutNoexecutive_summary
objectiveNo
page_nameYes
request_idNo
available_fields_hintNo
create_missing_measuresNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior4/5

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 transparently outlines the workflow: reviewing the model, validating fields (explicitly stating it does not invent fields), adding cards and charts, arranging the layout, and returning a summary. This adds valuable context beyond the schema, though it omits side effects like whether it overwrites an existing page or how 'create_missing_measures' affects behavior.

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

Conciseness5/5

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

The description is concise and well-structured. The first sentence states the main purpose, followed by a clear step-by-step breakdown, and ends with the return value. Every sentence earns its place, and there is no filler or repetition.

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

Completeness3/5

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

For a complex 6-parameter tool with an output schema, the description gives a solid high-level overview but lacks operational context: it doesn't mention prerequisites (e.g., an open project or selected model), what happens if the page already exists, or the meaning of 'objective' and 'request_id'. The output schema covers return details, but the description could still be more complete.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It partially does by referencing 'layout indicado' (layout), 'campos sugeridos' (available_fields_hint), and 'medidas' (related to measures), but it does not explain 'objective', 'request_id', or clarify that 'create_missing_measures' controls whether missing measures are created. This leaves several parameters semantically under-specified.

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

Purpose4/5

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

The description clearly states the tool generates a page with proposed visuals from the model, using a specific verb and resource. It includes the key action of creating a page and adding visual elements. However, it does not explicitly distinguish itself from sibling tools like 'pbi_create_page_from_spec' or 'pbi_compose_page', so it misses the top score.

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

Usage Guidelines2/5

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

The description explains what the tool does but provides no guidance on when to use it versus the many alternative page-creation tools (e.g., pbi_create_page_from_spec, pbi_generate_page_spec, pbi_apply_page_spec). There is no mention of prerequisites, exclusions, or comparison to alternatives, leaving the agent without clear decision support.

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

pbi_generate_technical_documentationA

Documentacion tecnica completa en Markdown, guardada en outputs/.

Incluye el modelo (tablas, medidas con su DAX y dependencias), el informe pagina a pagina con los campos de cada visual, y la auditoria con puntaje por dominio.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and discloses key behavior: output format (Markdown), destination (outputs/), and the three content areas it includes. It does not mention overwrite behavior or prerequisites, but for a zero-parameter generation tool this is reasonably transparent.

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

Conciseness5/5

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

Two concise sentences with a clear bullet-style list of deliverables. Every sentence adds content value with no filler or repetition.

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

Completeness4/5

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

Given zero parameters and the presence of an output schema, the description adequately covers the tool's purpose and deliverable. It could mention prerequisites or error conditions, but the core scope is complete.

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

Parameters4/5

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

There are zero parameters, so the baseline of 4 applies. The description appropriately focuses on the generated output's contents rather than input semantics.

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

Purpose5/5

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

Clearly states it generates complete technical documentation in Markdown saved to outputs/, and enumerates the included content: model, report, and audit. This differentiates it from narrower siblings like pbi_document_model and pbi_audit_model.

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

Usage Guidelines3/5

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

The description implies use when comprehensive documentation across model, report, and audit is needed, but it does not explicitly state when to prefer this over focused tools like pbi_document_model or pbi_audit_project. No exclusions or alternatives are mentioned.

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

pbi_get_objectA

Devuelve un objeto del modelo con todo su detalle.

kind: table | column | measure. Para una columna usa 'Tabla[Columna]'. En una medida incluye ademas las referencias que aparecen en su DAX.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYes
nameYes
sourceNolive

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the transparency burden. It discloses that measures include DAX references and how column names should be formatted. It does not explicitly state side effects or error behavior, but the 'returns' verb implies a read-only operation.

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

Conciseness5/5

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

The description is brief and front-loaded with the main purpose, followed by concise parameter guidance. Every sentence adds useful information, with no waste or redundancy.

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

Completeness3/5

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

The tool is relatively simple and an output schema exists, so return details are covered. However, the missing explanation of the 'source' parameter and the absence of usage guidance relative to alternative tools leave the description incomplete for fully informed selection and invocation.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It explains the 'kind' values and the name format for columns, but it completely omits the 'source' parameter, leaving its meaning and use unclear. Thus the description adds partial value over the schema.

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

Purpose4/5

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

The description clearly states it returns a model object with full detail, and it specifies the admissible kinds (table, column, measure). This makes the purpose understandable, though it does not explicitly contrast with sibling list/dependency tools.

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

Usage Guidelines3/5

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

The description provides practical guidance on how to specify columns ('Tabla[Columna]') and notes that measures include their DAX references. However, it does not mention when to prefer this tool over alternatives like listing tools or dependency tools.

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

pbi_get_visualA

Definicion completa y normalizada de un visual.

Devuelve tipo, posicion, orden Z, titulo, campos por rol, medidas y columnas referenciadas, si tiene formato propio, sus filtros, y la definicion cruda por si hace falta inspeccionarla.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageYes
visual_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the responsibility for disclosing behavior. It explicitly lists all return fields and includes the raw definition for inspection, making the read-only nature clear through the verb 'Devuelve' (returns). However, it does not explicitly state that it has no side effects or discuss error conditions, though the getter nature makes mutation unlikely.

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

Conciseness5/5

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

The description is two sentences long, with the first sentence stating the purpose and the second listing the returned data. It is concise, well-structured, and free of unnecessary detail.

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

Completeness4/5

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

The description thoroughly enumerates the output, which is appropriate for a getter tool, and the presence of an output schema reduces the need to explain return values. However, it lacks information about required context (e.g., an open project) and when to use this tool over related siblings, making it slightly incomplete.

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

Parameters2/5

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

Schema description coverage is 0%, and the description does not explain the meaning or format of 'page' and 'visual_id' beyond their names. While the names are somewhat self-explanatory, no additional context is provided, such as whether 'page' is a page name or ID, or how to obtain 'visual_id'.

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

Purpose5/5

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

The description clearly states this tool returns a complete normalized definition of a visual, enumerating specific attributes like type, position, Z-order, title, fields, filters, and raw definition. This distinguishes it from siblings such as pbi_list_visuals (which lists visuals) or pbi_get_object (a generic getter).

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like pbi_get_object or pbi_list_visuals. It does not mention prerequisites, exclusions, or alternative tools, leaving the agent to infer usage from the tool name alone.

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

pbi_health_checkA

Estado general del servidor: dependencias, DLLs, sesion y proyecto.

Solo lectura. Es lo primero que conviene llamar: dice si la capa EN VIVO esta disponible, si hay un proyecto .pbip abierto y si algo requiere atencion (sesion obsoleta, journals pendientes).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

No annotations were provided, so the description carries the full burden. It discloses 'Solo lectura' (read-only) and enumerates the specific checks performed (dependencies, DLLs, session, project, live layer, pending journals). This provides meaningful behavioral context beyond a bare tool name, though it does not describe return format or error behavior (covered by output schema).

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

Conciseness5/5

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

The description is compact and front-loaded. The first line states the core purpose, the second line adds read-only and usage priority, and the third line details what it reports. Every sentence adds value with no filler.

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

Completeness5/5

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

For a zero-parameter read-only health check tool, the description is complete: it covers purpose, usage timing, and the specific health signals it returns. The existence of an output schema covers return value details, so the description needs no further elaboration.

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

Parameters4/5

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

The tool has zero parameters and schema coverage is 100% (vacuously). With no parameters to document, the baseline is 4. The description does not need to add parameter semantics, and it doesn't.

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

Purpose5/5

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

The description begins with 'Estado general del servidor: dependencias, DLLs, sesion y proyecto', clearly stating the tool's purpose as a server health check. It further specifies what it reports (live layer availability, open .pbip project, items needing attention), distinguishing it from more focused siblings like pbi_session_info.

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

Usage Guidelines4/5

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

Explicitly states 'Es lo primero que conviene llamar' (It's the first thing to call), giving clear guidance on when to use it. It also explains what it tells the user, but it does not list alternatives or explicit when-not-to-use scenarios, so it stops short of a 5.

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

pbi_hide_columnsA

Oculta/muestra VARIAS columnas como un solo lote.

columns: lista de {"table": ..., "column": ...}.

Valida todas las entradas antes de escribir: si alguna tabla o columna no existe, no se modifica nada y el error indica el indice. Los archivos TMDL se escriben en una sola transaccion y el modelo en vivo con un solo SaveChanges. count es el numero de entradas SOLICITADAS (incluidos duplicados); results trae una entrada por cada una, en el mismo orden.

mode='both' esta temporalmente deshabilitado bajo la politica estricta: 'live' necesita Power BI Desktop abierto y 'pbip' lo necesita cerrado, asi que una sola llamada aplicaria solo uno de los dos destinos. Elige 'live' o 'pbip'.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNolive
hiddenNo
columnsYes
request_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior5/5

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

With no annotations, the description carries full disclosure. It details validation before write ('Valida todas las entradas antes de escribir: si alguna tabla o columna no existe, no se modifica nada'), atomicity ('TMDL se escriben en una sola transaccion y el modelo en vivo con un solo SaveChanges'), and result semantics ('count' incluye duplicados, 'results' en el mismo orden). It also discloses the temporary mode='both' restriction and why.

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

Conciseness5/5

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

The description is compact and front-loaded with the primary purpose. Each subsequent sentence adds necessary detail (validation, transaction, mode caveat) without fluff. The structure is logical: purpose, parameter format, behavior, mode restriction.

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

Completeness4/5

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

Given no annotations and 0% schema coverage, the description covers most key aspects: batch operation, validation, atomicity, mode restrictions, and result counts. It is missing semantics for 'hidden' and 'request_id', but the provided details are comprehensive for a moderately complex tool with an output schema present.

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

Parameters3/5

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

Schema coverage is 0%, so the description must compensate. It explains the 'columns' structure ('lista de {"table": ..., "column": ...}') and the mode constraints ('Elige live o pbip'). However, it does not explain the 'hidden' or 'request_id' parameters, which are not self-evident from schema alone.

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

Purpose5/5

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

The description opens with 'Oculta/muestra VARIAS columnas como un solo lote' (Hide/show SEVERAL columns as a single batch), which clearly states the verb, resource, and batch scope. This distinguishes it from the sibling tool pbi_set_column_visibility, which likely handles single columns.

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

Usage Guidelines4/5

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

The description explains the batch use case ('VARIAS columnas como un solo lote') and provides explicit guidance on mode selection: 'la politica estricta: 'live' necesita Power BI Desktop abierto y 'pbip' lo necesita cerrado... Elige 'live' o 'pbip'.' It does not explicitly name alternatives like pbi_set_column_visibility, but the batch context is clear.

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

pbi_inspect_journalA

Inspecciona un journal y lo compara con el estado ACTUAL del proyecto.

Solo lectura: no restaura nada. Por cada archivo dice si sigue como el original, si hay respaldo disponible y cual fue su desenlace. journal: ruta devuelta por pbi_list_pending_journals.

ParametersJSON Schema
NameRequiredDescriptionDefault
journalYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It transparently states the tool is read-only and details what it reports for each file (original state, backup availability, outcome). This sufficiently discloses behavior, though it doesn't discuss error cases or permissions.

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

Conciseness5/5

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

The description is brief and well-structured, with a clear purpose statement followed by behavioral details and parameter guidance. No redundant info.

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

Completeness5/5

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

The tool has an output schema, so return values are covered. The description provides purpose, behavior, and parameter sourcing, making it sufficient for a simple read-only tool with one parameter.

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

Parameters5/5

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

The schema only provides a name and type for the journal parameter. The description adds valuable meaning by specifying it should be a path returned by pbi_list_pending_journals, eliminating ambiguity about the expected value.

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

Purpose5/5

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

The description clearly states the tool inspects a journal and compares it to the current project state, using a specific verb ('Inspecciona') and resource. It also distinguishes itself from recovery tools by explicitly stating 'Solo lectura: no restaura nada'.

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

Usage Guidelines4/5

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

The description provides clear context: it is read-only and does not restore, implying it should be used for inspection before any recovery. It also references pbi_list_pending_journals for obtaining the journal path, giving a concrete workflow. However, it does not explicitly name alternative tools or when not to use it.

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

pbi_list_audit_rulesA

Catalogo de reglas de auditoria disponibles, con su dominio y severidad.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries full responsibility for behavioral disclosure. It only states it is a catalog, but does not explicitly say it is a read-only operation, whether it requires a model connection, or any side effects. The description adds minimal behavioral context beyond the tool's name.

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

Conciseness5/5

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

The description is a single, concise sentence in Spanish that directly states the tool's purpose. It contains no extraneous information and is front-loaded with the essential content.

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

Completeness4/5

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

For a simple 0-argument list tool with an output schema, the description is adequate: it tells the agent that the tool lists audit rules with domain and severity. It could be more complete by hinting at the relationship to audit execution tools, but given the low complexity and existing schema, it is sufficient.

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

Parameters4/5

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

The tool has 0 parameters, and the schema coverage is vacuously 100%. Per the rubric, 0 params earns a baseline of 4. The description adds no parameter details because none are needed.

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

Purpose5/5

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

The description clearly states a specific verb+resource: it catalogs available audit rules, specifying the content (domain and severity). This distinguishes it from sibling tools like pbi_audit_model (which runs audits) and pbi_list_autofix_rules (which lists autofix rules, not audit rules).

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

Usage Guidelines3/5

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

The description implies usage by saying 'available audit rules,' suggesting it is meant to be consulted before applying audits. However, it does not explicitly state when to use it vs alternatives, nor does it provide exclusions or connections to audit workflow tools.

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

pbi_list_autofix_rulesC

Reglas que tienen correccion automatica, y en que consiste cada una.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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 does not mention whether the operation is read-only, whether there are side effects, or what the output format resembles. For a list tool, it lacks explicit behavioral context beyond implying the return of rule details.

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

Conciseness4/5

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

The description is a single concise sentence in Spanish with no wasted words. It is appropriately brief but could be more explicit about the action, slightly reducing structural clarity.

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

Completeness3/5

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

The tool is simple with no parameters and an output schema, so the description covers the core content. However, it lacks usage guidelines and explicit behavioral notes, making it minimally complete for a list tool.

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

Parameters4/5

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

The tool has zero parameters, so the schema provides no parameter information. The baseline for 0 parameters is 4, and the description does not need to compensate for missing parameter documentation.

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

Purpose3/5

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

The description identifies the resource as rules with automatic correction and specifies that it covers what each rule consists of. However, it lacks an explicit action verb like 'list' or 'returns', leaving the tool's operation vague. It does not explicitly differentiate from sibling tools like pbi_list_audit_rules beyond the 'autofix' modifier.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as pbi_list_audit_rules or pbi_apply_audit_fixes. The description only states the content, not the context or purpose for invoking the tool.

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

pbi_list_desktop_modelsA

Lista los modelos de Power BI Desktop abiertos localmente.

Detecta el motor de Analysis Services (localhost:) de cada informe abierto y devuelve puerto, connection string, catalogo y nº de tablas.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

No annotations are provided, so the description carries the transparency burden. It discloses that the tool detects the Analysis Services engine for each open report and returns specific fields, using non-mutating verbs like 'Lista' and 'Detecta' that imply a read-only operation. It does not explicitly state 'does not modify anything', but for a list/discovery tool this is adequate.

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

Conciseness5/5

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

The description is concise and front-loaded: the first sentence states the core function, and the second adds the key output details without filler. It is appropriately sized for a simple list/discovery tool.

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

Completeness4/5

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

Given the tool's simplicity, zero parameters, and presence of an output schema, the description is complete enough: it explains what is listed, how discovery works, and what the return includes. A minor gap is not explicitly stating that Power BI Desktop must be running, though 'abiertos localmente' conveys this context.

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

Parameters4/5

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

The tool has zero parameters and an empty input schema, so there are no parameter semantics for the description to add. The baseline of 4 applies because the description cannot add value beyond the schema when there are no parameters.

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

Purpose5/5

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

The description clearly states the tool's purpose with a specific verb ('Lista') and resource ('modelos de Power BI Desktop abiertos localmente'), then adds useful output detail: it detects the Analysis Services engine on localhost:<port> and returns port, connection string, catalog, and table count. This distinguishes it from siblings like pbi_model_summary or pbi_select_model by emphasizing local open desktop models.

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

Usage Guidelines3/5

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

The description gives a clear scope ('abiertos localmente') but does not explicitly say when to use this tool over alternatives such as pbi_list_tables, pbi_model_summary, or pbi_select_model. It does not mention exclusions or provide explicit when-to-use/when-not-to-use guidance, so the usage context is only implied.

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

pbi_list_hierarchiesB

Lista las jerarquias del modelo con sus niveles y columnas.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceNolive

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states what the tool lists, but does not mention whether it is read-only, has side effects, or any other behavioral traits. This is a transparency gap for a model inspection tool.

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

Conciseness5/5

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

The description is a single concise sentence with no redundant words, front-loading the key information about what the tool does.

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

Completeness2/5

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

The tool is simple, and an output schema exists, so return values need no explanation. However, the unexplained 'source' parameter and lack of usage context make the description incomplete for an agent to invoke it correctly.

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

Parameters1/5

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

The input schema has one parameter 'source' with a default but no description, and schema coverage is 0%. The tool description does not explain this parameter at all, leaving the agent unsure of its meaning or valid values.

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

Purpose5/5

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

The description clearly states the tool lists model hierarchies with their levels and columns, using the verb 'Lista' and the resource 'jerarquias del modelo'. This distinguishes it from sibling tools like pbi_list_relationships and pbi_list_tables.

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

Usage Guidelines3/5

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

The usage is implied by the tool's name and description: use it when you need model hierarchies. However, there is no explicit guidance on when to choose this over other listing tools or any exclusions/prerequisites.

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

pbi_list_measuresB

Lista medidas con tabla, expresion DAX, formato, descripcion y carpeta.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceNolive

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It implies a read-only listing operation and discloses the output fields, but it does not explicitly confirm non-destructive behavior, permission requirements, or any limitations (e.g., effect of the 'source' parameter).

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

Conciseness5/5

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

The description is a single, well-structured Spanish sentence that starts with the verb and includes only essential information. It is concise and front-loaded with no redundant content.

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

Completeness3/5

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

The tool is simple with one optional parameter and an output schema, so return values are covered. However, the description omits usage differentiation from sibling tools and fails to define the 'source' parameter, making it only partially complete for an agent selecting and invoking the tool.

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

Parameters1/5

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

The schema has one parameter 'source' with 0% description coverage, and the description does not mention it at all. The default 'live' suggests possible sources, but no valid values, behavior, or meaning are explained, leaving the agent without necessary context.

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

Purpose5/5

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

The description uses the specific verb 'Lista' (lists) with the resource 'medidas' (measures) and enumerates the included attributes: table, DAX expression, format, description, and folder. This clearly identifies the tool's function and differentiates it from sibling tools like pbi_list_tables or pbi_get_object.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as pbi_model_summary, pbi_list_tables, or pbi_search_model. It only states what the tool does, with 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.

pbi_list_page_presetsA

Presets de pagina disponibles, con los bloques que compone cada uno.

Un preset describe la INTENCION de la pagina (KPIs arriba, grafico protagonista, detalle abajo). Los campos concretos los eliges tu.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations provided, the description carries the burden of disclosing behavior. It adds useful conceptual context: presets describe the 'INTENTION' of a page (e.g., KPIs at top, chart in focus, detail at bottom) and that the user selects concrete fields. This clarifies what the returned data represents. However, it does not explicitly state that the operation is read-only or describe any output format details, though the output schema exists.

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

Conciseness5/5

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

The description is extremely concise, consisting of two short sentences. The first sentence states the core purpose, and the second provides valuable context about preset semantics without unnecessary filler. Every sentence earns its place, and the structure is front-loaded with the main point.

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

Completeness4/5

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

Given the tool is a simple list operation with no parameters and an output schema exists, the description is mostly complete. It explains what presets are and how they relate to the page-building workflow (user chooses fields). It does not explicitly describe the return structure, but the output schema covers that, and the description's conceptual context is sufficient for this tool's complexity.

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

Parameters4/5

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

There are zero parameters, so the baseline score is 4. The description does not need to explain parameters, and it appropriately focuses on the tool's purpose. It adds no parameter-related information because none exists to add.

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

Purpose4/5

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

The description clearly states the resource ('page presets') and their composition ('the blocks that compose each one'), making it easy to understand the tool's scope. It distinguishes from sibling tools by focusing specifically on presets as high-level page structures, not individual blocks or other model metadata. However, it lacks an explicit verb like 'lists', relying on the word 'disponibles' (available) to imply listing.

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

Usage Guidelines2/5

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

The description does not provide any explicit guidance on when to use this tool versus alternatives such as pbi_page_building_blocks or pbi_create_page_from_spec. It explains what a preset is but does not state, for example, 'Use this to review preset templates before composing a page.' The context is implied but not actionable.

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

pbi_list_partitionsB

Lista las particiones por tabla (modo de almacenamiento y origen).

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceNolive

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It mentions the output includes storage mode and source, which is some transparency. However, it does not explicitly state that the operation is read-only or clarify the behavior of the 'source' parameter (e.g., filtering by source), leaving gaps in behavioral understanding.

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

Conciseness4/5

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

The description is a single concise sentence that is front-loaded and contains no fluff. It earns its place by stating the core purpose, though it offers no additional structure or tips.

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

Completeness2/5

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

The output schema exists, so return values are likely covered, but the description lacks any explanation of the 'source' parameter and offers no usage context. For a tool with one optional parameter and no annotations, this level of detail is insufficient for an agent to invoke it correctly in all cases.

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

Parameters1/5

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

The schema has 0% coverage, and the description does not explain the 'source' parameter. The word 'origen' in the description likely refers to an output field rather than the input parameter. No possible values or effects are described, leaving the agent to guess what 'source' accepts.

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

Purpose5/5

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

The description clearly states the tool lists partitions by table, with storage mode and source. This is a specific verb-resource combination and distinguishes it from sibling tools like pbi_list_tables (tables) and pbi_set_storage_mode (storage modes).

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. It does not mention prerequisites, such as requiring a selected model or a connection, nor does it contrast with similar list tools.

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

pbi_list_pending_journalsA

Lista los journals del proyecto activo.

Un journal pending es el de una operacion que ni se confirmo ni se revirtio (el proceso murio en medio). Contiene los originales. only_pending=false lista tambien los ya cerrados.

ParametersJSON Schema
NameRequiredDescriptionDefault
only_pendingNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral transparency burden. It discloses that the list is scoped to the active project and that only_pending controls whether closed journals are included. It also adds meaningful context about what pending journals are (unconfirmed/unreverted operations containing originals), which goes beyond the schema.

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

Conciseness5/5

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

The description is concise, consisting of three short, information-dense sentences. It is front-loaded with the primary action and every sentence contributes meaningful detail without unnecessary filler.

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

Completeness4/5

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

Given the tool's simplicity (one parameter, output schema provided, no nested objects), the description covers the core purpose, the parameter, and the domain concept of pending journals. It is sufficiently complete, though a brief mention of related recovery tools would have enhanced context.

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

Parameters5/5

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

The only parameter, only_pending, is clearly explained: setting it to false also lists closed journals. This adds semantic meaning beyond the bare schema, which has no property descriptions. The explanation fully covers the parameter's effect.

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

Purpose5/5

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

The description opens with 'Lista los journals del proyecto activo', a clear verb+resource statement. It further clarifies what 'pending' means and notes that 'only_pending=false' also lists closed journals, distinguishing this list operation from journal inspection or recovery tools.

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

Usage Guidelines3/5

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

The description implies usage by explaining that pending journals come from operations that died midway and contain originals, which suggests use when looking for interrupted operations. However, it does not explicitly state when to use this tool versus alternatives like pbi_inspect_journal or pbi_recover_from_journal, nor does it provide exclusionary guidance.

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

pbi_list_perspectivesA

Lista las perspectivas del modelo.

Requiere la capa EN VIVO: el lector TMDL de este proyecto no las extrae. Si no hay ninguna, devuelve una lista vacia con la explicacion.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceNolive

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations provided, the description bears full responsibility for behavioral disclosure. It discloses the live layer requirement, the fact that TMDL extraction won't work, and the behavior when no perspectives exist (returns an empty list with explanation). This is valuable context for a list operation, though it does not explicitly state read-only behavior or auth requirements.

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

Conciseness5/5

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

The description is three short sentences with no redundancy. It front-loads the main purpose, then gives a key prerequisite and an edge-case behavior. Every sentence earns its place, and there is no padding or unnecessary detail.

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

Completeness4/5

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

For a simple list tool, the description is reasonably complete given that an output schema exists (so return structure need not be described). It covers purpose, a critical prerequisite (live layer), and the empty-result behavior. It does not explain how perspectives are structured or how to interpret results, but the output schema can handle that. Missing some context about connection prerequisites, but those are likely global.

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

Parameters4/5

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

The sole parameter 'source' has a default 'live' and no schema description (0% coverage). The description's statement about requiring the live layer directly maps to this parameter, explaining why the default is 'live' and implying that other values (e.g., TMDL) would not succeed. This adds meaning beyond the bare schema.

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

Purpose4/5

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

The description clearly states the tool's function: "Lista las perspectivas del modelo" (lists the model's perspectives). This is a specific verb+resource pair that distinguishes it from sibling list tools like pbi_list_tables, pbi_list_measures, etc., though it does not explicitly mention these alternatives. The purpose is immediately clear.

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

Usage Guidelines4/5

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

The description provides a clear usage condition: "Requiere la capa EN VIVO: el lector TMDL de este proyecto no las extrae" (requires the live layer; the TMDL reader does not extract them). This tells the agent when to use this tool and implicitly warns against using a TMDL-based approach. It does not explicitly name an alternative tool, but the exclusion is clear.

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

pbi_list_relationshipsB

Lista relaciones: tablas/columnas, cardinalidad, filtro cruzado y estado.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceNolive

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral nuances. It only states the output attributes but does not clarify whether the operation is read-only (though implied), what 'estado' refers to, how the 'source' parameter affects results, or any prerequisites. Minimal behavioral context is given.

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

Conciseness4/5

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

The description is a single, compact sentence that quickly conveys the core purpose. However, it omits critical parameter context, so while concise, it is under-specified.

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

Completeness2/5

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

Even though an output schema exists, the tool has an undocumented parameter and lacks behavioral notes or usage guidance. For a list operation, the description provides only the bare minimum, leaving important aspects like source behavior and status semantics ambiguous.

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

Parameters1/5

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

The sole parameter 'source' has no description in the schema (0% coverage) and is not mentioned in the tool description. The agent is left without any semantic understanding of what values to pass or what 'live' means.

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

Purpose5/5

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

The description uses the verb 'Lista' (Lists) with the resource 'relaciones' (relationships), and enumerates the key attributes returned (tables/columns, cardinality, cross-filter, status). This clearly distinguishes it from sibling tools like pbi_create_relationship or pbi_set_relationship_direction.

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

Usage Guidelines3/5

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

No explicit when-to-use guidance or comparison to alternatives is provided. The context is implied by the name 'list_relationships', but there is no mention of when to prefer this over other relationship-related tools or any exclusions.

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

pbi_list_report_pagesA

Lista las paginas del informe PBIR activo (id, nombre, tamano, nº visuales).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description must convey behavioral traits. It implies a read-only operation via the verb 'Lista' and adds the 'activo' constraint, but does not explicitly state that it has no side effects, nor does it describe what happens if no report is active. This is 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.

Conciseness5/5

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

The description is a single, compact sentence in Spanish that front-loads the action and resource, and lists the output fields. There is no wasted verbiage, and it is immediately understandable.

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

Completeness4/5

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

Given the simple nature of the tool (0 params, output schema exists), the description is largely complete. It specifies the active report scope and the returned fields. It omits explicit preconditions like requiring an open project, but these are implied by 'activo' and may be covered by the output schema.

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

Parameters4/5

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

The tool has zero parameters, so the baseline is 4. The description adds no parameter semantics because there are none to explain, but it does provide useful context about the result fields, which is beneficial given the schema is empty.

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

Purpose5/5

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

The description uses the specific verb 'Lista' and identifies the resource as 'paginas del informe PBIR activo', clearly distinguishing it from sibling tools like pbi_list_visuals or pbi_list_tables. It also enumerates the returned fields (id, nombre, tamano, nº visuales), making the tool's purpose unambiguous.

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

Usage Guidelines4/5

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

The description provides clear context by specifying the scope 'informe PBIR activo', indicating when to use the tool: to list pages of the currently active report. It does not mention exclusions or alternatives, but the context is sufficiently clear for an agent to select it over other page manipulation tools.

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

pbi_list_rolesC

Lista los roles de seguridad (RLS) y sus filtros por tabla.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceNolive

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden of behavioral disclosure. It implies a read-only listing operation but does not explicitly state this, nor does it mention any permissions, side effects, or how the 'source' parameter affects behavior. The only behavioral detail is 'por tabla' (by table), which is limited.

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

Conciseness3/5

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

The description is a single sentence that is front-loaded with the verb and resource, making it concise. However, it under-specifies critical details such as parameter semantics, so it is not appropriately sized for the information needed. It is not bloated, but it omits important content.

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

Completeness2/5

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

While the tool has a simple signature (one optional parameter) and an output schema exists (potentially covering return values), the description fails to explain the 'source' parameter and offers no context for its use. The absence of behavioral transparency and usage guidance leaves the description incomplete for an agent to invoke it correctly.

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

Parameters1/5

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

The input schema has one parameter 'source' with a default but no description (schema description coverage is 0%). The tool description completely omits any mention of 'source', leaving its meaning, allowed values, and effect entirely unexplained. The agent has no way to know what 'live' means or whether to alter it.

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

Purpose5/5

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

The description explicitly states the action ('Lista' / 'lists') and the resource ('roles de seguridad (RLS) y sus filtros por tabla' / 'security roles and their filters by table'). This clearly distinguishes it from other pbi_list_* tools like pbi_list_tables or pbi_list_measures.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives. It does not mention any specific use cases, prerequisites, or exclusions. The description simply states what it does without contextual framing.

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

pbi_list_tablesA

Lista tablas con columnas, tipos, visibilidad y conteos.

source: 'live' (modelo abierto, por defecto) o 'pbip' (archivos TMDL).

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceNolive

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses what will be returned (columns, types, visibility, counts) and explains the `source` parameter options ('live' vs 'pbip'). This gives meaningful behavioral context, though it doesn't explicitly state read-only implications or other constraints.

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

Conciseness5/5

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

The description is two short sentences, front-loaded with the main purpose, followed by a clear parameter explanation. Every word earns its place with no unnecessary fluff.

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

Completeness5/5

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

For a simple list tool with one parameter and an output schema present, the description fully covers the necessary information: what is listed and how the source parameter behaves. No additional explanation of return values is needed because the output schema exists.

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

Parameters5/5

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

The schema provides only a parameter name and default with no description (coverage 0%). The description fully compensates by explaining that `source` can be 'live' (open model, default) or 'pbip' (TMDL files), covering all possible values and their meanings.

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

Purpose5/5

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

The description clearly states the verb ('Lista' = lists) and the resource ('tablas' = tables) along with specific details (columns, types, visibility, counts). This distinguishes it from sibling tools that list other entities like relationships or measures.

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

Usage Guidelines4/5

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

The description provides clear context on what the tool does, but does not explicitly mention when to use it instead of alternatives. However, the specific purpose of listing tables with metadata is enough for the agent to infer appropriate usage, so it qualifies as 'clear context, no exclusions'.

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

pbi_list_visualsA

Lista los visuales de una pagina: id, tipo, posicion, campos, titulo.

page: id interno o nombre visible de la pagina.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the output fields but does not explicitly confirm the operation is read-only, how invalid pages are handled, or any limitations on the number of visuals returned. This leaves important behavioral aspects undisclosed.

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

Conciseness5/5

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

The description is highly concise: one sentence for the tool's purpose and output fields, and one sentence for the parameter explanation. Every word earns its place, and the format is front-loaded.

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

Completeness3/5

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

Given the simple signature (one parameter) and the presence of an output schema, the description doesn't need to explain return values. However, it lacks usage context and behavioral details, which slightly undermines completeness. It is minimally adequate for a straightforward list tool.

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

Parameters4/5

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

The description adds meaningful context for the single `page` parameter by explaining it accepts an internal ID or visible page name. This goes beyond the bare schema title 'Page' and compensates for the 0% schema description coverage.

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

Purpose5/5

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

The description clearly states it lists the visuals of a page and enumerates the output fields (id, type, position, fields, title). This specific verb+resource structure distinguishes it from siblings like pbi_get_visual (which likely retrieves a single visual) and pbi_list_report_pages (which lists pages).

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as pbi_get_visual or pbi_get_visual. The description only explains what the tool does, without mentioning appropriate scenarios, prerequisites, or exclusions.

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

pbi_measure_dependenciesA

De que depende una medida y quien depende de ella.

Devuelve dependencias directas (medidas, columnas y referencias ROTAS), el cierre transitivo sobre medidas hasta depth, y la lista de medidas que la usan. Analisis lexico: detecta referencias escritas, no las construidas dinamicamente.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
depthNo
sourceNolive

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

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 explains what the tool returns (direct dependencies, broken references, transitive closure, and dependent measures) and discloses a key limitation (lexical analysis cannot detect dynamically constructed references). This is substantial transparency, though it doesn't discuss side effects or permissions, which are likely irrelevant for a read-only analysis tool.

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

Conciseness4/5

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

The description is concise, with two sentences that serve complementary roles: the first summarizes the tool's purpose, the second details outputs and limitations. It is slightly redundant but well-structured and front-loaded.

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

Completeness4/5

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

Given the complexity of dependency analysis and the presence of an output schema, the description adequately covers the tool's main behaviors, including return types and a limitation. It does not explain the `source` parameter, but the core functionality is well described. The output schema likely fills in return details.

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

Parameters3/5

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

The schema description coverage is 0%, so the description must compensate. It explains the meaning of `depth` (transitive closure limit) but does not explain `name` (obvious) or `source` (ambiguous). This partial coverage leaves a gap, but the most complex parameter is clarified.

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

Purpose5/5

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

The description clearly states the tool's purpose: it shows what a measure depends on and what depends on it. It specifies the exact resource (measure dependencies) and distinguishes it from sibling pbi_column_dependencies by explicitly mentioning measures. The verb 'Devuelve' (returns) is specific.

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

Usage Guidelines4/5

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

The description gives clear context on when to use the tool: for analyzing measure dependencies, including direct and transitive dependencies. It also notes a limitation (lexical analysis only, not dynamic references), which implies when not to rely on it. However, it does not explicitly mention alternative tools like pbi_column_dependencies.

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

pbi_model_summaryA

Resumen compacto del modelo, pensado para leerlo de un vistazo.

Conteos, tablas con su tamano, medidas por tabla, columnas calculadas, tablas desconectadas, relaciones bidireccionales y referencias rotas. Es la primera tool que conviene llamar para orientarse en un modelo. source: 'live' (Desktop abierto) o 'pbip' (archivos TMDL).

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceNolive

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

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

No annotations are present, so the description carries the full burden. It describes the summary contents and the source parameter values (live/pbip), which is useful. However, it doesn't explicitly state that the tool is read-only, nor does it mention prerequisites like a selected model or an open Desktop connection beyond the source implication. These gaps could confuse an agent about side effects or required state.

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

Conciseness5/5

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

The description is compact and front-loaded with the purpose. It uses a clear list for content items and a separate line for the parameter, making it easy to scan. Every sentence contributes value with no redundancy.

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

Completeness4/5

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

The output schema exists, so return values don't need to be detailed. The description covers the tool's purpose, content, and the source parameter. However, it omits explicit prerequisites (e.g., the need for a selected model or Desktop state) and potential error conditions, which would make it fully complete. Given the simplicity of the tool, these are minor gaps.

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

Parameters5/5

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

Schema description coverage is 0%, but the description fully compensates by explaining the `source` parameter: '`source`: 'live' (Desktop abierto) o 'pbip' (archivos TMDL).' This clearly defines the two valid values and their meanings, exceeding what the schema alone provides.

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

Purpose5/5

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

The description clearly states it provides a compact model summary and enumerates the specific contents (counts, table sizes, measures per table, calculated columns, disconnected tables, bidirectional relationships, broken references). It distinguishes from siblings by positioning itself as the first tool to call for orientation, which differentiates it from more targeted tools like pbi_list_relationships or pbi_analyze_model_quality.

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

Usage Guidelines4/5

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

It explicitly states 'Es la primera tool que conviene llamar para orientarse en un modelo' (it's the first tool to call to orient in a model), giving clear usage context. It doesn't explicitly name alternatives or say when not to use, but the instruction to use it first provides strong guidance.

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

pbi_normalize_page_layoutA

Corrige lo corregible de una pagina sin reacomodarla entera.

Mete dentro del lienzo lo que se sale, sube al minimo lo demasiado pequeno y respeta los margenes. NO mueve lo que ya esta bien: es una correccion conservadora. dry_run=true devuelve el plan sin escribir.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageYes
dry_runNo
request_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the full disclosure burden. It transparently explains the conservative behavior, specific actions (canvas boundary, margins, sizing), and the dry_run mode which returns a plan without writing. It does not mention reversibility or side effects on existing layout, but the behavioral details are strong for a layout tool.

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

Conciseness5/5

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

The description is concise and well-structured: three short lines covering purpose, behavior, and a key parameter. Every sentence adds value, front-loads the core function, and avoids unnecessary fluff. Excellent for an AI agent to quickly parse.

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

Completeness4/5

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

The tool has a simple parameter set and an output schema, so return values are already documented. The description covers the main purpose, behavioral constraints, and the dry_run option. It lacks prerequisites or explicit use cases, but given the tool's moderate complexity and sibling context, it is reasonably complete for selection and invocation.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for parameter documentation. Only dry_run is described ('dry_run=true devuelve el plan sin escribir'). The required 'page' parameter and 'request_id' are not explained, leaving ambiguity about expected format or purpose. This is a significant gap.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Corrige lo corregible de una pagina sin reacomodarla entera' (fix what can be fixed without rearranging the whole page). It lists specific corrections (bring off-canvas elements in, enlarge too-small items, respect margins) and explicitly differentiates itself as a conservative fix, distinguishing it from siblings like pbi_arrange_visuals.

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

Usage Guidelines4/5

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

The description implies when to use it: for conservative corrections, not full rearrangement ('sin reacomodarla entera'). It also adds an exclusion: 'NO mueve lo que ya esta bien' (doesn't move what's already fine). However, it doesn't explicitly name alternative tools or provide clear 'when not to use' scenarios, so it's slightly below full guidance.

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

pbi_normalize_reportA

Normaliza la geometria de TODAS las paginas del informe.

Mete dentro del lienzo lo que se sale, sube al minimo lo demasiado pequeno y respeta margenes. No reacomoda lo que ya cumple. Compara el puntaje de auditoria antes y despues.

ParametersJSON Schema
NameRequiredDescriptionDefault
dry_runNo
request_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses that the tool modifies geometry, respects margins, leaves compliant elements untouched, and compares audit scores before/after. This is meaningful behavioral context, though it does not mention side effects, reversibility, or the dry_run parameter's effect.

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

Conciseness5/5

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

The description is compact and front-loaded, with the main purpose in the first sentence. Each subsequent sentence adds valuable detail (behavior, constraints, audit comparison) without redundancy or fluff.

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

Completeness3/5

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

The description covers the core behavior well and the output schema exists, so return values need not be explained. However, it omits prerequisites (e.g., that a report must be open) and does not clarify the dry_run/request_id parameters, leaving some context gaps for a 2-parameter tool with no annotations.

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

Parameters1/5

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

The input schema has 0% description coverage for the two parameters (dry_run, request_id), and the description does not mention either parameter. It provides no explanation of what dry_run does (e.g., preview vs. apply) or what request_id is for, leaving the agent without necessary parameter semantics.

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

Purpose5/5

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

The description clearly states the tool's action: 'Normaliza la geometria de TODAS las paginas del informe' (normalizes geometry of ALL pages). It specifies what normalization entails (brings overflow inside canvas, scales up too-small items, respects margins) and distinguishes from the sibling tool pbi_normalize_page_layout by emphasizing 'TODAS las paginas'.

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

Usage Guidelines4/5

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

The description implies usage for full-report normalization and clarifies what it does not do ('No reacomoda lo que ya cumple' - does not rearrange what already complies). However, it does not explicitly name alternative tools or state when not to use this tool, so it stops short of full when/when-not guidance.

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

pbi_open_pbip_projectA

Abre un proyecto .pbip y lo marca como proyecto activo.

Detecta carpetas .SemanticModel (TMDL) y .Report (PBIR) y devuelve un resumen con advertencias (p.ej. si el informe no usa PBIR). path: ruta al archivo .pbip o a su carpeta.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses that the tool marks the project as active (a state change), detects specific folder types, and returns warnings. This goes beyond minimal disclosure by explaining expected behavior and potential warning conditions, though it does not mention whether files are modified or any error handling.

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

Conciseness5/5

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

The description is compact and well-structured: the first sentence states the core action, the second explains what it detects and returns, and the third defines the parameter. Every sentence adds value with no redundancy.

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

Completeness4/5

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 an output schema, the description is relatively complete: it covers purpose, behavior, return summary, and parameter semantics. It lacks context on how 'active project' affects subsequent tools or prerequisites, but given the tool's simplicity, this is a minor gap.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must compensate. It does so by explicitly defining `path` as 'ruta al archivo .pbip o a su carpeta' (path to the .pbip file or its folder), which adds meaningful context beyond the schema's bare 'path' string. This fully clarifies the only parameter.

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

Purpose5/5

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

The description clearly states the tool's function: 'Abre un proyecto .pbip y lo marca como proyecto activo' (opens a .pbip project and marks it as active). It also specifies that it detects .SemanticModel and .Report folders and returns a summary with warnings, distinguishing it from validation or other project tools.

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

Usage Guidelines3/5

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

The description implies the tool is used to open a project and set it as active, but it does not explicitly state when to use it versus alternatives like pbi_validate_pbip_project or pbi_open_in_desktop. There is no mention of exclusions or prerequisites, so guidance is only implied.

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

pbi_page_building_blocksA

Entrega el material para diseniar una hoja: modelo (tablas/medidas/columnas), catalogo de visuales existentes (reutilizables como plantilla), canvas y paginas.

Usa esto ANTES de proponer una hoja: te dice que campos y tipos de visual hay.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It clearly discloses what the tool returns (model, visual catalog, canvas, pages) and the informational value it provides ('te dice que campos y tipos de visual hay'). It does not mention side effects, but the wording strongly implies a read-only information retrieval.

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

Conciseness5/5

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

Two sentences, front-loaded with the main purpose and contents, followed by a usage directive. Every word earns its place; no waste or redundancy.

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

Completeness5/5

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

For a parameterless tool with an output schema, the description provides all necessary context: what it returns (four categories of building-block material) and when to invoke it (before proposing a page). This is sufficient for an agent to select and call it correctly.

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

Parameters4/5

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

The input schema has zero parameters, so the description cannot add meaning beyond the baseline. The description's focus on output content is appropriate for a no-argument tool.

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

Purpose5/5

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

The description uses a specific verb ('Entrega') and clearly identifies the resource: material for designing a page, listing model components, visual catalog, canvas, and pages. It also includes a usage directive ('Usa esto ANTES de proponer una hoja') that distinguishes it from sibling page-creation tools.

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

Usage Guidelines4/5

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

It explicitly states when to use the tool: 'Usa esto ANTES de proponer una hoja', which tells the agent to call it before proposing or creating a page. It does not explicitly list alternatives or exclusions, but the guidance is clear enough for selection among page-related siblings.

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

pbi_plan_audit_fixesA

Planifica correcciones para reglas CONCRETAS. No escribe nada.

No existe "arreglar todo": hay que indicar rules explicitamente. objects acota mas todavia (ids de visual o de pagina). Devuelve las acciones exactas que se aplicarian, con su motivo.

ParametersJSON Schema
NameRequiredDescriptionDefault
rulesYes
objectsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description compensates by disclosing the non-destructive nature ('No escribe nada'), the requirement for explicit rules, the scoping effect of objects, and the nature of the return value (exact actions with reasons). It doesn't cover edge cases like invalid rules or prerequisites, but the primary behavioral traits are covered.

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

Conciseness5/5

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

The description is compact and front-loaded with the main purpose, followed by key constraints and return behavior. Each sentence adds meaningful information without redundancy or fluff.

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

Completeness5/5

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

Given the tool's moderate complexity (two parameters, output schema available), the description adequately covers what the tool does, its non-writing behavior, required inputs, and expected output. It is complete enough for an agent to decide when and how to use it.

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

Parameters4/5

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

Schema description coverage is 0%, yet the description provides essential meaning for both parameters: `rules` must be explicitly provided because there is no 'fix everything', and `objects` further narrows the scope to visual or page IDs. This goes beyond the raw schema but does not detail string formats or rule name conventions.

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

Purpose5/5

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

The description clearly states that the tool 'plans fixes for specific rules' and explicitly says 'it doesn't write anything,' which distinguishes it from applying fixes. It identifies the resource (audit fixes) and scopes its purpose to concrete rules rather than a broad 'fix all' action.

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

Usage Guidelines4/5

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

It explicitly explains that 'there is no fix everything' and that `rules` must be specified, while `objects` is optional and narrows the scope to visual or page IDs. Although it doesn't name alternative tools, the statement that it does not write anything clearly implies a planning-only role versus applying changes.

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

pbi_plan_changeA

Calcula un PLAN sin aplicar nada, y devuelve un plan_token.

operation: una de las que lista pbi_capabilities en planned_operations. arguments: los mismos que aceptaria la tool.

El plan incluye el diff por archivo y una huella del estado sobre el que se calculo. Si el proyecto cambia despues, pbi_apply_plan lo rechaza.

ParametersJSON Schema
NameRequiredDescriptionDefault
argumentsYes
operationYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses that the tool does not apply anything (non-destructive), returns a plan_token, includes a per-file diff and a state fingerprint, and that pbi_apply_plan will reject if the project changes. This is valuable behavioral context beyond what an annotation would provide, though it omits error conditions and permissions.

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

Conciseness5/5

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

The description is concise and front-loaded: the first sentence states the core purpose. Subsequent sentences add essential parameter guidance and behavioral details without redundancy. Every sentence earns its place, and the structure is easy to scan.

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

Completeness4/5

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

Given the tool's moderate complexity (2 params, nested object, output schema), the description covers the essential behavior, parameter sources, and the relationship to pbi_apply_plan. It does not detail the output schema, but that is covered by the output schema itself. It could mention prerequisites like an open project, but the sibling context and this description are sufficient for correct use.

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

Parameters4/5

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

The schema has 0% description coverage, but the description compensates by explaining 'operation' as one of the values from pbi_capabilities' planned_operations, and 'arguments' as the same arguments the operation's tool would accept. This adds meaning beyond the bare property names, though it stops short of providing concrete examples or a full enumeration.

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

Purpose5/5

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

The description clearly states the tool 'Calcula un PLAN sin aplicar nada' (calculates a plan without applying anything) and returns a 'plan_token', which is a specific verb and resource. It distinguishes itself from the sibling pbi_apply_plan by explicitly noting it does not apply changes, and from other planning tools by being general-purpose (not just audit fixes).

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

Usage Guidelines4/5

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

The description explains the operation parameter comes from pbi_capabilities' 'planned_operations', and that arguments are the same as those for the underlying tool. It also states the plan becomes invalid if the project changes, implying it should be used before pbi_apply_plan. This provides clear context for when to use it, though it doesn't explicitly mention alternatives or exclusions.

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

pbi_prepare_deliveryA

Checklist de pre-entrega con plan de correccion.

Audita el proyecto, produce un checklist de bloqueantes y propone las correcciones automaticas disponibles. Con dry_run=false las aplica y compara el puntaje antes y despues.

ParametersJSON Schema
NameRequiredDescriptionDefault
dry_runNo
request_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses the main behavioral traits: audit, produce checklist, propose corrections, and with dry_run=false, apply them and compare scores. It also implies a write operation when dry_run is false. It does not discuss side effects or reversibility, but it provides a solid behavioral overview.

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

Conciseness5/5

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

The description is concise and efficiently structured. It opens with a one-line summary, followed by a two-sentence expansion that details the workflow. Every sentence serves a purpose with no redundancy.

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

Completeness4/5

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

The description provides a full workflow overview, including optional application of fixes and score comparison. The presence of an output schema likely covers return values, but the description lacks explicit prerequisites (e.g., requiring an open project), which is a minor gap given the tool's complexity.

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

Parameters3/5

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

The description explains the dry_run parameter's effect ('Con dry_run=false las aplica'), adding meaning beyond the schema. However, request_id is not mentioned at all, and with 0% schema coverage, the description only partially compensates for the missing parameter semantics.

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

Purpose5/5

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

The description clearly defines the tool's purpose: it audits the project, produces a blocker checklist, and proposes or applies automatic corrections depending on the dry_run flag. This specific workflow distinguishes it from sibling tools like pbi_plan_audit_fixes and pbi_apply_audit_fixes, which are more granular.

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

Usage Guidelines4/5

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

The description establishes clear usage context: this is a pre-delivery checklist tool that can optionally apply fixes. However, it does not explicitly mention when to use this tool versus the separate audit/plan/apply tools, nor does it state exclusions, so it lacks explicit alternatives.

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

pbi_preview_page_specB

Maqueta HTML del spec con las posiciones FINALES. No escribe al .pbip.

Lo que muestra el preview es exactamente lo que se escribiria: tipos, titulos, campos, tamanos y posiciones salen del mismo compilado que usa la aplicacion.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNo
specYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations provided, the description carries the burden of disclosing side effects. It explicitly states the tool does not write to the .pbip, establishing it as non-destructive. It also adds that the preview uses the same compiled output as the application, promising fidelity. However, it does not mention potential side effects like file creation, output format, or required project state, leaving some behavioral gaps.

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

Conciseness4/5

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

The description is compact, with the main purpose in the first sentence and added context in the second. It avoids fluff and is easy to scan. Minor deduction for the second paragraph being slightly verbose in explaining fidelity, but overall it earns its place.

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

Completeness3/5

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

Given the tool has nested object parameters and an output schema, the description provides enough to understand the high-level function and that it's non-destructive. However, it lacks context on what the output HTML looks like, how 'seed' fits in, and when to use this preview versus the many related siblings (e.g., pbi_preview_spec_html). This leaves the agent uncertain about operational details.

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

Parameters2/5

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

Schema description coverage is 0%, and the description offers no explanation of the 'spec' or 'seed' parameters. The word 'spec' is repeated but not elaborated; 'seed' is entirely undocumented. The description fails to compensate for the lack of schema-level detail, making it hard for an agent to know what values to supply.

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

Purpose4/5

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

The description clearly states the tool generates an HTML mockup of a page spec with final positions, and explicitly notes it does not write to the .pbip file. This gives a clear verb (mockup/preview) and resource (page spec). However, it does not distinguish from the sibling tool 'pbi_preview_spec_html', which likely serves a similar purpose, so there is slight ambiguity.

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

Usage Guidelines3/5

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

The phrase 'No escribe al .pbip' implies this tool is for safe previewing before committing changes, and the second paragraph emphasizes the preview reflects exactly what would be written. However, there is no explicit guidance on when to use this versus alternatives like pbi_apply_page_spec or pbi_preview_spec_html, nor any prerequisite or workflow context.

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

pbi_preview_spec_htmlA

Genera una MAQUETA HTML de una hoja propuesta (sin escribir nada al .pbip).

spec: {page_name, canvas?, layout?, visuals:[{type,title,fields,position?}]}. Devuelve la ruta del HTML (abrelo en el navegador para revisar el diseno).

ParametersJSON Schema
NameRequiredDescriptionDefault
specYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It explicitly guarantees non-modification of the .pbip, specifies the return value (HTML path), and shows the expected spec structure. It does not mention error handling or prerequisites, but the key safety and output behaviors are clearly disclosed.

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

Conciseness5/5

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

The description is exceptionally concise: two sentences plus a spec template. It front-loads the primary purpose and includes the necessary structural detail without any fluff or redundancy.

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

Completeness4/5

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

For a single-parameter preview tool, the description covers the purpose, the spec format, and the output (HTML path). An output schema exists to handle detailed return structure. It lacks some context on prerequisites or edge cases, but the core information needed to use the tool effectively is present.

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

Parameters4/5

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

The input schema only defines 'spec' as a generic object with 0% description coverage. The description compensates by providing a concrete template: `{page_name, canvas?, layout?, visuals:[{type,title,fields,position?}]}`, adding meaningful structural detail that is absent from the schema.

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

Purpose5/5

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

The description clearly states it generates an HTML mockup of a proposed page and explicitly notes it does not write anything to the .pbip file, distinguishing it from creation or application tools. The verb 'Genera' plus the specific resource 'MAQUETA HTML de una hoja propuesta' is precise and unambiguous.

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

Usage Guidelines4/5

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

The description conveys a clear use case: previewing a proposed page design as HTML in a browser without altering the project. However, it does not explicitly reference alternatives like pbi_preview_page_spec or pbi_apply_page_spec, nor does it provide exclusions for when not to use this tool.

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

pbi_purge_backupsA

Aplica la politica de retencion a los backups. DESTRUCTIVA.

Sin confirm devuelve el MANIFIESTO de lo que se eliminaria, sin tocar nada. Solo se borran directorios de journal reconocibles (con su manifest.json) dentro de la carpeta de backups del proyecto activo: nunca un archivo suelto, ni un enlace simbolico, ni una raiz amplia.

Se conserva siempre el journal mas reciente y TODOS los pendientes: un journal pendiente guarda los unicos originales de una transaccion que no llego a cerrarse.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
confirmNo
request_idNo
max_journalsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It excels by explicitly stating the destructive nature, the dry-run safety behavior, the exact types of directories deleted (with manifest.json), and the preservation of recent and pending journals. It also mentions exclusions like loose files, symlinks, and broad roots. This is exemplary transparency.

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

Conciseness5/5

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

The description is three sentences long and efficiently front-loaded with the core purpose and destructive warning. Every sentence adds value: purpose, dry-run behavior, and safety constraints. There is no fluff or repetition, achieving maximum signal density.

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

Completeness4/5

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

Given the tool is destructive and has an output schema, the description covers the essential context: what is deleted, what is preserved, and how to preview via dry-run. It is complete enough for an agent to invoke safely. However, it does not detail the output manifest structure or the exact role of all parameters, though the output schema partially compensates for the former.

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

Parameters3/5

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

The schema has 0% description coverage, so the description must compensate. It directly explains the 'confirm' parameter (dry-run vs. actual deletion) and implies the purposes of 'days' and 'max_journals' through the concept of retention policy. However, it does not explain 'request_id' nor the precise interaction between 'days' and 'max_journals', leaving some parameter semantics unclear.

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

Purpose5/5

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

The description clearly states the tool 'Applies retention policy to backups' and marks itself as 'DESTRUCTIVE'. It specifies the resource (backup journal directories) and the action (purge/delete), distinguishing it from sibling tools like pbi_backup_pbip_project (creating backups) and pbi_inspect_journal (inspecting journals). The scope is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use the tool: applying retention policies to clean up old backups. It also gives important usage guidance by explaining the dry-run mode without 'confirm' and the constraints on what is deleted. However, it does not explicitly name alternative tools or say when not to use it, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pbi_recover_from_journalA

Restaura los originales guardados en un journal. DESTRUCTIVA.

Sin confirm devuelve la VISTA PREVIA: que archivos se restaurarian, cual es su estado actual y si alguien los cambio despues.

Estados: recoverable, recovered, conflict, incomplete, corrupted. Si un archivo cambio despues de la transaccion, se rechaza con recovery_conflict en vez de pisar ese trabajo; force_conflict lo aplica de todas formas.

Cada archivo se verifica byte a byte tras restaurarlo, y se recrean los directorios padre que hubieran desaparecido.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
journalYes
request_idNo
force_conflictNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral burden. It discloses destructive behavior upfront, details conflict handling and the `recovery_conflict` rejection, notes byte-by-byte verification after restoration, and mentions recreation of missing parent directories. This is exceptionally thorough.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: purpose and warning, preview behavior, statuses and conflict handling, and post-restoration checks. Each paragraph contributes distinct information with no redundancy, and the destructive warning is placed prominently at the start.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive and complex tool, the description covers preview, conflict scenarios, verification, and directory restoration thoroughly. An output schema exists to document return values, but the lack of details about the required `journal` parameter format and the optional `request_id` parameter prevents full completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It does explain `confirm` and `force_conflict` well, but `journal` is only referenced generically and `request_id` is never mentioned, leaving two of four parameters under-specified. The added meaning is useful but incomplete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Restaura los originales guardados en un journal' (Restores the originals saved in a journal) and explicitly marks the operation as DESTRUCTIVA. This clearly identifies the tool's verb, resource, and destructive nature, distinguishing it from inspection tools like pbi_inspect_journal and pbi_list_pending_journals.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explains the preview-first workflow: without `confirm` it shows what would be restored, and with `confirm` it executes. It also explains when `force_conflict` should be used to override conflicts. However, it does not explicitly name alternative tools or state when not to use this tool, so it stops short of a perfect score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pbi_refresh_modelA

Refresca el modelo LOCAL abierto en Power BI Desktop (no el Service).

type: full | calculate | clear_values (tambien automatic | data_only). tables: lista opcional de tablas a refrescar; si se omite, todo el modelo. Devuelve estado y duracion. Los errores de credenciales/origen se reportan.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNofull
tablesNo
request_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and discloses useful behavioral details: it returns status and duration, reports credential/source errors, and scopes to the open local model. It does not, however, mention potential side effects on unsaved data or prerequisites beyond 'open', so it stops short of full transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, with a clear front-loaded purpose followed by two shorthand style lines for parameters and return behavior. Every sentence carries useful information, with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema, return values need not be detailed, and the description covers core aspects: local scope, refresh types, optional tables, and error reporting. However, it leaves the 'request_id' parameter unexplained and does not elaborate on the exact meaning of all refresh types (e.g., 'automatic', 'data_only'), which is a moderate gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaning for the 'type' parameter by listing allowed values (full, calculate, clear_values, automatic, data_only) and for 'tables' by explaining its optional list semantics. However, the 'request_id' parameter is not mentioned at all, and with 0% schema description coverage, this omission leaves a parameter unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool refreshes the local model open in Power BI Desktop, explicitly distinguishing it from the Service. The verb 'refresh' and the resource 'local model' are specific, and the scope (local vs. Service) differentiates it from potential siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'modelo LOCAL abierto en Power BI Desktop (no el Service)', providing clear context on when to use the tool. It also outlines the accepted types and optional tables, but does not explicitly name alternatives or provide a detailed when-not-to-use beyond the Service distinction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pbi_rename_pageB

Cambia el nombre visible de una pagina. El id interno no cambia.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageYes
new_nameYes
request_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full transparency burden. It discloses one meaningful behavioral trait (the internal ID does not change), which helps agents understand side effects, but it omits other relevant details like whether the rename affects references, permissions, or error scenarios.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the key action and the important caveat. No unnecessary words or repetition; every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple, and an output schema exists, so return values are covered. However, the description lacks usage context, parameter details, and any mention of prerequisites or side effects beyond the internal ID note. It is minimally adequate for a rename but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not clearly map parameters to their meanings. It implies 'page' and 'new_name' are the page identifier and new visible name, but it does not specify the format of 'page' (e.g., ID or name) and completely ignores 'request_id'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Cambia el nombre visible de una pagina') with a specific resource (page) and result (visible name change). It distinguishes from sibling page operations by focusing on rename via the explicit verb and the added note about internal ID preservation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives like pbi_duplicate_page or pbi_reorder_pages. The description implies usage for renaming but offers no context, prerequisites, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pbi_reorder_pagesA

Fija el orden de las paginas del informe.

Acepta ids o nombres visibles. Las paginas que no menciones quedan al final, conservando su orden relativo.

ParametersJSON Schema
NameRequiredDescriptionDefault
orderYes
request_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description discloses two key behaviors: it accepts IDs or visible names, and unmentioned pages retain their relative order at the end. This adds important operational context beyond a generic reorder, though it omits error handling, persistence, or other 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the main action, and every word contributes. No redundancy or bloat.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity, the description covers core semantics and an output schema handles return details. It could state project/session prerequisites, but the essential behavior for reordering is sufficiently explained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema only defines 'order' as an array of strings with no description. The description adds meaning by stating it accepts IDs or visible names, clarifying the value format of the primary parameter. 'request_id' is left unexplained, but it's likely a standard tracing field.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Fija el orden de las paginas del informe' (sets the order of report pages). It distinguishes from sibling page tools (duplicate, delete, rename) by focusing on ordering and explicitly noting that it accepts IDs or visible names.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for reordering pages and provides a behavioral rule about unmentioned pages, but it does not explicitly state when to prefer this over alternatives or exclude other scenarios. No mention of prerequisites like opening a project or session.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pbi_repair_broken_referencesA

Detecta referencias rotas en los visuales y las repara.

Sin mapping solo diagnostica: adivinar a que campo queria apuntar un visual roto no es una decision que deba tomarse sola. Pasa {"Tabla[Viejo]": "Tabla[Nuevo]"} para repararlas, y el destino se valida contra el modelo antes de escribir.

ParametersJSON Schema
NameRequiredDescriptionDefault
dry_runNo
mappingNo
request_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral disclosure burden. It clearly indicates that without mapping the tool is diagnostic, and with mapping it performs a write operation, validating the destination against the model before writing. This discloses the mutation and safety behavior, though it does not mention the effect of the dry_run parameter on whether writes occur.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is only two sentences, front-loaded with the purpose, followed by a concise explanation of the two modes. Every sentence adds value, and the example is embedded naturally without verbosity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the core functionality well: the dual diagnostic/repair mode, validation behavior, and mapping format. With an output schema present, return values need not be explained. However, the dry_run and request_id parameters are left unexplained, and the description does not mention prerequisites like an open project or model, which are relevant for a repair operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaningful context for the mapping parameter with a concrete JSON example: 'Pasa {"Tabla[Viejo]": "Tabla[Nuevo]"} para repararlas'. However, it does not explain dry_run or request_id, and schema description coverage is 0%, so these parameters remain opaque. The example helps but does not fully compensate for the lack of parameter explanations.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Detecta referencias rotas en los visuales y las repara' (detects and repairs broken references in visuals), with a specific verb and resource. This distinguishes it from sibling tools like pbi_replace_visual_field, which focuses on field replacement, and pbi_apply_audit_fixes, which is broader.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage modes: without 'mapping' it only diagnoses, and with 'mapping' it repairs. It even warns that guessing the target field is not a decision to make alone, implying that mapping should be provided for repairs. However, it does not compare directly to alternative tools or state when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pbi_replace_visual_fieldA

Sustituye una referencia de campo dentro de un visual.

old_ref/new_ref: 'Tabla[Campo]' o '[Medida]'. Trabaja sobre las proyecciones existentes; no crea roles nuevos. Falla si el visual no referencia old_ref, en vez de no hacer nada en silencio.

El destino se valida contra el modelo antes de escribir: si no existe, es ambiguo o es de otro tipo (medida donde va una columna), se rechaza con field_not_found en lugar de inventarlo.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageYes
new_refYes
old_refYes
visual_idYes
request_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, but the description discloses failure behavior (fails if visual does not reference old_ref), validation against the model, and the field_not_found error condition. This gives the agent a clear model of what happens during execution.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, with technical details in a structured format using backticks and line breaks. Each sentence provides distinct information: main action, parameter format, behavior on missing reference, and validation/or error.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations and 0% schema coverage, the description covers key behavioral aspects including error handling and model validation. The output schema handles return value documentation. The only missing detail is prerequisites about page/visual existence, but that is not critical given the clear behavior described.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description explains the format and semantics of old_ref and new_ref ('Tabla[Campo]' or '[Medida]'), and the validation rules for the destination. It does not describe page, visual_id, or request_id, but these are self-explanatory from their names. Since schema coverage is 0%, this partial compensation is valuable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific verb 'Sustituye' and resource 'una referencia de campo dentro de un visual', making it distinct from sibling visual manipulation tools. No ambiguity about the tool's function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides context that it works on existing projections and does not create new roles, implying when not to use it. However, it does not explicitly name alternative tools or provide a direct when-to-use statement, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pbi_report_capabilitiesA

Version PBIR observada, tema, custom visuals y tipos clonables.

Solo se pueden crear visuales de tipos ya presentes en el informe: se clona una estructura real en vez de inventarla. Esta tool dice cuales hay disponibles antes de intentarlo.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses the tool's read-only nature implicitly by listing informational outputs and explains the underlying constraint about cloning. It could mention side effects explicitly, but it is a non-mutating tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is succinct, front-loaded with the key outputs, and every sentence adds value. No irrelevant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple informational tool with an output schema, the description covers the purpose and the main use case. It doesn't detail the output structure, but the schema exists, so this is acceptable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so with schema coverage at 100%, the description doesn't need to explain parameters. It adds context about the returned data, which is sufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool reports the PBIR version, theme, custom visuals, and clonable types, and explicitly distinguishes its purpose by explaining that it identifies which visual types are available for cloning, which sets it apart from generic reporting tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage context by stating that only existing visual types can be created and this tool should be used before attempting to create visuals. It does not list alternative tools, but the guidance is contextually clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pbi_run_daxA

Ejecuta una consulta DAX de SOLO LECTURA contra el modelo activo.

Solo se admiten formas reconocidas: EVALUATE, DEFINE...EVALUATE y DMVs de $SYSTEM. Cualquier otra cosa se rechaza (politica fail-closed).

max_rows: limite de filas. max_bytes: tope de tamano del resultado, para no devolver megas al cliente. timeout_seconds: timeout del comando. export=true vuelca el resultado completo a outputs/ y devuelve la ruta.

Devuelve columnas, tipos observados, filas, estadisticas de ejecucion y si se trunco (y por que: filas o tamano). Los errores DAX del motor se devuelven tal cual.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
exportNo
max_rowsNo
max_bytesNo
timeout_secondsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description carries the full burden of behavioral disclosure. It explicitly states the read-only nature, the fail-closed policy on supported query forms, the effects of max_rows, max_bytes, timeout_seconds, and the export side effect of dumping to outputs/. It also describes the return content (columns, types, rows, execution stats, truncation reason) and that DAX engine errors are returned as-is. This is thorough transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and information-dense, with no filler sentences. It is front-loaded with the core purpose, followed by constraints, parameter effects, and output summary. Each sentence earns its place, and the structure (separate lines for key sections) aids readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (a DAX query executor with safety limits and export behavior), the description is complete. It covers the accepted query forms, the fail-closed policy, parameter semantics, side effects, and return structure. The presence of an output schema means detailed return format is not required in the description, but it still summarizes it. No significant information is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description compensates fully. It explains the `query` parameter implicitly by specifying accepted forms (EVALUATE etc.), and explicitly defines `max_rows`, `max_bytes`, `timeout_seconds`, and `export=true`. Every parameter in the schema is accounted for, adding meaning beyond the raw type definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description begins with a clear statement of purpose: 'Ejecuta una consulta DAX de SOLO LECTURA contra el modelo activo.' This identifies the specific verb (ejecuta), resource (consulta DAX), and scope (modelo activo), and explicitly marks it as read-only. It distinguishes itself from sibling tools like pbi_search_model or pbi_profile_data, which are not DAX query executors.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use the tool: it accepts only EVALUATE, DEFINE...EVALUATE, and $SYSTEM DMVs, and rejects everything else (fail-closed policy). It clarifies the operational boundary but does not explicitly name alternative tools or say when not to use it in favor of another. Since the tool name is self-explanatory and the constraints are explicit, this is a solid 4 rather than a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pbi_search_modelA

Busca objetos del modelo por nombre (y en el DAX de las medidas).

term: texto a buscar, sin distinguir mayusculas. kinds: filtra por tipo — table, column, measure, hierarchy, role. Para las medidas indica si coincidio el nombre o la expresion.

ParametersJSON Schema
NameRequiredDescriptionDefault
termYes
kindsNo
limitNo
sourceNolive

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Sin anotaciones, la descripción asume la responsabilidad de informar el comportamiento. Aporta detalles útiles como la insensibilidad a mayúsculas, la inclusión del DAX en la búsqueda y la distinción por nombre/expresión. No obstante, no menciona si hay efectos secundarios, permisos requeridos o limitaciones de paginación, aunque por ser una búsqueda se infiere que es de solo lectura.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

La descripción es breve y bien estructurada. La primera línea da el propósito y luego los parámetros en formato de lista, con cada elemento claro y sin información redundante. Toda frase aporta valor.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Existe output schema que cubre la estructura de retorno. La descripción cubre el propósito y dos de cuatro parámetros. Para una herramienta de búsqueda, la falta de explicación sobre 'limit' y 'source' es una brecha significativa, pero el resto es suficiente para un caso típico.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

El esquema tiene 4 parámetros y la cobertura del esquema es 0%. La descripción explica 'term' y 'kinds', pero omite 'limit' y 'source'. Estos dos parámetros quedan sin ninguna guía de uso más allá de sus valores por defecto, lo que deja lagunas sobre cómo controlar el número de resultados o qué significa 'live'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

La descripción especifica claramente la acción (buscar), el recurso (objetos del modelo) y el alcance (por nombre y en el DAX de las medidas). Esto la distingue de herramientas hermanas como list_tables o get_object, que listan todo o recuperan por identificador.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Se entiende cuándo usar la herramienta: para buscar objetos por nombre o por texto en expresiones DAX. El filtro por tipos y la indicación de coincidencia en medidas aportan contexto de uso. Sin embargo, no se mencionan alternativas explícitas ni casos en los que no debería usarse.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pbi_select_modelA

Selecciona el modelo local activo para futuras operaciones.

Si hay un solo modelo abierto no hace falta indicar puerto. Si hay varios, pasa el port (visto en pbi_list_desktop_models).

ParametersJSON Schema
NameRequiredDescriptionDefault
portNo
catalogNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses the persistent side effect of selecting the active local model and explains the conditional port requirement. It does not cover error cases or the catalog parameter, but these are secondary for this simple tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short, front-loaded sentences in Spanish. The first sentence states the core purpose and the second provides the only essential conditional detail. Every phrase contributes.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the main selection behavior and port logic, which is most of what an agent needs for this low-complexity tool. However, it omits any explanation of catalog and does not clarify when to use this over other model-related tools. The presence of an output schema reduces the need for return-value documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides only bare names/defaults with no descriptions. The description adds meaningful semantics for port (optional if a single model, required if multiple, sourced from pbi_list_desktop_models), but it leaves catalog completely unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Selecciona el modelo local activo para futuras operaciones,' which clearly identifies the action and its resource. It is distinguishable from list/open tools, but it does not explicitly contrast with those siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives concrete usage context: port is unnecessary when only one model is open, but required when multiple models exist, and it points to pbi_list_desktop_models for obtaining the port. It does not explicitly say when to choose this tool over alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pbi_session_infoA

Detalle de la sesion: modelo activo, proyecto activo y su frescura.

Distingue una sesion valida de una obsoleta (stale) o de otra que ocupo el mismo puerto (mismatch).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden of behavioral disclosure. It explains the tool's ability to distinguish session states (valid, stale, mismatch), which adds useful context. However, it does not explicitly state that the operation is read-only or whether it has 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences. The first sentence states the main output, and the second adds a relevant behavioral distinction. No fluff or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless tool with an output schema, the description is reasonably complete. It covers the core purpose and key state distinctions. However, it could benefit from a note on when to use it or any prerequisites like an active session, which would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the schema coverage is 100% (trivially). The baseline for 0 params is 4, and the description does not need to add parameter-specific details since there are none.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool provides session details including active model, active project, and freshness. It also distinguishes between valid, stale, and mismatched sessions. However, it lacks a specific verb like 'get' or 'retrieve', making it slightly less explicit than a verb-led description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for checking session state, but it does not explicitly say when to use this tool versus alternatives like pbi_test_connection or pbi_capabilities. No exclusions or alternative tools are mentioned, leaving the context to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pbi_set_column_visibilityA

Oculta o muestra una columna del modelo (p.ej. ocultar columnas de ID).

mode='both' esta temporalmente deshabilitado bajo la politica estricta: 'live' necesita Power BI Desktop abierto y 'pbip' lo necesita cerrado, asi que una sola llamada aplicaria solo uno de los dos destinos. Elige 'live' o 'pbip'.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNolive
tableYes
columnYes
hiddenNo
request_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It discloses that mode='both' is temporarily disabled and explains the live/pbip constraints ('Power BI Desktop abierto/cerrado') and that only one destination would be applied. This is valuable behavioral context beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded with the purpose, then explains the key mode limitation. Three sentences with no fluff, each earning its place. Slightly formal but efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values are not the description's responsibility. It covers the critical operational nuance (mode restrictions) and gives an example use case. It lacks explicit notes on effects on reports or persistence, but for a visibility toggle with output schema, it is sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds significant meaning for the 'mode' parameter (live/pbip/both and their constraints), but does not elaborate on 'table', 'column', 'hidden', or 'request_id'. Given schema coverage is 0%, the description compensates only partially, leaving the other parameters' semantics to their names and defaults.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Oculta o muestra una columna del modelo' (Hides or shows a column), with a concrete example ('ocultar columnas de ID'). It also distinguishes from sibling pbi_hide_columns by explicitly covering both hide and show actions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance on mode selection: mode='both' is disabled, 'live' requires Power BI Desktop open, 'pbip' requires it closed, and instructs to choose 'live' or 'pbip'. This offers clear context for correct usage, though it does not compare directly to alternative tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pbi_set_relationship_directionA

Cambia el filtro cruzado de una relacion.

direction: 'single' (una direccion, recomendado) o 'both' (bidireccional). OJO: cambiar a 'single' puede alterar totales que dependian de la bidireccional; verifica el informe despues.

No confundir direction='both' (bidireccional, valido) con mode='both', que esta temporalmente deshabilitado bajo la politica estricta: 'live' necesita Power BI Desktop abierto y 'pbip' lo necesita cerrado, asi que una sola llamada aplicaria solo uno de los dos destinos.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNolive
to_tableYes
directionNosingle
from_tableYes
request_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral disclosure burden. It successfully discloses that changing to 'single' can affect totals, recommends post-change verification, and explains the disabled mode='both' behavior and the live/pbip destination constraints. It does not mention permissions or exact error handling, but the key side effects are covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the core statement, followed by parameter guidance, a critical warning, and a clarification of a common confusion. Every sentence earns its place; there is no padding or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 5 parameters and an output schema, the description covers the core action, parameter choices, side effects, and an edge case. It does not explain how the relationship is identified or error behavior, but the output schema covers return values, and the essential usage context is present. Slightly more detail on prerequisites would make it complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. It explains the `direction` parameter values ('single' vs 'both') and the `mode` parameter semantics, including the temporary disabling of mode='both' and the live/pbip split. `from_table` and `to_table` are self-explanatory from their names, and `request_id` is a standard field, so the main ambiguous parameters are covered.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Cambia el filtro cruzado de una relacion' (changes the cross-filter of a relationship). This specific verb+resource distinguishes it from sibling tools like pbi_create_relationship or pbi_list_relationships.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context on when to use the tool (changing relationship direction) and provides important caveats: warns about altering totals when switching to 'single' and advises verifying the report. It also clarifies not to confuse direction='both' with mode='both'. However, it does not explicitly name alternative tools or exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pbi_set_visual_titleA

Cambia el titulo de un visual PRESERVANDO su formato (fuente, color).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageYes
titleYes
visual_idYes
request_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It does disclose a key behavior—preserving the visual's format—and implies mutation via 'Cambia'. However, it omits other behavioral details such as required permissions, error handling, or reversibility, leaving the agent to infer from context. This is a moderate level of transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is front-loaded with the core action and emphasizes the key preservation behavior. Every word earns its place, with no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with low complexity and an output schema, the description is minimally sufficient: it states the main purpose and a key constraint. However, it lacks guidance on when to use it relative to other visual-editing tools and does not address prerequisites or side effects, so it is not fully complete for an agent deciding among many sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not elaborate on the parameters. While 'title' is partially explained by the description ('titulo de un visual'), 'page' and 'visual_id' are left to be inferred from their names and sibling tool conventions. The description adds minimal value over the raw schema, and the parameter semantics are under-specified.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Cambia') and resource ('titulo de un visual') and adds a distinguishing behavioral guarantee: preserving format (font, color). This clearly differentiates it from sibling visual-editing tools like pbi_set_visual_z_order or pbi_set_visual_filter, which target different aspects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for use: you would invoke this tool when you need to change a visual's title without affecting its existing formatting. However, it does not explicitly name alternatives or state when NOT to use it, so it stops short of a full 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pbi_set_visual_z_orderA

Fija el orden Z de los visuales de una pagina.

order: ids de MENOR a MAYOR z; el ultimo queda encima. Los visuales que no menciones se colocan por encima, conservando su orden relativo.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageYes
orderYes
request_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It reveals a critical non-obvious behavior: visuals not listed in the order are placed on top while preserving their relative order. This goes beyond the schema and gives the agent important expectations about the tool's effect, although it does not mention 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded. The main purpose is stated in the first sentence, and the second sentence efficiently explains the ordering behavior. No redundant or unnecessary words are present, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's relative simplicity (three parameters) and the presence of an output schema, the description covers the essential behavioral context: what the tool does and how the main parameter works. It could be more complete by explaining the 'page' parameter or noting any side effects, but for a layout operation it provides sufficient guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It thoroughly explains the 'order' parameter, including directionality and the behavior of unlisted items. However, it does not describe 'page' (required) or 'request_id', leaving those semantics to inference. The explanation of the critical parameter adds significant value, but the missing coverage for other parameters keeps this score moderate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Fija el orden Z de los visuales de una pagina' (sets the Z-order of visuals on a page). This is a specific verb and resource, and it distinguishes itself from sibling tools like pbi_arrange_visuals or pbi_update_visual_position, which deal with spatial positioning rather than stacking order.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on how to use the tool by explaining the ordering semantics: order ids from lowest to highest Z, with the last one on top, and unmentioned visuals placed above. It does not explicitly mention alternatives or exclusions, but the usage context is unambiguous and helpful for correct invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pbi_test_connectionA

Valida la conexion al modelo activo con una consulta trivial.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of disclosure. It conveys the core behavior (executing a trivial query to validate connection) and implies a non-destructive, lightweight operation. However, it does not mention prerequisites like requiring an active model, potential failure modes, or whether the operation is read-only.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence in Spanish that clearly states the purpose and method. It is front-loaded and contains no fluff or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (zero parameters), the presence of an output schema, and the straightforward purpose, the description is largely complete. It could add context about when to run this check relative to other tools, but it is sufficient for a simple connection test.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the schema covers 100% of them vacuously. The baseline for 0 params is 4, and the description correctly avoids unnecessary parameter details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Valida') and resource ('conexion al modelo activo') with a clear method ('consulta trivial'). It clearly identifies what the tool does and distinguishes it from siblings like pbi_health_check or pbi_session_info by focusing on connection validation via a trivial query.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage as a quick connection check before other operations, but it does not explicitly state when to use this tool versus alternatives such as pbi_health_check or pbi_session_info. No when-not or alternative guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pbi_update_measureA

Actualiza una medida existente. Lo no especificado se conserva.

mode='both' esta temporalmente deshabilitado bajo la politica estricta: 'live' necesita Power BI Desktop abierto y 'pbip' lo necesita cerrado, asi que una sola llamada aplicaria solo uno de los dos destinos. Elige 'live' o 'pbip'.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNolive
nameYes
tableYes
expressionNo
request_idNo
descriptionNo
format_stringNo
display_folderNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the burden of behavioral disclosure. It reveals that unspecified fields are preserved, which is key for a partial-update tool. It also explains the temporary disabling of mode='both' and the system requirements for each mode (Power BI Desktop open/closed). This adds meaningful context beyond the basic update operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief and well-structured. The first sentence states the core purpose and key behavior (preservation of unspecified fields). The second paragraph focuses on the mode restriction, which is a critical caveat. There is no redundant information, and the text is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's 8 parameters and no annotations, the description covers the essential context: purpose, partial-update behavior, and mode selection. An output schema exists, so return values don't need describing. It could mention potential errors or requirements (e.g., measure must exist), but the description is otherwise adequate for an update operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It does add important meaning for the 'mode' parameter, explaining the allowed values and that 'both' is currently disabled. It also implies that optional parameters (expression, description, format_string, display_folder) are preserved if not provided. However, it doesn't detail each parameter, leaving the schema to carry most of the semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Actualiza una medida existente' (Updates an existing measure), which is a specific verb+resource. It also clarifies 'Lo no especificado se conserva' (anything not specified is preserved), adding detail about partial updates. This clearly distinguishes it from sibling tools like pbi_create_measure and pbi_delete_measure.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description makes it clear this tool is for existing measures ('medida existente'), implying it should not be used for creating new ones. It also provides explicit guidance on choosing between 'live' and 'pbip' modes, including the caveat that 'both' is disabled. However, it doesn't explicitly name alternatives or exclusions beyond the measure existence.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pbi_update_visual_positionC

Mueve/redimensiona un visual existente.

ParametersJSON Schema
NameRequiredDescriptionDefault
xYes
yYes
zNo
pageYes
widthYes
heightYes
visual_idYes
request_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the action (move/resize) without explaining side effects, coordinate system, units, or whether changes are reversible. This is insufficient for a mutation tool, leaving the agent unaware of potential impacts.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that is front-loaded with the core action. It is concise and to the point, though it lacks additional detail. While under-specification is an issue, the structure itself is appropriate and not verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema, the description does not explain return values or behavior. For a tool that modifies visual positioning, more context is needed: coordinate reference, measurement units, and interaction with other visuals. The brief description leaves significant gaps in an agent's understanding of how to use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not compensate. It does not explain the meaning of x, y, width, height, z, page, visual_id, or request_id. The agent must infer units and coordinate origins, which is critical for precise positioning. There is no added value beyond the raw schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Mueve/redimensiona un visual existente' (move/resize an existing visual). This uses a specific verb and resource, distinguishing it from siblings like setting a title or duplicating a visual. However, it doesn't explicitly differentiate from other positioning-related tools like pbi_set_visual_z_order, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It lacks any mention of prerequisites, context, or exclusions. Among siblings like pbi_set_visual_z_order and pbi_align_visuals, an agent would not know when this specific position update is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pbi_validate_generated_pageA

Verifica una pagina YA escrita: referencias rotas y geometria.

Se usa despues de aplicar un spec para comprobar que el resultado es valido de verdad, no solo que la escritura no fallo.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses what the tool checks (broken references, geometry) and clarifies its depth beyond simple write success. However, it does not mention side effects, output behavior, or error handling, leaving some gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short, direct sentences. Front-loaded with the main action and resource, followed by usage context. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is reasonably complete for a validation tool: it states what is validated and when to use it. An output schema exists, so return values are covered. However, the missing parameter explanation is a notable gap in overall context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'page' has 0% schema description coverage, and the description does not explain what 'page' refers to (e.g., name, ID, or reference). This leaves the agent without enough information to correctly provide the parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: verify an already-written page for broken references and geometry. It distinguishes this from related tools like pbi_validate_page_spec by emphasizing 'YA escrita' (already written) and the post-spec usage context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use it: after applying a spec, to validate the actual result beyond just write success. It does not name alternative tools but the timing guidance is clear. Slight deduction for not explicitly saying 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.

pbi_validate_measuresA

Valida DAX de medidas SIN modificar el modelo (dry-run con DEFINE MEASURE).

Ideal para probar medidas ANTES de crearlas con pbi_create_measure. measures: lista de {"name","dax","table"(opcional)}. Las medidas pueden referenciarse entre si. Devuelve por cada una: valid, value (muestra) y error.

ParametersJSON Schema
NameRequiredDescriptionDefault
measuresYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses the key behavioral trait: 'SIN modificar el modelo (dry-run con DEFINE MEASURE)' ensures no model mutation. It also describes the return format: 'Devuelve por cada una: valid, value (muestra) y error' (returns for each: valid, sample value, and error), providing transparency about outputs. The ability for measures to reference each other is also noted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, three sentences, with no redundant information. It front-loads the core purpose, then gives usage context, parameter format, and return behavior. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter tool with an output schema, this description is complete. It covers what the tool does, when to use it, the parameter structure, behavior (no modification), and return details. No significant gaps remain for a validation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. It explains the `measures` parameter as 'lista de {"name","dax","table"(opcional)}' and adds that measures can reference each other. This gives clear meaning to the otherwise opaque schema, specifying the structure and optional fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Valida DAX de medidas SIN modificar el modelo' (validates DAX of measures without modifying the model). It specifies the action (validate), resource (DAX measures), and scope (dry-run with DEFINE MEASURE), distinguishing it from sibling tools like pbi_create_measure (which creates measures) and pbi_run_dax (which runs arbitrary DAX).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly indicates when to use this tool: 'Ideal para probar medidas ANTES de crearlas con pbi_create_measure' (ideal for testing measures BEFORE creating them with pbi_create_measure). This names the alternative tool and provides a clear use case, effectively guiding selection among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pbi_validate_page_specA

Valida un spec: esquema, referencias contra el modelo y geometria.

Los errores traen su JSON path ($.visuals[2].fields.values[0]) para que se puedan corregir sin adivinar. No escribe nada.

ParametersJSON Schema
NameRequiredDescriptionDefault
specYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the safety burden and explicitly states 'No escribe nada' (does not write), disclosing the read-only nature. It also adds behavioral context that errors include JSON paths for easy correction. While it does not cover all possible side effects or prerequisites, the provided transparency exceeds the typical baseline.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: purpose first, then error-path behavior, then a critical safety note. Every sentence adds distinct value without repetition or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values are covered elsewhere. The description includes the essential non-writing guarantee and error reporting, but misses usage context (when to call before/after other tools) and does not mention dependencies like an active model or project. Overall adequate but with notable gaps for a validation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It clarifies what the spec parameter is validated against (schema, model references, geometry), giving semantic meaning beyond the bare 'spec' object in the schema. However, it does not explain the expected structure or format of the spec object, leaving room for ambiguity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the specific verb 'Valida' and the resource 'spec', adding concrete details: schema validation, references against the model, and geometry. This differentiates it from siblings like pbi_validate_pbip_project or pbi_validate_tmdl, which target different artifacts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like pbi_preview_page_spec or pbi_apply_page_spec. The 'No escribe nada' note hints at safe validation but does not explain the intended workflow or prerequisites. Usage context is only implied by the tool's name and validation scope.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pbi_validate_pbip_projectA

Valida a fondo el proyecto .pbip activo (estructura, PBIR, TMDL).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description must carry the full behavioral disclosure. It does not state whether this validation is read-only, what prerequisites exist (e.g., a connected model or open project), or what side effects might occur. The description only lists what is checked, leaving safety and operational behavior unknown.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the action and resource ('Valida a fondo el proyecto .pbip activo') and then adds clarifying details. No wasted words, fully focused.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (0 params) and has an output schema, so return values need not be described. The description covers the core purpose and scope (structure, PBIR, TMDL). However, it lacks any usage context or behavioral caveats, such as what to do with the results or when to choose this over other validators, leaving the completeness just at the minimum viable level.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, and schema description coverage is 100% (vacuously). Per the rubric, a 0-parameter tool receives a baseline of 4. The description adds no parameter details because there are none to explain.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Valida a fondo' = thoroughly validates) on a specific resource ('el proyecto .pbip activo' = the active .pbip project), and further specifies what is validated (structure, PBIR, TMDL). This clearly differentiates it from sibling validation tools like pbi_validate_measures or pbi_validate_page_spec, which target narrower scopes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention that it is the comprehensive project-level validator, nor does it exclude use cases better suited for pbi_health_check, pbi_audit_project, or pbi_validate_measures. The only implied usage is from the tool name and general validation context, which is insufficient.

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.

  1. 90 tool updatesv0.1.0
    • First observedpbi_add_custom_visual
    • First observedpbi_align_visuals
    • First observedpbi_analyze_model_quality
    • First observedpbi_apply_audit_fixes
    • First observedpbi_apply_page_spec
    • First observedpbi_apply_plan
    • First observedpbi_arrange_visuals
    • First observedpbi_audit_model
    • First observedpbi_audit_project
    • First observedpbi_audit_report_only
    • First observedpbi_backup_pbip_project
    • First observedpbi_build_dashboard
    • First observedpbi_build_evm_page
    • First observedpbi_build_executive_page
    • First observedpbi_capabilities
    • First observedpbi_column_dependencies
    • First observedpbi_compare_live_to_pbip
    • First observedpbi_copy_visual_format
    • First observedpbi_create_html_visual
    • First observedpbi_create_measure
    • First observedpbi_create_page_from_spec
    • First observedpbi_create_visual
    • First observedpbi_delete_measure
    • First observedpbi_delete_page
    • First observedpbi_delete_visual
    • First observedpbi_detect_layout_issues
    • First observedpbi_diff_page_spec
    • First observedpbi_disable_auto_date_time
    • First observedpbi_distribute_visuals
    • First observedpbi_document_model
    • First observedpbi_document_report_layout
    • First observedpbi_duplicate_page
    • First observedpbi_duplicate_visual
    • First observedpbi_export_page_html
    • First observedpbi_generate_page_spec
    • First observedpbi_generate_report_page
    • First observedpbi_generate_technical_documentation
    • First observedpbi_get_object
    • First observedpbi_get_visual
    • First observedpbi_health_check
    • First observedpbi_hide_columns
    • First observedpbi_inspect_journal
    • First observedpbi_list_audit_rules
    • First observedpbi_list_autofix_rules
    • First observedpbi_list_desktop_models
    • First observedpbi_list_hierarchies
    • First observedpbi_list_measures
    • First observedpbi_list_page_presets
    • First observedpbi_list_partitions
    • First observedpbi_list_pending_journals
    • First observedpbi_list_perspectives
    • First observedpbi_list_relationships
    • First observedpbi_list_report_pages
    • First observedpbi_list_roles
    • First observedpbi_list_tables
    • First observedpbi_list_visuals
    • First observedpbi_measure_dependencies
    • First observedpbi_model_summary
    • First observedpbi_normalize_page_layout
    • First observedpbi_normalize_report
    • First observedpbi_open_pbip_project
    • First observedpbi_page_building_blocks
    • First observedpbi_plan_audit_fixes
    • First observedpbi_plan_change
    • First observedpbi_prepare_delivery
    • First observedpbi_preview_page_spec
    • First observedpbi_preview_spec_html
    • First observedpbi_purge_backups
    • First observedpbi_recover_from_journal
    • First observedpbi_refresh_model
    • First observedpbi_rename_page
    • First observedpbi_reorder_pages
    • First observedpbi_repair_broken_references
    • First observedpbi_replace_visual_field
    • First observedpbi_report_capabilities
    • First observedpbi_run_dax
    • First observedpbi_search_model
    • First observedpbi_select_model
    • First observedpbi_session_info
    • First observedpbi_set_column_visibility
    • First observedpbi_set_relationship_direction
    • First observedpbi_set_visual_title
    • First observedpbi_set_visual_z_order
    • First observedpbi_test_connection
    • First observedpbi_update_measure
    • First observedpbi_update_visual_position
    • First observedpbi_validate_generated_page
    • First observedpbi_validate_measures
    • First observedpbi_validate_page_spec
    • First observedpbi_validate_pbip_project

TDQS

B3.4/5.0

Scored across 90 tools

Disambiguation3/5

Many tools have clear scopes, but the page spec family contains overlapping members like pbi_create_page_from_spec vs pbi_apply_page_spec and pbi_preview_spec_html vs pbi_preview_page_spec. Additionally, pbi_document_model and pbi_generate_technical_documentation both produce documentation, creating potential misselection.

Naming Consistency5/5

All tools follow a consistent pbi_ prefix with lowercase snake_case, and the vast majority use a verb_noun pattern (list_, create_, update_, delete_, etc.). A few noun-only names such as pbi_capabilities and pbi_health_check are minor deviations but do not break the overall predictability.

Tool Count1/5

With 90 tools, this is far beyond the 25+ threshold, and even exceeds the 50+ extreme mismatch criterion. The sheer number makes selection difficult and suggests the server is trying to cover too many granular operations.

Completeness4/5

The toolset provides extensive coverage across model management, DAX execution, auditing, report layout, page generation, and backup/recovery. Minor gaps exist, such as no direct create/delete table or column operations, but these are workaroundable.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Related MCP Connectors

Related MCP Servers