Skip to main content
Glama
ericalopezfebo

MCP Puerto Rico Sentencias

Investigación jurídica verificable desde Claude, ChatGPT y otros clientes MCP

MCP Puerto Rico — Investigación Jurídica es una plataforma abierta de investigación jurídica de Puerto Rico. El objetivo es localizar y verificar jurisprudencia, legislación, reglamentos, órdenes ejecutivas, decisiones administrativas y actualidad jurídica pública sin convertir al modelo de lenguaje en fuente de autoridad.

Regla central: source-first / zero legal hallucination. Si una autoridad, cita, nombre, número de caso, fecha, página o pasaje no puede verificarse en una fuente identificable, el MCP no debe inventarlo ni rellenarlo.

El repositorio y el paquete Python se llaman mcp-puerto-rico-investigacion-juridica. Los comandos históricos mcp-puerto-rico-sentencias se mantienen como aliases de compatibilidad para instalaciones existentes.

Related MCP server: pr-legislative-x402

Qué cubre

Fuentes primarias oficiales

  • Tribunal Supremo de Puerto Rico — opiniones, sentencias y resoluciones públicas.

  • Tribunal de Apelaciones — determinaciones finales públicas disponibles desde enero de 2015, salvo casos confidenciales.

  • SUTRA / Oficina de Servicios Legislativos — leyes, historial legislativo y relaciones explícitas de enmienda/derogación usadas para verificar vigencia legislativa.

  • Biblioteca Jurídica Virtual del Departamento de Estado — leyes, resoluciones conjuntas, reglamentos, órdenes ejecutivas, decretos y proclamas disponibles públicamente.

  • Junta de Relaciones del Trabajo de Puerto Rico (JRT) — decisiones y órdenes, órdenes administrativas y otros documentos públicos laborales; el MCP ya puede verificar por texto los PDFs gubernamentales descubiertos en esta colección.

Fuentes secundarias públicas de descubrimiento

  • Microjuris Al Día — búsqueda y contenido público para descubrir noticias, cambios y temas recientes.

  • LexJuris — menús públicos de jurisprudencia por año — se usan únicamente como índice secundario de materia/resumen para priorizar candidatos en búsquedas globales de jurisprudencia.

  • CodeXPR — puede utilizarse como índice secundario de descubrimiento cuando el contenido sea público, pero nunca como prueba final de vigencia.

No se accede a productos premium, no se usan credenciales, no se evade ningún paywall y no se replica ninguna base de datos propietaria. Una fuente secundaria nunca sustituye la sentencia, ley, reglamento u otra autoridad primaria correspondiente.

Qué pretende replicar — y qué no

Este proyecto busca reproducir funcionalidad de investigación que normalmente ofrecen plataformas jurídicas comerciales: localizar fuentes, cruzar colecciones, encontrar autoridades relacionadas, extraer pasajes verificables y facilitar investigación temática.

No intenta copiar bases privadas, anotaciones editoriales, headnotes, clasificación propietaria ni contenido protegido de servicios de suscripción. Cuando el documento jurídico original está disponible públicamente, el MCP intenta trabajar directamente con ese original.

Herramientas MCP

Jurisprudencia del Tribunal Supremo — núcleo verificado

  • buscar_mejores_sentenciasherramienta preferida cuando el usuario pide “las mejores”, “más relevantes” o “Top N” decisiones. Ejecuta un loop interno de descubrimiento → verificación oficial → reranking, sin recorrer años del más reciente al más antiguo y sin dar un bono automático por recencia.

  • investigar_sentencias — búsqueda documental por contenido de PDFs oficiales con rango de años explícito.

  • buscar_sentencias — búsqueda temática por palabras/frases y año.

  • buscar_por_cita — verificación exacta de una cita TSPR; no sustituye una cita inexistente por otra parecida.

  • leer_sentencia — lee un documento público y extrae pasajes directamente de la fuente.

Cómo funciona buscar_mejores_sentencias

ARGUMENTO / PREGUNTA
        ↓
CANDIDATOS GLOBALES (1997 → presente)
  índice secundario público: materia/resumen
        ↓
RANKING TEMÁTICO INICIAL
        ↓
VERIFICACIÓN DE LOS MEJORES CANDIDATOS
  cita exacta + PDF oficial Poder Judicial
        ↓
RERANKING POR TEXTO REAL
        ↓
CITATION CHAINING DE TSPR EN PASAJES RELEVANTES
        ↓
NUEVA RONDA
        ↓
TOP-K ESTABLE O PRESUPUESTO AGOTADO

La fecha no suma puntos por sí sola. Una decisión de 2001 puede quedar por encima de una de 2026 si el texto verificado es más pertinente al argumento. El loop vive en Python dentro del MCP; no depende de que Claude decida repetir prompts o búsquedas año por año.

La capa pública de descubrimiento actualmente cubre 1997 en adelante. La herramienta no afirma cobertura exhaustiva de jurisprudencia anterior a 1997. Autoridades más antiguas pueden aparecer si se descubren a través de referencias verificables, pero ampliar esa cobertura histórica sigue pendiente.

Vigencia e historial legislativo

  • construir_historial_legislativo — recibe una ley como Ley 80-1976 y busca automáticamente en el portal público de SUTRA leyes posteriores que la enmienden, deroguen, sustituyan o reenumeren. Cada relación candidata debe confirmarse en la página oficial de detalle de SUTRA antes de entrar al grafo.

  • verificar_vigencia_ley — ejecuta el historial automático y devuelve un estado conservador. Detecta derogaciones o enmiendas explícitas; no convierte la ausencia de resultados en una afirmación de vigencia.

  • verificar_vigencia_legislativa — inspecciona una URL oficial concreta de SUTRA/OSL o Departamento de Estado y extrae señales explícitas sin adivinar.

  • politica_vigencia_fuentes — expone la jerarquía de fuentes y la regla de no usar CodeXPR/LexJuris/Microjuris como prueba final de vigencia.

LEY / ARTÍCULO
     ↓
NORMALIZAR IDENTIFICADOR (ej. Ley 55-2020)
     ↓
BÚSQUEDA PÚBLICA EN SUTRA
     ↓
CANDIDATOS DE LEYES POSTERIORES
     ↓
ABRIR DETALLE OFICIAL DE CADA CANDIDATO
     ↓
EXTRAER RELACIONES EXPLÍCITAS
  ├─ enmienda
  ├─ deroga
  ├─ sustituye
  └─ reenumera
     ↓
GRAFO DE AFECTACIONES
     ↓
ESTADO CONSERVADOR DE VIGENCIA

La ausencia de una derogación en el grafo no equivale a vigente. Para una afirmación positiva de texto vigente todavía debe confirmarse el texto oficial aplicable/consolidado cuando exista.

Investigación jurídica ampliada

  • buscar_mejores_autoridadespunto de entrada preferido para una pregunta que pueda requerir varias clases de autoridad. Coordina el Top-K TSPR verificado con legislación/reglamentos, decisiones administrativas y otras colecciones públicas, manteniendo separados los resultados que todavía solo fueron descubiertos en un índice oficial.

  • leer_autoridad_publica — recupera y lee un documento de una fuente primaria pública autorizada y devuelve pasajes exactos/página cuando están disponibles. No acepta Microjuris como autoridad primaria y no determina automáticamente vigencia, enmiendas o tratamiento posterior.

  • buscar_decisiones_laborales_verificables — explora el índice público de la JRT, prioriza candidatos y lee un lote limitado de PDFs gubernamentales en docs.pr.gov; solo devuelve resultados cuya relevancia temática aparece en el texto fuente.

  • investigar_derecho_pr — punto de entrada multi-fuente histórico. Coordina candidatos del Tribunal Supremo y Tribunal de Apelaciones y orienta hacia fuentes oficiales adicionales.

  • buscar_decisiones_apelaciones — busca determinaciones finales públicas del Tribunal de Apelaciones por año y texto visible en el índice oficial.

  • buscar_biblioteca_juridica — busca enlaces visibles en la Biblioteca Jurídica Virtual del Departamento de Estado.

  • buscar_decisiones_laborales — herramienta histórica de descubrimiento superficial de la JRT; para investigación sustantiva se prefiere buscar_decisiones_laborales_verificables.

  • buscar_actualidad_juridica — busca noticias/análisis públicos de Microjuris Al Día y los marca expresamente como fuente secundaria.

  • catalogo_fuentes_juridicas — muestra las colecciones integradas y su jerarquía.

  • estado_investigacion_juridica — diagnóstico de la capa ampliada.

buscar_mejores_autoridades aplica niveles de verificación. Una autoridad cuyo texto primario fue leído y verificado puede entrar al ranking principal. Un resultado localizado únicamente en un índice o portal oficial se devuelve como candidato_primario_por_verificar y no se presenta como holding, texto estatutario vigente o regla de derecho confirmada. Una noticia pública se mantiene en un tercer nivel secundario de descubrimiento/contexto.

Para consultas de relaciones laborales/colectivas, el orquestador puede activar automáticamente la búsqueda verificada de la JRT. Para una consulta no laboral —por ejemplo, pensión alimenticia— no abre esa colección costosa innecesariamente.

Las herramientas existentes opciones_busqueda y estado continúan disponibles por compatibilidad con la etapa original del proyecto.

Ejemplos

“Tengo un argumento sobre pensión alimenticia. Busca las mejores 5 decisiones del Tribunal Supremo de Puerto Rico que puedan apoyarlo. No favorezcas casos recientes por ser recientes. Para cada resultado dame cita, caso, número, fecha, página, URL oficial y pasaje exacto.”

“Verifica si la Ley 80-1976 y el artículo que quiero citar siguen sin una derogación o enmienda posterior relevante. Construye primero el historial legislativo en SUTRA y no presumas vigencia si la fuente oficial no lo demuestra.”

“Investiga la obligación alimentaria de los padres en Puerto Rico. Dame las mejores autoridades primarias verificables: ley, reglamento aplicable si existe y jurisprudencia. Para cada caso cita la página y el pasaje exacto.”

“Busca decisiones y órdenes verificables de la Junta de Relaciones del Trabajo sobre negociación colectiva y deber de justa representación. Dame el PDF oficial y los pasajes exactos.”

“¿Qué cambió con la doctrina Chevron? Busca primero actualidad jurídica pública para detectar el desarrollo y después identifica la autoridad primaria que realmente cambió la doctrina. No uses el artículo como sustituto de la sentencia.”

“Si solo encuentras tres autoridades verificables, devuelve tres. No completes la lista con casos marginales ni inventados.”

Arquitectura de confianza

PREGUNTA JURÍDICA
        ↓
DETECCIÓN DE MATERIA / TIPO DE AUTORIDAD
        ↓
FUENTES PRIMARIAS OFICIALES
  ├─ Constitución / leyes / SUTRA
  ├─ Reglamentos
  ├─ Tribunal Supremo
  ├─ Tribunal de Apelaciones
  └─ Decisiones administrativas
        ↓
DESCUBRIMIENTO / PRIORIZACIÓN
        ↓
LECTURA DEL DOCUMENTO FUENTE
        ↓
VERIFICACIÓN + VIGENCIA CUANDO APLICA
        ↓
PASAJES + PÁGINA + URL + METADATOS
        ↓
CLAUDE / CHATGPT / OTRO CLIENTE MCP

Las fuentes secundarias públicas se usan como descubrimiento/contexto, no como sustituto de la autoridad primaria.

Taxonomía y datos semilla

El proyecto utiliza una taxonomía de tipo de autoridad → materia → tema específico → fuente → estado de verificación. Un inventario desarrollado para el proyecto legal-agents contiene alrededor de 450 autoridades de derecho administrativo, constitucional y penal, incluyendo TSPR/DPR, decisiones federales, leyes especiales, códigos y reglamentos.

Ese inventario se trata como seed de investigación, no como fuente de verdad. Algunas entradas están expresamente marcadas “Pendiente de verificar” o contienen notas de posible error. Ninguna entrada debe convertirse en autoridad confirmada hasta localizarse en una fuente verificable.

Ver docs/taxonomia-autoridades.md.

Instalación local

Requiere Python 3.10+ y Git.

git clone https://github.com/ericalopezfebo/mcp-puerto-rico-investigacion-juridica.git
cd mcp-puerto-rico-investigacion-juridica
python -m venv .venv
source .venv/bin/activate   # Windows: .venv\Scripts\activate
pip install -e .

Comando principal:

mcp-puerto-rico-investigacion-juridica

Los comandos históricos siguen funcionando:

mcp-puerto-rico-sentencias

Claude Desktop / Cowork

Ejemplo de configuración local:

{
  "mcpServers": {
    "puerto-rico-investigacion-juridica": {
      "command": "/RUTA/AL/REPO/.venv/bin/python",
      "args": ["/RUTA/AL/REPO/mixed_server.py"]
    }
  }
}

En Windows usa .venv\\Scripts\\python.exe.

Claude Code

claude mcp add puerto-rico-investigacion-juridica -- /RUTA/AL/REPO/.venv/bin/python /RUTA/AL/REPO/mixed_server.py

ChatGPT / servidor remoto

El repositorio incluye remote_server.py, Dockerfile y render.yaml. El servidor remoto expone el mismo conjunto de herramientas — incluidas la búsqueda relevance-first, la orquestación multi-fuente y el historial legislativo automático — mediante Streamable HTTP en:

https://TU-DOMINIO/mcp

El CI construye la imagen Docker además de ejecutar los tests/imports, para detectar módulos faltantes antes de publicar cambios. El endpoint de demostración no tiene SLA y un plan gratuito puede sufrir arranque en frío o timeouts.

Integridad jurídica

El MCP debe observar estas reglas:

  1. No inventar autoridades.

  2. No inventar citas, nombres, números de expediente, fechas, páginas o quotations.

  3. Distinguir fuente primaria de secundaria.

  4. Conservar URL y procedencia.

  5. Una coincidencia temática no equivale a holding.

  6. No presentar una noticia como derecho vigente.

  7. No determinar vigencia de una ley/reglamento sin evidencia suficiente.

  8. No interpretar ausencia de derogación detectada como prueba automática de vigencia.

  9. Si la evidencia no alcanza, devolver menos resultados o no_determinada.

  10. No acceder ni intentar eludir contenido de suscripción.

  11. Preferir “no verificado” a una conclusión plausible pero no demostrada.

Estado de cobertura

Colección

Estado

Tribunal Supremo

✅ PDF oficial, cita/página/pasaje + loop relevance-first 1997→presente

Orquestación multi-fuente

✅ Separa ranking verificado de candidatos oficiales pendientes de verificación de contenido

Lector genérico de autoridad primaria

✅ HTML/PDF con pasajes verificables en hosts primarios autorizados

Historial legislativo SUTRA

✅ Grafo automático de enmiendas/derogaciones explícitas con verificación de detalle oficial

Vigencia legislativa positiva

🟡 Conservadora: detecta afectaciones; confirmar texto oficial consolidado sigue siendo requisito para afirmar vigencia positiva

Decisiones administrativas laborales (JRT)

✅ Descubrimiento global acotado + verificación de texto en PDFs gubernamentales

Tribunal de Apelaciones

🟡 Índice oficial y búsqueda inicial; profundización por materia/documento pendiente

Leyes / resoluciones conjuntas

🟡 Portal oficial integrado + historial SUTRA; búsqueda estructurada/texto consolidado pendiente

Reglamentos

🟡 Portal oficial integrado; texto/vigencia/historial pendiente

Órdenes ejecutivas

🟡 Portal oficial integrado

Autoridad federal

⏳ Próxima expansión

Actualidad jurídica pública

🟡 Microjuris Al Día como fuente secundaria

Grafo de citas / tratamiento posterior

🟡 Citation chaining TSPR inicial; tratamiento posterior completo pendiente

Licencia y contenido de terceros

El código de este repositorio se publica bajo licencia MIT. Eso no convierte en MIT los documentos, sitios o contenido de terceros a los que el MCP enlaza o consulta. Cada fuente mantiene sus propios términos, derechos y políticas.

Este proyecto no está afiliado ni respaldado por el Poder Judicial de Puerto Rico, la Oficina de Servicios Legislativos, el Departamento de Estado, la Junta de Relaciones del Trabajo, CodeXPR, LexJuris ni Microjuris.

Aviso

Herramienta de investigación jurídica. No sustituye la revisión profesional de las autoridades, historial, vigencia, tratamiento posterior ni expediente oficial. Antes de presentar una autoridad en un escrito, verifica la fuente primaria y su estado actual.

Available Tools

24 tools
buscar_actualidad_juridicaA

Busca contenido público de Microjuris Al Día como fuente secundaria de actualidad.

ParametersJSON Schema
NameRequiredDescriptionDefault
maximoNo
consultaYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/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 behavioral disclosure burden. It does disclose that the content is public and secondary, which usefully signals that this is a read-oriented research search. However, it does not mention result limits, pagination, recency, or whether full articles are returned, leaving some behavior unspecified.

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, front-loaded sentence with no filler or redundant details. Every word adds relevant information about the tool's source, scope, and nature.

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, has an output schema, and only two parameters, so the description does not need to explain return values. However, the lack of any parameter-level documentation and limited behavioral detail leaves some important operational aspects, especially the meaning of 'maximo', underspecified.

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 the missing parameter explanations. It does not describe 'consulta' or 'maximo' at all, aside from implying a search action. An agent must infer that 'maximo' limits the number of results, which is not stated anywhere in the tool definition.

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 ('Busca'), a concrete resource ('contenido público de Microjuris Al Día'), and a clear purpose ('como fuente secundaria de actualidad'). This distinguishes it from the sibling jurisprudence-focused tools, making it clear this is a current-news secondary-source search tool.

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: use this tool to search public content from Microjuris Al Día as a secondary source of current legal developments. It implies a distinction from primary-source research tools, though it does not explicitly name alternatives or state 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.

buscar_biblioteca_juridicaC

Busca enlaces visibles en la Biblioteca Jurídica Virtual del Departamento de Estado.

ParametersJSON Schema
NameRequiredDescriptionDefault
maximoNo
consultaYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.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 the full burden of behavioral disclosure. It only describes the search function and the 'visible links' scope, adding nothing about read-only safety, rate limits, pagination, access restrictions, or output behavior. The behavioral information is barely more than the function statement itself.

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?

A single front-loaded sentence with no filler. The verb and target resource appear immediately, and every word earns its place. The size is appropriate for a low-complexity tool.

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?

Although the tool is simple (2 params, 1 required, output schema present), the lack of annotations and 0% schema coverage place a heavy burden on the description. With numerous sibling tools and no differentiation or behavioral guidance, an agent cannot reliably determine when or how to invoke this tool correctly.

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%, yet the description explains neither 'consulta' nor 'maximo'. The parameter names are self-evident in Spanish (query and maximum), which prevents a score of 1, but the description adds no clarification about query format or what maximo limits (result count, links, etc.).

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 a specific verb ('Busca') and a specific resource ('enlaces visibles en la Biblioteca Jurídica Virtual del Departamento de Estado'), which distinguishes it from siblings like buscar_sentencias and buscar_actualidad_juridica. The phrasing 'enlaces visibles' is slightly ambiguous about whether it returns links or searches link content, but the scope is clear.

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

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 the many siblings such as buscar_sentencias, investigar_sentencias, or buscar_por_cita. With a large and partly garbled sibling set, the agent is left to infer the appropriate use case without any explicit conditions or exclusions.

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

buscar_corpus_jurisprudenciaA

Busca candidatos TSPR solo en el corpus local; no realiza ninguna petición externa.

ParametersJSON Schema
NameRequiredDescriptionDefault
maximoNo
consultaYes

TDQS

A3.8/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 behavioral disclosure burden. It usefully discloses a non-obvious trait: no external request is made, meaning the tool operates offline against local data. However, it does not describe output format, result behavior, whether maximo actually caps results, or any 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 a single sentence with the core action and scope front-loaded, followed by a useful behavioral constraint. There is no filler or redundant restating of the tool name.

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 two-parameter local search, the core purpose is clear, but the description does not clarify what 'candidatos TSPR' means, what a candidate result looks like, or how 'maximo' behaves. With no output schema and no annotations, these gaps remain for the agent to guess.

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 prose does not explain either parameter. 'consulta' and 'maximo' are reasonably self-explanatory names, but the meaning of 'maximo' as a result limit and how it interacts with the search is left entirely to inference. The description fails to compensate for the lack of schema-level parameter documentation.

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 ('Busca'), a specific resource ('candidatos TSPR'), and a clear scope ('solo en el corpus local'). It also distinguishes this tool from siblings by explicitly noting that it makes no external request, so an agent can separate it from broader or external search 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 clear usage context: this tool is for searching only the local jurisprudence corpus and deliberately avoids external calls. It does not explicitly name alternatives or provide when-not-to-use conditions, but the local-only and no-external-request constraints are enough to guide tool selection.

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

buscar_decisiones_apelacionesB

Busca determinaciones finales públicas del Tribunal de Apelaciones.

ParametersJSON Schema
NameRequiredDescriptionDefault
anoNo
maximoNo
consultaYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/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. 'Busca' implies a non-destructive read operation and 'públicas' suggests accessible public records, which is useful context. However, it does not disclose pagination, ordering, result limits, or source coverage 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 a single, front-loaded sentence with no filler. Every word adds precision by specifying the court, the finality, the publicity, and the type of legal determination being searched.

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 output schema covers return shape and the core purpose is stated, making the tool minimally usable. However, with many sibling search tools and no usage guidance, an agent lacks sufficient context to reliably select this tool over alternatives.

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 says nothing about consulta, ano, or maximo. The Spanish property names and defaults are self-evident, but the description itself adds no parameter-level meaning 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.

Purpose4/5

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

The description uses a specific verb, 'Busca,' and identifies a clear resource: 'determinaciones finales públicas del Tribunal de Apelaciones.' This clearly distinguishes it from generic sentencia searches by court and document type, though it does not explicitly name sibling alternatives.

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 gives no guidance on when to use this tool instead of siblings such as buscar_sentencias or investigar_sentencias. The intended use is only implied by the resource phrase, with no exclusions or alternative routing.

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

buscar_decisiones_laborales_verificablesC

Busca decisiones/órdenes de la JRT y verifica la relevancia en sus PDFs oficiales.

ParametersJSON Schema
NameRequiredDescriptionDefault
maximoNo
paginasNo
consultaYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

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

There are no annotations, so the description carries the burden of disclosing behavior. It does reveal the key behavior: searching for decisions and verifying relevance in official PDFs, implying document retrieval and inspection. However, it does not disclose output shape, result-handling details, or any side effects of fetching PDFs.

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, front-loaded sentence with no filler. Every word contributes to explaining what the tool does and how it behaves.

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?

Although an output schema exists, the 0% parameter coverage and the absence of sibling-selection guidance leave an agent uncertain about the meaning of maximo/paginas and about when to choose this tool among many legal-research alternatives. The definition is clear on core purpose but incomplete for confident invocation in a crowded toolset.

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 adds no information about the parameters. 'maximo' and 'paginas' are ambiguous (maximum results? maximum pages per PDF?), and 'consulta' is not explained. The description must compensate for the bare schema but does not.

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 a specific action, 'Busca', and a clear resource: decisions/orders of the JRT. It adds the distinctive behavior of verifying relevance in official PDFs, which helps differentiate it from broader sibling tools like buscar_sentencias. It does not explicitly name an alternative, so it stops just short of a 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?

There is no guidance on when to use this tool versus the many related siblings such as buscar_sentencias, buscar_decisiones_apelaciones, or investir_sentencias. The only implied context is JRT-related decisions with PDF verification, but no exclusions or alternative-selection criteria are provided.

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

buscar_directorio_autoridadesB

Busca casos semilla del directorio auxiliar. No verifica ni sustituye la búsqueda jurídica.

ParametersJSON Schema
NameRequiredDescriptionDefault
maximoNo
consultaYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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

There are no annotations, so the description carries the behavioral disclosure burden. It discloses that results are not verified and are not a substitute for legal research, which is useful. However, it does not state other behavioral traits such as whether it only reads data, what the output represents, or how the auxiliary directory may differ from the main legal corpus.

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 with no filler. The primary action is front-loaded, and the second sentence adds a meaningful limitation rather than repeating the tool name or 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 simple, and an output schema exists, so return-value documentation is not necessary. Still, the description leaves gaps: no parameter semantics, no explicit relationship to the many sibling research tools, and no clarification of what 'casos semilla' means behaviorally.

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 the undocumented parameters. The description does not mention 'consulta' or 'maximo' or explain how they influence the search. Only the standalone word 'Busca' makes 'consulta' partially inferable, but 'maximo' receives no semantic guidance.

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 identifies a specific action and resource: searching 'casos semilla del directorio auxiliar,' so it is not a tautology. The added clause 'No verifica ni sustituye la búsqueda jurídica' helps distinguish it from verification-oriented research tools, though it does not explicitly name sibling alternatives.

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 finding seed cases in the auxiliary directory, which gives some context. It also includes a when-not signal ('No verifica ni sustituye la búsqueda jurídica'), but it does not name a preferred alternative tool or specify conditions under which this should be selected over siblings.

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

buscar_mejores_autoridadesB

Investiga una cuestión jurídica en varias fuentes con niveles estrictos de verificación.

ParametersJSON Schema
NameRequiredDescriptionDefault
maximoNo
argumentoYes
ano_apelacionesNo
incluir_actualidadNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/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 behavioral disclosure burden. It conveys a multi-source aggregation behavior and strict verification filtering, but does not explain what the verification levels are, how results are prioritized, or the exact nature of the returned authorities.

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?

One compact sentence with no filler, and the core idea is front-loaded. It could carry more useful detail without becoming verbose, but as written it is efficient.

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 four parameters, no annotations, many overlapping siblings, and no schema descriptions, this single sentence is insufficient for reliable selection and invocation. The description omits selection criteria, parameter effects, and behavioral details needed to distinguish it from alternatives.

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 clarify argumento, maximo, ano_apelaciones, and incluir_actualidad. It only generally maps 'cuestión jurídica' to the query and adds almost no parameter-level meaning, though the parameter names and defaults are somewhat self-explanatory.

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?

States a clear activity: investigating a legal question across several sources with strict verification. The resource ('cuestión jurídica') and method ('varias fuentes', 'niveles estrictos de verificación') are identifiable, but it does not distinguish from sibling research tools such as buscar_sentencias or investigar_derecho_pr.

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 or when-not-to-use guidance, and no named alternatives. The strict-verification phrasing implies it is appropriate when multi-source, high-confidence legal research is needed, but it leaves exclusion conditions unstated.

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

buscar_mejores_sentenciasA

Busca las mejores decisiones TSPR para un argumento mediante un loop interno.

USA ESTA HERRAMIENTA cuando el usuario pida "las mejores", "más relevantes" o "Top N" decisiones del Tribunal Supremo para apoyar, refutar o investigar un argumento. No busca año por año ni favorece casos recientes: crea primero un pool global de candidatos, verifica los mejores contra los PDFs oficiales, reordena por relevancia del texto fuente y sigue iterando hasta estabilizar el Top-K o agotar un presupuesto conservador. Puede devolver menos resultados si no hay suficientes autoridades verificables.

ParametersJSON Schema
NameRequiredDescriptionDefault
maximoNo
ano_desdeNo
ano_hastaNo
argumentoYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior5/5

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

With no annotations, the description carries the burden and does so richly: it discloses the internal loop, global candidate pool, verification against official PDFs, relevance reordering, iterative Top-K stabilization, conservative budget, and possible fewer results. This gives an agent accurate expectations not inferable from 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 core purpose is front-loaded in the first sentence, the usage trigger is clearly separated in caps, and the remaining sentences provide necessary behavioral detail without fluff. Every sentence contributes to selection or invocation understanding.

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 complex search/ranking tool, the description covers purpose, algorithm, caveats, and output limitations, and an output schema is available for return details. The main remaining gap is the lack of explicit semantics for maximo and the date-range parameters, which prevents it from being fully self-sufficient.

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 while the phrase 'argumento' and 'Top N' loosely map to the argumento and maximo parameters, the date-range parameters ano_desde and ano_hasta receive no semantic explanation. The description does not make up for the lack of schema descriptions, especially for optional 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 opens with a specific verb and resource: 'Busca las mejores decisiones TSPR para un argumento'. It also distinguishes itself from siblings by stating it does not search year-by-year and does not favor recent cases, so an agent can recognize its specialized ranking purpose.

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 gives explicit trigger conditions: 'USA ESTA HERRAMIENTA cuando el usuario pida "las mejores", "más relevantes" o "Top N"'. It also notes what the tool does not do, but it does not name an alternative sibling for general-case searches, so the routing guidance stops just short of fully complete.

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

buscar_por_citaA

Localiza una cita TSPR exacta sin sustituir citas inexistentes.

ParametersJSON Schema
NameRequiredDescriptionDefault
citaYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 behavioral burden. It discloses an important behavioral guardrail: nonexistent citations will not be substituted or replaced. This meaningfully prevents the agent from expecting fuzzy matches or fabricated results.

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 with no filler, and the key action ('Localiza una cita TSPR exacta') is front-loaded. 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?

For a single-parameter lookup tool with an output schema, the description covers the core purpose and a key behavior. However, it omits citation format details and does not explicitly position the tool among the many sibling search tools, so the overall context is only minimally 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 clarify the parameter. It adds that 'cita' should be an exact TSPR citation, which is useful, but it does not provide a format, example, or explanation of what counts as an exact citation, leaving a 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 uses a specific verb ('Localiza') and a specific resource ('una cita TSPR exacta'), making the core action immediately clear. The phrase 'sin sustituir citas inexistentes' also distinguishes it from fuzzy or fallback search tools among the siblings.

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 exact-match language implies this tool should be used when the agent has a precise TSPR citation to look up. However, it does not explicitly state when-not-to-use it or name an alternative sibling, leaving some selection inference to the agent.

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

buscar_sentenciasC

Busca sentencias y opiniones del Tribunal Supremo de Puerto Rico.

ParametersJSON Schema
NameRequiredDescriptionDefault
anoNo
maximoNo
consultaYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/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, but it only states the basic search action. It does not mention read-only behavior, result limits, pagination, potential errors, or 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.

Conciseness3/5

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

The description is a single sentence with no fluff and is easy to read. However, it is under-specified rather than efficiently concise, lacking any operational detail that would help an agent.

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 three parameters, no annotations, and sibling tools with overlapping functionality, the description is too thin. It does not explain how to construct a query, what the output contains, or when this tool is preferred over similar ones.

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 provides no information about how 'consulta', 'ano', or 'maximo' should be used or how they affect the search. The parameter names are somewhat self-explanatory, but the description adds no 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 searches for judgments and opinions of the Supreme Court of Puerto Rico, with a specific verb ('Busca') and a specific resource. However, it does not explicitly differentiate itself from closely related siblings like investigar_sentencias or buscar_mejores_sentencias.

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 about when to use this tool versus alternatives such as investigar_sentencias, buscar_mejores_sentencias, or leer_sentencia. There are no exclusions, prerequisites, or selection criteria stated.

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

catalogo_fuentes_juridicasA

Lista las colecciones públicas integradas y su jerarquía de fuente.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/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 behavioral disclosure burden. The verb 'Lista' implies a read-only catalog operation, and the description clarifies what is returned (collections and source hierarchy), but it does not mention side effects, freshness, availability, or any operational 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 a single clear sentence with no filler, repetition, or unnecessary detail. The core action and object are front-loaded, making it easy for an agent to parse quickly.

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

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 is mostly complete for a simple catalog-listing tool. The main omission is explicit guidance on when to choose this over sibling catalog-like tools, but the zero-parameter nature and clear purpose keep the tool low-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?

The tool has zero parameters, so the baseline is 4; there are no parameter semantics to explain. The description appropriately focuses on the fixed behavior of the tool rather than 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 uses a specific verb ('Lista') and a specific resource ('colecciones públicas integradas y su jerarquía de fuente'), making the tool's function immediately clear. It also stands apart from sibling search and state tools by describing a catalog/listing action rather than a search or mutation.

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 about when to use this tool instead of related siblings such as 'buscar_biblioteca_juridica' or 'estado_directorio_autoridades'. The usage context is only weakly implied by the word 'catálogo' and the zero-parameter design.

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

construir_historial_legislativoA

Busca automáticamente en SUTRA leyes posteriores que afecten una ley o artículo.

Usa el portal público oficial de SUTRA para descubrir candidatos y abre cada detalle antes de aceptar una relación de enmienda, derogación, sustitución o reenumeración. No necesita una URL semilla del usuario. La ausencia de una derogación detectada NO se interpreta automáticamente como vigencia.

ParametersJSON Schema
NameRequiredDescriptionDefault
leyYes
articuloNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 transparency burden and does so well: it discloses automatic searching, per-candidate verification before acceptance, and the important interpretive rule that absence of repeal is not automatically vigencia. It does not mention side effects or auth requirements, but the described behavior is materially transparent for an agent.

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

Conciseness5/5

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

Three compact sentences lead with the main action, then explain the source and workflow, and end with a critical caveat. Every sentence earns its place and the most decision-relevant limitation is stated plainly.

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 purpose, source, workflow, and an interpretive limitation, while the output schema accounts for return structure. The main gap is the absence of explicit routing among the vigencia-related sibling tools, but the information provided is sufficient for correct 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 coverage is 0%, so the description must compensate. It ties 'ley' and 'articulo' to the objects being searched and notes that no seed URL is needed, which adds meaning beyond the schema. However, it gives no format, syntax examples, or explanation of how the article parameter combines with the law 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 opens with a specific action: automatically searching SUTRA for later laws that affect a law or article. It also clarifies that the tool is about discovering legislative-history relationships, not delivering a final validity verdict, which distinguishes it from the verificar_vigencia 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 states the source (official public SUTRA portal), the workflow (opening each detail before accepting a relationship), and that no user seed URL is needed. The caveat that absence of a detected repeal is not automatically vigencia effectively excludes this tool for final validity checks, though it does not explicitly name the alternative sibling.

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

estadoC

Compatibilidad con el diagnóstico histórico del núcleo de sentencias.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.3/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, but it only mentions 'compatibility' and 'historical diagnosis' without explaining what happens when called, whether it reads or mutates, or what the response represents. This is insufficient for an agent to anticipate 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.

Conciseness2/5

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

The description is short as a single sentence, but it does not earn its place because the content is vague and uninformative. It is under-specified rather than efficiently concise.

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?

Although there are no parameters and an output schema exists, the description is too vague to be contextually complete. The agent remains unclear about the tool's purpose and when to choose it over the many sibling status tools.

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 there is no parameter documentation burden. A baseline score of 4 applies because the description does not need to compensate for undocumented parameters when none exist.

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

Purpose2/5

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

The description 'Compatibilidad con el diagnóstico histórico del núcleo de sentencias' lacks a clear verb and resource. It suggests a compatibility/status concept related to historical diagnosis of sentence cores but does not state what the tool actually does, making it hard to distinguish from sibling status tools like estado_corpus_jurisprudencia.

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. The description offers no context, exclusions, or references to sibling tools, leaving the agent to guess the appropriate invocation scenario among many similar-looking status tools.

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

estado_corpus_jurisprudenciaA

Reporta el estado real del corpus local persistente sin hacer acceso de red.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.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 behavioral burden. It discloses a useful trait: no network access is performed, and 'local persistente' indicates the data source. However, it does not explicitly state that the tool is read-only or describe what 'estado real' includes or how the result is returned.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no filler. Every part contributes: the action, the resource, the local persistence, and the no-network behavior.

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 zero-parameter status tool, the description is largely complete: it identifies what is reported and the key limitation. It could be improved by explicitly confirming no side effects and by naming what aspects of the corpus state are covered, but no critical calling information is missing.

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 need not explain parameter meaning. The 0-parameter baseline of 4 applies, and the description's purpose statement is sufficient.

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 a specific action and resource: 'Reporta el estado real del corpus local persistente'. It is distinct from sibling state tools like estado_directorio_autoridades by naming the persisted legal corpus, though it does not explicitly name a sibling alternative.

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 'sin hacer acceso de red' implies this tool is appropriate when the agent needs local, offline corpus status. However, it gives no explicit when-to-use vs alternatives, such as 'use this instead of buscar_corpus_jurisprudencia for local-only checks'.

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

estado_directorio_autoridadesD
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

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

Completeness1/5

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

Tool has no description.

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?

Tool has no description.

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

Purpose1/5

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

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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

estado_investigacion_juridicaA

Diagnóstico de la investigación jurídica, incluyendo el corpus local persistente.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

There are no annotations, so the description carries the burden of behavioral disclosure. 'Diagnóstico' implies a read-only status inspection, and 'corpus local persistente' adds some context about what is being examined, but the description does not explicitly confirm that the tool has no side effects, does not mutate data, or has any relevant access or freshness characteristics.

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 core purpose and then adds the important scope detail about the persistent local corpus. Every word contributes meaning, and there is no redundancy or 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?

For a zero-parameter diagnostic tool with an output schema, the description is mostly sufficient: it states the purpose and scope without needing to explain return values. It is slightly incomplete because it does not clarify how this status report relates to the overlapping estado and estado_corpus_jurisprudencia tools, but invocation risk is low due to the empty 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 input schema has zero properties, so there are no parameter semantics to clarify. The description adds contextual meaning by identifying what the diagnostic covers, and the baseline for zero-parameter tools is 4.

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 a diagnosis/status of legal research and explicitly includes the persistent local corpus. It is not a tautology and gives a reasonable sense of the tool's resource and scope, though it lacks an explicit action verb and does not differentiate itself from similar estado_* sibling tools.

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 about when to use this tool versus sibling tools such as estado, estado_corpus_jurisprudencia, or estado_directorio_autoridades. There are no exclusions, alternatives, or contextual triggers mentioned, so an agent must infer usage solely from the name and one-line description.

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

investigar_derecho_prA

Investigación multi-fuente conservadora para Puerto Rico.

Coordina jurisprudencia del Tribunal Supremo, decisiones públicas del Tribunal de Apelaciones y catálogos oficiales. No fusiona ni inventa una conclusión jurídica; entrega candidatos separados por fuente y jerarquía para que el cliente MCP analice la cuestión con trazabilidad.

ParametersJSON Schema
NameRequiredDescriptionDefault
anoNo
maximoNo
consultaYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 full burden and does it well: it discloses that the tool is conservative, multi-source, non-synthesizing, and returns candidates separated by source and hierarchy. It omits operational details such as error behavior or data freshness, but the core behavior is clearly communicated.

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 three sentences with no wasted words: scope first, then coordinated sources, then the key non-synthesis constraint. The structure is clear and front-loaded, though it could have integrated parameter guidance without becoming bloated.

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 output schema covers return shape, and the description gives enough behavioral context for a non-destructive research tool. However, with three parameters and zero parameter documentation in either the schema or the description, the agent is left to guess how to construct a valid consulta and when to set ano or maximo.

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 never explains consulta, ano, or maximo. The parameter names suggest their meaning, but the description adds no semantic guidance beyond the schema, leaving the agent to infer how to formulate the query or use the optional filters.

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 is specific: it coordinates Supreme Court case law, Court of Appeals public decisions, and official catalogs, and delivers candidates separated by source and hierarchy. It also distinguishes itself from synthesis tools by explicitly stating it does not fuse or invent a legal conclusion.

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 states the intended use: when the MCP client needs traceable, source-separated candidates to analyze itself. It also gives a clear behavioral exclusion ('No fusiona ni inventa una conclusión jurídica'), although it does not name specific sibling alternatives.

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

investigar_sentenciasC

Encuentra autoridades TSPR verificables por contenido del documento.

ParametersJSON Schema
NameRequiredDescriptionDefault
anosNo2026,2025,2024,2023,2022,2021,2020,2019,2018,2017,2016,2015,2014,2013,2012,2011,2010,2009,2008,2007,2006,2005,2004,2003,2002,2001,2000,1999,1998
maximoNo
consultaYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/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 disclosing behavioral expectations. 'Verificables' and 'por contenido del documento' hint at filtering behavior, but the description does not explain data sources, access requirements, limitations, or what verification means in practice.

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 front-loaded sentence with no filler, which is concise. However, it omits usage and parameter context, so the brevity comes at the cost of completeness.

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 search tool with 3 parameters, no annotations, 0% schema description coverage, and a large sibling list, this description is not complete enough. It leaves the agent with insufficient information to confidently select this tool or construct well-formed arguments for anos and maximo.

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%, so the description must compensate, but it does not explain consulta, anos, or maximo beyond their names and defaults. The phrase 'por contenido del documento' loosely maps to consulta, but no query syntax, input format, or effect of the year range or maximum is described.

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 ('Encuentra') and a concrete resource ('autoridades TSPR verificables') with a clear search criterion ('por contenido del documento'), so an agent can infer it searches for verifiable Puerto Rico Supreme Court authorities based on document text. It is not a tautology, but it does not explicitly name or distinguish sibling tools such as buscar_sentencias or buscar_por_cita.

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 explicit when-to-use guidance, exclusions, or alternatives. It only implies a content-based search, leaving the agent to choose among 23 sibling tools without clear direction on when this tool is preferred.

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

leer_autoridad_publicaA

Lee una autoridad primaria pública y devuelve pasajes textuales verificables.

Úsala para verificar documentos descubiertos por las herramientas de leyes, reglamentos, Tribunal de Apelaciones o decisiones administrativas antes de citarlos como apoyo a una proposición jurídica. Rechaza fuentes secundarias como Microjuris Al Día y no determina vigencia ni tratamiento posterior.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
consultaNo
max_pasajesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/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 behavioral disclosure. It signals a non-destructive read action ('Lee') and discloses important limitations, such as rejecting secondary sources and not assessing validity or subsequent treatment. It does not mention failure modes, authentication, or rate limits, but the core behavior is reasonably transparent for a read-only 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 three sentences with no redundancy: it states the core action and output, gives the intended use case, and lists limitations. Each sentence earns its place and the most important information 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 description adequately covers purpose, use case, and limitations, and an output schema exists for return-value details. However, the complete absence of parameter guidance for 'consulta' and 'max_pasajes', combined with zero schema descriptions, leaves a notable gap in the knowledge needed to use the tool fully.

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 compensate. 'url' is only indirectly inferable as the authority to read, while 'consulta' and 'max_pasajes' are entirely unexplained, leaving the agent without guidance on how to use the optional 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 opens with a specific verb ('Lee'), a precise resource type ('autoridad primaria pública'), and a concrete outcome ('devuelve pasajes textuales verificables'). It also distinguishes itself from related tools by explicitly stating that it rejects secondary sources and does not determine vigencia or tratamiento posterior.

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: to verify documents discovered by legal-research tools before citing them as support. It also gives clear negative guidance ('Rechaza fuentes secundarias', 'no determina vigencia ni tratamiento posterior'), but it does not name a specific alternative tool for those excluded cases.

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

leer_sentenciaB

Lee una sentencia pública y devuelve pasajes extraídos de la fuente.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
terminosNo
max_parrafosNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 disclosure burden. It states that the tool reads a public source and returns extracted passages, implying a read-only behavior, but it does not describe error behavior, output structure nuances, or limitations such as whether only publicly accessible URLs work.

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 one short, focused sentence with no filler. It front-loads the action and object and effectively communicates the primary purpose in minimal space.

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 an output schema exists and the tool appears simple, the description omits how to use the optional parameters and gives no guidance for selecting this tool over its many siblings. An agent needs more context to invoke this tool correctly with the right parameter semantics.

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 the parameters, but it does not. It mentions 'fuente' and 'pasajes', which vaguely relates to url and max_parrafos, but it never explains how 'terminos' filters results or how 'max_parrafos' controls output volume.

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 the specific verb 'Lee' and identifies the resource ('sentencia pública') and the outcome ('devuelve pasajes extraídos de la fuente'). It is clear about the tool's core function, though it does not explicitly differentiate from siblings like buscar_sentencias.

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 a clear use case: read a public judgment from a provided URL and obtain extracted passages. However, it gives no explicit conditions for when to choose this tool over siblings such as buscar_sentencias or investigar_sentencias, nor does it state any exclusions.

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

opciones_busquedaC

Explica las fuentes y filtros del núcleo jurisprudencial.

ParametersJSON Schema
NameRequiredDescriptionDefault
campoNofuentes
consultaNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior3/5

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

The verb 'Explica' indicates an informational, non-mutating behavior, which is useful given that no annotations are provided. However, the description does not disclose what the returned content looks like, whether it is static help text, or how the 'campo' and 'consulta' parameters affect the response.

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 with no filler and fronts the core purpose. However, it is so terse that it omits necessary context about parameters and usage, so it is not fully appropriately sized.

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 lack of annotations, zero parameter descriptions, and a large set of search-related siblings, the one-sentence description is insufficient for an agent to confidently determine when to call the tool or what inputs to provide. The output schema reduces the need to describe return values, but does not compensate for the missing usage and parameter guidance.

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% description coverage, and the description never mentions 'campo' or 'consulta'. It therefore adds no meaning beyond the parameter titles and defaults, leaving the purpose of 'consulta' especially unclear.

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 concrete verb ('Explica') and identifies a resource (the sources and filters of the jurisprudential core), so it is reasonably clear that this is an explanatory/help tool rather than another search sibling. However, 'núcleo jurisprudencial' is left undefined, and several sibling tools are also source-related, so it does not fully distinguish itself.

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 call this tool versus alternatives such as buscar_sentencias, catalogo_fuentes_juridicas, or politica_vigencia_fuentes. The only implication is that it provides background on search options, but there are no stated conditions, exclusions, or recommended contexts.

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

politica_vigencia_fuentesA

Explica la jerarquía usada para vigencia y el rol de SUTRA/CodeXPR.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior2/5

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

There are no annotations, so the description carries the full burden of behavioral disclosure. It indicates the tool is explanatory, but it does not state that the tool is purely informational, does not perform searches, does not mutate state, or what kind of response to expect. More behavioral context is needed.

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

Conciseness5/5

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

A single, focused sentence that directly states what the tool explains. There is no redundancy or filler, and the key topic 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?

For a zero-parameter explanatory tool with an output schema, the description is largely sufficient: it names both content areas covered. It could be more complete with a note about when to use it or what kind of answer it provides, but the low complexity and presence of an output schema reduce the burden.

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 does not need to explain parameter semantics because there are none to document.

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: explaining the hierarchy used for validity and the role of SUTRA/CodeXPR. It uses a specific verb ('Explica') and names a concrete resource/topic, which makes it distinguishable from the search- and verification-focused sibling tools, though it does not explicitly differentiate itself by name.

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?

Usage is implied by the topic: an agent can infer this tool should be invoked when an explanation of the validity hierarchy or SUTRA/CodeXPR's role is needed. However, the description gives no explicit guidance on when to use it versus alternatives like verificar_vigencia_ley or verificar_vigencia_legislativa.

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

verificar_vigencia_legislativaA

Verifica señales de enmienda/derogación en una URL oficial, sin adivinar vigencia.

USA ESTA HERRAMIENTA antes de presentar una ley, código o artículo como "vigente", "actual" o "no derogado". La URL debe pertenecer a SUTRA/OSL, Departamento de Estado u otra fuente oficial permitida. CodeXPR, LexJuris, Microjuris y otros índices secundarios pueden descubrir una autoridad, pero nunca bastan por sí solos para marcarla vigente.

Si la evidencia oficial disponible no resuelve la vigencia, devuelve estado_vigencia = no_determinada y puede_afirmarse_vigente = false.

ParametersJSON Schema
NameRequiredDescriptionDefault
leyYes
articuloNo
url_oficialYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 behavioral burden. It discloses that the tool does not guess validity and specifies the fallback behavior when official evidence is inconclusive, returning estado_vigencia = no_determinada and puede_afirmarse_vigente = false. It could add more detail about handling invalid URLs or successful resolution, but the essential behavior is clear.

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

Conciseness5/5

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

The description is front-loaded with the core purpose and every subsequent sentence adds necessary guardrail information: when to use it, allowed sources, why secondary indexes are insufficient, and fallback behavior. No sentence is wasted.

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 high-stakes legal context and the presence of an output schema, the description covers the critical operational context: when to invoke, what URLs are acceptable, what not to rely on, and what to return when evidence is inconclusive. This is sufficient for an agent to use the tool correctly.

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

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 for the bare parameter names. It explains that url_oficial must be an official source and references laws, codes, and articles, giving some context. However, it does not define expected formats for ley or articulo, such as whether ley is a number, name, or citation.

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: it verifies signs of amendment/repeal on an official URL, and explicitly states it does not guess validity. This clearly distinguishes the tool from simple validity lookups and from sibling legal research 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 gives explicit when-to-use guidance: before presenting a law, code, or article as vigente/actual/no derogado. It also gives clear restrictions on acceptable URL sources and warns that secondary indexes are insufficient, though it does not name a specific alternative sibling tool.

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

verificar_vigencia_leyA

Ejecuta el historial automático de SUTRA y devuelve un estado conservador.

Si encuentra derogación explícita, la reporta. Si encuentra enmiendas, las enumera. Si no encuentra evidencia suficiente, devuelve no_determinada. Nunca afirma vigencia positiva solo por ausencia de resultados.

ParametersJSON Schema
NameRequiredDescriptionDefault
leyYes
articuloNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/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 and succeeds remarkably well. It discloses the conservative decision logic, the handling of explicit derogation and amendments, the 'no_determinada' fallback when evidence is insufficient, and the critical rule never to affirm positive validity based only on absence of results.

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 uses four compact, information-dense sentences. The main action and conservative principle are front-loaded, followed by specific decision branches and the critical caveat. Every sentence earns its place and there is no redundant or filler 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 behavioral contract is clear, and an output schema exists to cover return values, so the core mission is understandable. However, with no annotations and zero schema description coverage, the underspecified inputs ('ley' and 'articulo') and the lack of sibling differentiation leave the description incomplete for reliably selecting and invoking this tool among similar legal-status 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 never mentions 'ley' or 'articulo'. The parameter names suggest some meaning: 'ley' is a law identifier and 'articulo' is an optional article, but the description does not explain expected formats, whether 'articulo' narrows the check, or how the law should be identified. The description adds no parameter semantics beyond 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 states a specific verb ('verificar') and resource ('vigencia de ley') and clearly explains what the tool does: it runs SUTRA history, reports explicit derogation, enumerates amendments, and returns a conservative status. It is not a tautology and conveys a clear purpose, though it does not explicitly distinguish itself from the near-named sibling 'verificar_vigencia_legislativa'.

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 a use case: verify the current legal validity of a law, optionally scoped to an article. However, it gives no explicit guidance about when to use this tool instead of alternatives like 'verificar_vigencia_legislativa' or 'construir_historial_legislativo', and it does not state any exclusions or prerequisites.

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. 24 tool updatesv0.15.2
    • First observedbuscar_actualidad_juridica
    • First observedbuscar_biblioteca_juridica
    • First observedbuscar_corpus_jurisprudencia
    • First observedbuscar_decisiones_apelaciones
    • First observedbuscar_decisiones_laborales_verificables
    • First observedbuscar_directorio_autoridades
    • First observedbuscar_mejores_autoridades
    • First observedbuscar_mejores_sentencias
    • First observedbuscar_por_cita
    • First observedbuscar_sentencias
    • First observedcatalogo_fuentes_juridicas
    • First observedconstruir_historial_legislativo
    • First observedestado
    • First observedestado_corpus_jurisprudencia
    • First observedestado_directorio_autoridades
    • First observedestado_investigacion_juridica
    • First observedinvestigar_derecho_pr
    • First observedinvestigar_sentencias
    • First observedleer_autoridad_publica
    • First observedleer_sentencia
    • First observedopciones_busqueda
    • First observedpolitica_vigencia_fuentes
    • First observedverificar_vigencia_legislativa
    • First observedverificar_vigencia_ley

TDQS

C2.6/5.0

Scored across 24 tools

Disambiguation2/5

Several tool clusters are easy to confuse: buscar_sentencias, investigar_sentencias, buscar_mejores_sentencias, buscar_corpus_jurisprudencia, and buscar_por_cita all target TSPR authorities with subtle differences. The four 'estado' tools also blur together, and estado_directorio_autoridades has no description at all, making selection unreliable.

Naming Consistency3/5

Most tools follow a readable Spanish snake_case verb_noun pattern like buscar_*, verificar_*, and leer_*. However, the set mixes in bare noun-style tools such as estado, catalogo_fuentes_juridicas, opciones_busqueda, and politica_vigencia_fuentes, and alternates between buscar_ and investigar_ for similar actions.

Tool Count3/5

At 24 tools, the server is at the heavy end of the range and contains many near-duplicate search and diagnostic variants. Some consolidation, especially among the four 'estado' tools and the overlapping TSPR search tools, would make the set feel better scoped.

Completeness4/5

The server covers a broad legal research workflow: TSPR and Court of Appeals decisions, JRT labor decisions, legislative vigencia, historical amendments, secondary sources, and reading/verifying authorities. Minor gaps remain, such as dedicated statute/regulation keyword search and one undocumented tool, but the main research paths are well supported.

Maintenance

ActivityActive
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables Claude to search and retrieve legal sources from Mexican and inter-American courts (SCJN, TFJA, DOF, Corte IDH) with complete citations and official links.
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to search Mexican federal and state statutes, Supreme Court theses, and precedents, returning verifiable citations with dated validity, public URLs, and explicit indication of whether case law is binding jurisprudence or merely persuasive.
    -