Clerk - IA Legal Dominicana
Server Details
Dominican Republic case law, legislation and legal doctrine inside your AI agent, with every answer cited and linked to the official source.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 26 tools
Each buscar_* tool targets an explicitly delimited corpus (leyes, decretos, doctrina, normas de reguladores, jurisprudencia RD/TSE/Colombia/España/Francia/Interamericana), and the descriptions aggressively warn about boundaries ("esto NO está en buscar_legislacion", "va por buscar_decretos"). The main residual overlaps are buscar_doctrina vs buscar_doctrina_constitucional (two doctrine libraries) and buscar_jurisprudencia vs buscar_jurisprudencia_electoral (TSE is Dominican but a separate index), which the text clarifies but an agent must read carefully. obtener_texto_completo acting as the reader for DR, TC (`tc`) and TSE (`tse`) while other jurisdictions get dedicated leer_* tools is a minor asymmetry that could momentarily confuse selection.
Almost everything follows verb_noun in Spanish snake_case: buscar_X, leer_X, obtener_X, verificar_X, explorar_X, resolver_X. Search and read tools pair predictably (buscar_decretos ↔ leer_decreto, buscar_doctrina ↔ leer_doctrina). The small deviations — `leer_decreto` singular vs `buscar_decretos` plural, and TSE/TC sentences being read through `obtener_texto_completo` instead of dedicated leer_sentencia_electoral / leer_sentencia_tc tools — are the only break in the pattern.
At 26 tools this is slightly over the comfortable band, but nearly every tool maps to a genuinely distinct source collection (8 search corpora, 8 matching readers, plus facet, reference, bulletin, verification and the pleno agreements). Nothing looks redundant for its own sake, though the surface would be leaner if foreign-jurisdiction readers were folded into one parameterized tool.
The lifecycle is well covered: discovery (buscar_*), vocabulary grounding (explorar_facetas), citation resolution (resolver_referencia), full-text reading with authorship/citability maps, case-status verification (verificar_decisiones, buscar_audiencias), and a bulletin. Remaining gaps are acknowledged data-coverage holes (SIE and MINERD absent, TSE only from 2021, Junta Monetaria partial, varias ediciones without vigencia marking) rather than missing operations — though there is no cross-collection search or citation-formatting tool, and `buscar`-style tools don't handle pagination limits uniformly.
Available Tools
26 toolsbuscar_audienciasBuscar en el Rol Nacional de AudienciasARead-onlyInspect
Busca en el Rol Nacional de Audiencias del Poder Judicial dominicano las audiencias de todos los tribunales, por el NUC del expediente, por el NOMBRE DE UNA PARTE o por el NOMBRE DE UN REPRESENTANTE (el abogado). Cada audiencia trae su NUC, la fecha y la hora, el tribunal y la sala, la materia, el asunto, las partes con su calidad, el estado (pendiente, en curso, recesada, conocida) y lo que pasó en ella («Aplazada», «Fallo reservado», «Fallada»…). Pagina de 20 en 20 con page y dice total y cuántas hay en cada estado.
El nombre se busca DENTRO del nombre escrito en el rol: «Fiallo» encuentra a quien lo lleve en cualquier parte del nombre, homónimos incluidos. Un distrito o una materia que no existan dan error con los valores que valen, nunca un cero.
⚠️ El rol no es jurisprudencia: dice qué se conoce y cuándo. Para saber si un expediente ya tiene sentencia, verificar_decisiones con su nuc. Las partes y el asunto los transcribe el tribunal: no se citan.
| Name | Required | Description | Default |
|---|---|---|---|
| por | Yes | Qué es `consulta`. | |
| page | No | Página, base 0. Cada una trae hasta 20. | |
| estado | No | Estado de la audiencia. «conocida» es la ya celebrada, con su resultado. Opcional. | |
| materia | No | Materia, como la escribe el rol: «Civil», «Penal», «Trabajo», «Inmobiliaria», «Contencioso Administrativo»… Opcional. | |
| consulta | Yes | El NUC, el nombre de la parte o el del representante, según `por`. | |
| distrito | No | Distrito judicial, como lo escribe el rol: «Distrito Nacional», «Santiago», «Santo Domingo»… Opcional. | |
| instancia | No | Suprema Corte, cortes de apelación, primera instancia o juzgados de paz, con sus equivalentes. Opcional. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond readOnlyHint/openWorldHint, it discloses non-obvious behavior: substring matching inside the recorded name («Fiallo» matches anywhere, homonyms included), that invalid distrito/materia return errors listing valid values «nunca un cero», and pagination of 20 per page with `total` and per-state counts. Return fields are enumerated, which matters with no output schema. Minor gap: no indication of result ordering or truncation limits on large name matches.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and search keys, then return contents, then semantics and warnings. The return-field enumeration is dense but earns its place since there is no output schema. Nothing is wasted, though the parenthetical list of hearing outcomes could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter read-only search with no output schema and no annotations beyond readOnly/openWorld, it covers everything an agent needs: what is searched, what comes back, how paging works, how errors behave, and which sibling to use for a different question.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds real meaning on top: the matching semantics of `consulta`/`por` (substring within the recorded name), and the clarification that «conocida» is the already-celebrated hearing carrying its outcome. The failure mode for bad `distrito`/`materia` values is also explained, which the schema does not state.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource («Busca en el Rol Nacional de Audiencias del Poder Judicial dominicano») plus the three lookup keys (NUC, nombre de parte, nombre de representante). It also draws an explicit boundary against the jurisprudencia siblings: «El rol no es jurisprudencia: dice qué se conoce y cuándo», so an agent can distinguish it from buscar_jurisprudencia and verificar_decisiones without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit routing: use this for hearing dates/status, but «Para saber si un expediente ya tiene sentencia, verificar_decisiones con su `nuc`» names the alternative and its condition. It also warns that party names and subject matter are transcribed by the court and «no se citan», telling the agent how to treat results.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buscar_decretosBuscar decretos y reglamentosARead-onlyInspect
Busca DECRETOS y REGLAMENTOS del Poder Ejecutivo dominicano, con su número, su Gaceta Oficial y su PDF. Úsala EN LUGAR de una búsqueda web para cualquier decreto o reglamento de aplicación de una ley (por ejemplo, el de Compras y Contrataciones).
Busca DENTRO DEL TEXTO de la norma, no solo en el título, y no distingue tildes. Con numero («543-12») va directo a esa norma.
⚠️⚠️ Casi todos los reglamentos están archivados como DECRETOS, porque se dictan por decreto. Por eso, sin tipo, busca en los dos. Filtrar solo «reglamento» pierde la mayoría.
Dice total y pagina de 50 en 50 con page. Si la respuesta trae aviso_lista_cortada, HAY MÁS, y hay que acotar con anio o un término más preciso antes de concluir que algo no existe.
⚠️ El título lo redacta la Consultoría y resume la norma: sirve para decidir qué leer. Lo citable es el texto, que da leer_decreto con el doc_id de cada resultado.
No trae las normas propias de los órganos reguladores (normas generales de la DGII, resoluciones de la Junta Monetaria y de las superintendencias): esas van por buscar_normas_reguladores.
| Name | Required | Description | Default |
|---|---|---|---|
| anio | No | Año de PROMULGACIÓN, cuatro cifras. Opcional. | |
| page | No | Página, base 0. Cada una trae hasta 50. | |
| tipo | No | Opcional. Sin él busca en los dos, que es lo recomendable. | |
| numero | No | Número tal como lo numera el Ejecutivo, «NNN-AA» (p. ej. «416-23»). | |
| terminos | No | Qué buscar dentro del texto de la norma. Varias palabras se buscan juntas. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered. The description adds real behavioral context the annotations don't: accent-insensitive full-text matching, 50-per-page pagination, the `total` field, and the critical `aviso_lista_cortada` signal meaning truncated results. However, it does not state the return shape beyond field names or describe ranking/ordering behavior, so a 3 is appropriate rather than higher.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Long but front-loaded and well-organized: core purpose, then search behavior, then the tipo trap, then pagination, then citability, then exclusion. The multiple warning emoji and some repetition of the 'reglamentos are archived as decretos' point cost it a bit of tightness, but no sentence is irrelevant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and does so: it names `total`, the 50-per-page pagination, the `aviso_lista_cortada` truncation flag, and `doc_id` plus leer_decreto for citation. Nothing an agent needs to search, paginate, detect truncation, or cite is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents every parameter including the numero format and page sizing. The description reinforces the type-filter trap for `tipo` and clarifies that `terminos` searches inside the norm text, which is genuinely useful, but it largely restates what the schema already says. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Busca DECRETOS y REGLAMENTOS del Poder Ejecutivo dominicano') and immediately scopes what it returns (número, Gaceta Oficial, PDF). It distinguishes itself from web search and from its sibling buscar_normas_reguladores by naming the excluded corpus explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit routing rule ('Úsala EN LUGAR de una búsqueda web'), a concrete example use case (reglamento de Compras y Contrataciones), a warning against the tempting tipo='reglamento' filter, and an explicit exclusion routed to buscar_normas_reguladores. Both when-to-use and when-not-to-use are covered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buscar_doctrinaBuscar doctrinaARead-onlyInspect
Busca libros y publicaciones jurídicas dominicanas POR SU CONTENIDO: la coincidencia se busca dentro del texto completo de la obra, no en el título. Un resultado significa que ese libro trata la figura, aunque su título no la nombre («anatocismo» devuelve el Diccionario Jurídico Dominicano; «lucro cesante», 50 obras).
Úsala para saber A QUÉ DOCTRINA acudir. Aquí llega la ficha (título, autores, editorial, páginas, isbn13); el TEXTO de la obra lo sirve leer_doctrina, a la que se pasa el isbn13 de cada resultado.
⚠️⚠️ La biblioteca NO es solo doctrina: aloja también el TEXTO de los CÓDIGOS (Civil, de Procedimiento Civil, de Comercio, Penal, Procesal Penal, de Trabajo, Tributario, Monetario y Financiero…) y de los REGLAMENTOS y RESOLUCIONES del Poder Judicial (por ejemplo, los de la Jurisdicción Inmobiliaria), que NO están en buscar_legislacion. Para un código, busca su título («Código Civil de la República Dominicana»). Esos resultados llevan es_texto_normativo: true: son la norma, se citan por artículo, y un artículo se lee con leer_doctrina y articulo. Si hay varias ediciones del mismo texto, la respuesta trae aviso_versiones: esta fuente no marca cuál está vigente.
Los artículos de la Revista Saber y Justicia de la Escuela Nacional de la Judicatura llegan además uno por uno en articulos_de_revista, con su autor y sus temas: se leen con leer_doctrina y su clave, y se citan a quien firma el artículo.
⚠️ La ficha sola no autoriza a parafrasear el contenido: lee el pasaje por leer_doctrina antes de atribuirle nada a una obra.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Página, base 0. | |
| rows | No | Resultados por página. El techo real NO es este número, es el reloj del gateway (~30 s, luego 504), y lo que tarda depende de cuántas coincidencias haya que ordenar: rows=250 sobre 6.666 coincidencias pasa en 21 s, el mismo rows=250 sobre 114.321 da 504. Acota con facetas ANTES de subir rows, no al revés. | |
| terminos | Yes | Términos de búsqueda. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered; the description nonetheless adds real behavioral context: full-text vs title matching, the es_texto_normativo flag marking normative text, aviso_versiones warning that editions are not marked as current, and the articulos_de_revista sub-results. What it does not do is describe ranking, pagination limits, or the timeout ceiling — the latter is instead carried by the rows parameter description in the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core matching semantics in the first sentence, then layered warnings, so the most important information survives skimming. It is long and the emoji-laden warnings add visual noise, but nearly every sentence carries distinct operational content rather than filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description compensates fully by enumerating the returned fields (título, autores, editorial, páginas, isbn13) plus the conditional ones (es_texto_normativo, aviso_versiones, articulos_de_revista con autor y temas). For a three-parameter read tool it leaves nothing an agent needs to call it correctly or to interpret the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema itself is unusually rich, including the ~30 s gateway timeout guidance for rows. The description adds meaning not in the schema by tying result fields to the sibling tool's parameters (isbn13, articulo, clave), but it says nothing about how terminos is interpreted (multiple terms, AND/OR, stemming), which is the one parameter an agent most needs to understand.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (búsqueda de libros y publicaciones jurídicas dominicanas) and, crucially, the matching semantics: the hit is in the full text of the work, not the title, with concrete examples («anatocismo» devuelve el Diccionario Jurídico Dominicano). It also separates itself from leer_doctrina (which serves the text) and from buscar_legislacion (which does not hold codes), so an agent can pick it out among 25 siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-to-use ("Úsala para saber A QUÉ DOCTRINA acudir"), explicit hand-off (pass the isbn13 to leer_doctrina, the clave for Revista Saber y Justicia articles), and an explicit exclusion/correction: codes and reglamentos are in this library but NOT in buscar_legislacion, so search them by title here. It even states the read-before-attributing rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buscar_doctrina_constitucionalBuscar doctrina constitucionalARead-onlyInspect
Publicaciones del Centro de Estudios Constitucionales del Tribunal Constitucional: libros y colecciones que edita el propio TC, gratuitos y descargables. Unas 204 obras.
⚠️⚠️ Es DOCTRINA, NO jurisprudencia, y la diferencia no es de catálogo: lo que un libro del TC dice sobre el amparo NO es lo que el TC falló sobre el amparo, aunque lo firme un magistrado en calidad académica. Se cita como doctrina, con autor y página. Para el criterio del tribunal, buscar_jurisprudencia.
Complementa a buscar_doctrina, que busca en la biblioteca del Poder Judicial: son dos colecciones distintas. Esta es la del TC y va sesgada a materia constitucional.
Devuelve el slug de cada obra, que es lo que pide leer_doctrina_constitucional.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 1-based. El catálogo son 34 páginas. | |
| terminos | Yes | Qué buscar. Mira el nombre de la publicación, la materia y la descripción; no busca dentro del texto del libro. ⚠️ Compara la FRASE LITERAL, no parte las palabras: «amparo modalidades» puede dar CERO aunque las dos palabras estén en el título de una obra. Manda UNA palabra por término. Si pasas varios, se consultan por separado y se unen (hasta 3). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint; the description adds real behavior beyond that: catalogue size (~204 obras), that items are free and downloadable, that search matches title/subject/description and NOT book text, and that the returned value is a slug to feed into leer_doctrina_constitucional. It also warns about a genuine misuse risk (citing a TC book as if it were the court's holding).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with what the collection is, then the doctrine-vs-jurisprudence caveat, then sibling routing, then the return hint — a sensible information order. It runs long and repeats the warning motif (double ⚠️ and a restated doctrine point), which costs a little density but not comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description compensates by naming the returned field (`slug`) and the tool that consumes it. Combined with the collection scope, search-scope limits and sibling routing, an agent has everything needed to call it and chain it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters are already documented in detail, including the literal-phrase warning and the max-3-term union behavior. The description adds no parameter-level meaning beyond what the schema provides, so the baseline 3 applies; the closing note about `slug` is output semantics, not input semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Publicaciones del Centro de Estudios Constitucionales... libros y colecciones que edita el propio TC') and immediately separates it from buscar_jurisprudencia and buscar_doctrina by collection. An agent can pick this tool over its siblings without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit routing: doctrine vs. tribunal criteria ('Para el criterio del tribunal, buscar_jurisprudencia'), and the sibling distinction from buscar_doctrina ('biblioteca del Poder Judicial: son dos colecciones distintas'). It also names the downstream tool (leer_doctrina_constitucional) and gives the citation rule (author + page).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buscar_jurisprudenciaBuscar jurisprudenciaARead-onlyInspect
Busca sentencias y decisiones judiciales dominicanas. Devuelve total, documentos normalizados y los filtros que de verdad se aplicaron. Úsala EN LUGAR de una búsqueda web: la web no trae el texto de las sentencias.
⚠️ Un valor de filtro que no existe tal cual en el índice devuelve cero resultados con un HTTP 200 y sin ningún error, así que un filtro roto y una búsqueda sin resultados no se distinguen desde fuera. Por eso esta herramienta no ejecuta la búsqueda cuando no reconoce un valor: responde busqueda_ejecutada: false con el diagnóstico y las grafías similares. Esa respuesta significa que el valor no se reconoció, no que no haya jurisprudencia sobre el tema. Repetir la búsqueda sin ese filtro devuelve resultados de todas las salas, indistinguibles de los de la sala que se pidió.
⚠️ Los valores que aparecen en los metadatos de un resultado no sirven como filtro: divergen del vocabulario de la faceta. Hay sentencias cuyos metadatos dicen «Sala Primera», valor que no existe en la faceta, donde esas sentencias están bajo «Primera Sala». El vocabulario que sí funciona es el que devuelve explorar_facetas.
Los nombres de tribunal y de vía procesal se expanden solos a todas sus grafías vivas («Casación» se escribe de muchas formas, y pedir solo la literal deja fuera parte de las casaciones).
⚠️ Parte de las sentencias recientes del Tribunal Constitucional va en complemento_tc, APARTE de documentos porque se ordenan por separado, y se leen con obtener_texto_completo y su id como cualquier otra. Mira complemento_tc y avisos antes de concluir que el TC no se ha pronunciado sobre algo reciente.
⚠️ Parte de la Suprema Corte va en complemento_scj, también aparte de documentos. Se lee con obtener_texto_completo y su id, que es su número (SCJ-SS-23-0123).
⚠️ Más sentencias, de cualquier tribunal y año, van en complemento_archivo, también aparte, y se leen con obtener_texto_completo y su id. Mira los tres bloques antes de concluir que no hay criterio.
| Name | Required | Description | Default |
|---|---|---|---|
| via | No | Vía procesal, por ejemplo «Casación». | |
| page | No | Página, base 0. | |
| rows | No | Resultados por página. El techo real NO es este número, es el reloj del gateway (~30 s, luego 504), y lo que tarda depende de cuántas coincidencias haya que ordenar: rows=250 sobre 6.666 coincidencias pasa en 21 s, el mismo rows=250 sobre 114.321 da 504. Acota con facetas ANTES de subir rows, no al revés. | |
| sala | No | Sala u órgano, por ejemplo «Primera Sala». | |
| sort | No | El orden por score premia a la Suprema Corte y arrastra hacia lo reciente. En jurisprudencia lo nuevo no es lo mejor: la sentencia que fija la doctrina suele ser vieja. Para buscar la doctrina asentada, prueba «fecha asc». | score desc |
| desde | No | Fecha mínima, ISO AAAA-MM-DD, o solo el año. | |
| frase | No | Busca los términos como frase en vez de sueltos. Admite palabras de por medio: cada resultado dice en `frase_tal_cual` si la trae así. | |
| hasta | No | Fecha máxima, ISO AAAA-MM-DD, o solo el año. | |
| excluir | No | Valores a EXCLUIR, con la misma forma que los filtros de arriba. | |
| materia | No | Materia. Ojo con dos grafías medidas: «Contencioso-administrativo» va con guion (con espacio da cero) y lo inmobiliario vive repartido entre «Inmobiliaria» y «Tierras» (pedir solo la primera baja «deslinde» en la SCJ de 1.673 a 432). | |
| sentido | No | ⚠️ Qué decidió el fallo. Esta faceta SOLO existe de 2024 en adelante, así que cruzarla con años anteriores da cero SIEMPRE y deja fuera todo el precedente clásico. Para saber qué decidió una sentencia vieja, lee su dispositivo con obtener_texto_completo en modo «mapa». | |
| terminos | Yes | Términos de búsqueda. Usa el vocabulario forense dominicano. | |
| tribunal | No | Atajos disponibles: SCJ, TC, TSA, TST. Se expanden a todos los valores vivos. Ojo: «Tribunal Superior de Tierras» a secas da CERO, el corpus lo desglosa en sus cuatro departamentos, y el atajo TST ya lo resuelve. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true/openWorldHint=true, so the safety profile is already covered; the description goes further by disclosing the silent-failure mode (a bad filter value yields HTTP 200 with zero results) and the mitigation (`busqueda_ejecutada: false` with diagnostics and near-spelling suggestions). It also reveals that results are split across `documentos`, `complemento_tc`, `complemento_scj` and `complemento_archivo`, and that partial TC/SCJ holdings sit outside `documentos` — real behavior an agent cannot infer from schema or annotations. It stops short of describing pagination/timing beyond the `rows` warning, so a 4 rather than a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first sentence is front-loaded and the ⚠️ blocks are individually high-value, but the description runs to five warning sections with some redundancy (each complemento_* block repeats "se lee con obtener_texto_completo y su id") and mixes return-shape detail into what is nominally a usage statement. It is dense rather than wasteful, yet noticeably longer than needed for an agent to act correctly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 13-parameter tool with nested `excluir`, no output schema, and a large sibling fleet, the description covers what an agent must know: response blocks, the `busqueda_ejecutada: false` diagnostic shape, `frase_tal_cual` on results, `avisos`, and cross-tool handoffs. Nothing essential for a correct first call is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline would be 3, but the description adds meaning well beyond it: tribunal shortcuts SCJ/TC/TSA/TST and automatic grapheme expansion, the trap that metadata values are not facet vocabulary («Sala Primera» vs «Primera Sala»), the materia spelling hazards (hyphenated «Contencioso-administrativo», split «Inmobiliaria»/«Tierras»), and sort guidance that `score desc` biases toward recent Supreme Court rulings while «fecha asc» surfaces settled doctrine.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb+resource: "Busca sentencias y decisiones judiciales dominicanas", and immediately scopes the corpus as Dominican, distinguishing it from the many sibling tools covering Colombia, España, Francia, electoral, interamericana, etc. It also states what comes back (total, documentos normalizados, filtros aplicados), so an agent knows both what it does and where it fits.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to use this INSTEAD of a web search ("la web no trae el texto de las sentencias"), and routes to siblings by name: explorar_facetas for valid vocabulary and obtener_texto_completo (modo «mapa») for the dispositivo of older rulings. It also gives when-NOT guidance — don't cross `sentido` with pre-2024 years, don't raise `rows` before narrowing with facets.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buscar_jurisprudencia_colombiaBuscar jurisprudencia de ColombiaARead-onlyInspect
Sentencias de la Corte Constitucional de COLOMBIA, por texto completo. Úsala cuando haga falta doctrina constitucional comparada para sustentar un argumento: en materia constitucional dominicana se citan con frecuencia criterios de cortes extranjeras. ⚠️ NO es derecho dominicano y NO vincula a ningún tribunal de RD: es doctrina persuasiva. Para lo aplicable en RD usa buscar_jurisprudencia. Devuelve tema y resumen catalogados por la relatoría, que sirven para decidir qué leer y NO como cita; el texto citable lo da leer_sentencia_colombia.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 1-based en esta fuente. | |
| rows | No | ||
| campo | No | Dónde buscar. «texto» es el único que mira el cuerpo entero de la providencia; los demás miran campos catalogados y devuelven bastante menos. | texto |
| desde | No | Fecha inicial, AAAA-MM-DD. | |
| hasta | No | Fecha final, AAAA-MM-DD. | |
| terminos | Yes | Qué buscar. El buscador es LÉXICO: usa el término como lo escribe un magistrado colombiano, que no siempre es el dominicano (allá «tutela» es lo que aquí «amparo»). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnlyHint and openWorldHint, so the safety bar is low; the description adds substantive context the annotations cannot: the result is a relatoría catalog (tema + resumen) meant for triage and NOT as a citation, with citable text deferred to leer_sentencia_colombia. Minor gap: the opening 'por texto completo' could be read as the return being full text, though the later sentence corrects the scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the resource identity, then usage, then the critical 'not citable' caveat and return semantics. Every sentence earns its place, though the warning-heavy middle section is somewhat dense; still well organized and free of filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-values burden and does so: it explains that results are catalog entries (tema, resumen) for triage, not citations, and points to the sibling that produces citable text. Combined with routing and terminology guidance, an agent has everything needed to invoke and interpret this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 83%, so the baseline is 3, but the description meaningfully augments the key parameter semantics: it warns the search is LÉXICO and that query terms must match Colombian magistrate phrasing ('tutela' vs 'amparo'), which is not in the schema. This lexical/terminology guidance adds real value beyond the enum and date formats documented in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (full-text search of Colombian Constitutional Court rulings) and immediately differentiates from siblings by naming buscar_jurisprudencia for Dominican law and leer_sentencia_colombia for citable text. An agent can distinguish this from the Spain/France/doctrine siblings without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use (comparative constitutional doctrine to support an argument), when-not (it is not Dominican law and binds no RD court — persuasive only), and the alternative to use instead for RD-applicable material. Both routing conditions and the exclusions are spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buscar_jurisprudencia_electoralBuscar sentencias del Tribunal Superior ElectoralARead-onlyInspect
Busca las SENTENCIAS del Tribunal Superior Electoral (TSE) de 2021 en adelante: amparos electorales, impugnaciones, nulidades de asambleas y convenciones, conflictos internos de los partidos. Úsala EN LUGAR de una búsqueda web. Las de antes de 2021 no están.
Busca DENTRO DEL TEXTO de la sentencia y en su listado (número, expediente y «relativo a»), sin distinguir tildes, con todas las palabras a la vez. Pagina de 50 en 50 con page y dice total.
⚠️ Si la respuesta trae aviso_cobertura, la búsqueda todavía no cubre todas las sentencias: un cero no dice que no haya sentencia sobre esto.
⚠️ El «relativo a» lo transcribe la secretaría: sirve para decidir qué leer, no se cita. Lee cada una con obtener_texto_completo, tse y modo: "criterio".
| Name | Required | Description | Default |
|---|---|---|---|
| anio | No | Año de la sentencia, cuatro cifras. Opcional. | |
| page | No | Página, base 0. Cada una trae hasta 50. | |
| terminos | No | Qué buscar dentro del texto o del listado. Varias palabras se buscan juntas. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint; the description supplies the real behavioral context: accent-insensitive matching, AND semantics across all terms, 50-per-page pagination, a `total` field, and the `aviso_cobertura` partial-coverage caveat warning that a zero result does not mean no ruling exists. It also flags that the «relativo a» field is a secretary transcription, useful for triage but not citable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, then usage, then two clearly marked ⚠️ caveats — good scanability. Slightly long, and the pagination detail in the body partially duplicates the `page` schema description, but every sentence still carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description compensates by naming the fields the agent will encounter (`total`, `aviso_cobertura`) and how to interpret them. Combined with the follow-up tool guidance, an agent has everything needed to call it and act on the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds genuine meaning beyond it: that searching covers both the full text and the listing fields (número, expediente, relativo a), that accents are ignored, and that all terms must match simultaneously. The `anio` bounds are implicit (coverage starts 2021) rather than spelled out as a valid-value range.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (buscar sentencias del TSE) plus the material scope (2021 en adelante) and the subject-matter taxonomy (amparos, impugnaciones, nulidades, conflictos internos). This cleanly separates it from the generic buscar_jurisprudencia and the country-specific buscar_jurisprudencia_colombia/espana/francia siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit use-instead instruction ("Úsala EN LUGAR de una búsqueda web") and an explicit exclusion ("Las de antes de 2021 no están"). It also routes the agent forward to obtener_texto_completo with `tse` and `modo: "criterio"`, so the workflow after a hit is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buscar_jurisprudencia_espanaBuscar jurisprudencia constitucional de EspañaARead-onlyInspect
Resoluciones del Tribunal Constitucional de ESPAÑA, por texto libre. Úsala cuando haga falta doctrina constitucional comparada: en materia constitucional dominicana se citan con frecuencia criterios del TC español. ⚠️ NO es derecho dominicano y NO vincula a ningún tribunal de RD: es doctrina persuasiva. ⚠️ Solo Tribunal Constitucional; el Tribunal Supremo español NO está disponible. Permite acotar la búsqueda a una parte concreta de la resolución, que es lo que distingue el criterio (fundamentos) de lo que no lo es (votos particulares).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 1-based en esta fuente. | |
| desde | No | Fecha inicial, DD/MM/AAAA. | |
| hasta | No | Fecha final, DD/MM/AAAA. | |
| ambito | No | En qué parte buscar. «fundamentos» es donde vive la ratio; «votos_particulares» es justo lo que NO es criterio del Tribunal. | todo |
| terminos | Yes | Qué buscar. Admite los operadores AND y OR del propio buscador. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, and the description is consistent with both. It adds context the annotations cannot carry: the corpus is limited to the Constitutional Court (not the Supreme Court) and the output is non-binding persuasive authority rather than Dominican law. It does not discuss pagination limits or result volume, which would be the remaining behavioral gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the resource and mode, then usage condition, then the two scope warnings, then the ambito rationale. It is dense and every sentence carries information, though the emoji-prefixed warnings lengthen it slightly more than a plain-text statement would.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only search tool with a full schema and no output schema, the description covers what an agent needs: what is searched, which court, which parts of a resolution, and the legal status of the results. Nothing required for correct invocation or correct framing of results is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description adds interpretive weight to 'ambito' by explaining that the distinction between 'fundamentos' (where the ratio lives) and 'votos_particulares' (what is NOT the court's criteria) is precisely what separates criteria from non-criteria. That exceeds the schema's own enum descriptions in emphasis and purpose, though it covers only one of the five parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (resoluciones del Tribunal Constitucional de ESPAÑA) and retrieval mode (texto libre), and explicitly scopes the court ('Solo Tribunal Constitucional; el Tribunal Supremo español NO está disponible'). Combined with the country qualifier, an agent can distinguish it from buscar_jurisprudencia_colombia, buscar_jurisprudencia_francia and the generic buscar_jurisprudencia without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit trigger condition ('Úsala cuando haga falta doctrina constitucional comparada') plus a clear exclusion (not binding Dominican law, only persuasive) and a court-level limitation. It stops short of naming sibling alternatives to route to (e.g. usar buscar_jurisprudencia_colombia para Colombia, leer_resolucion_espana para texto completo), so it is strong but not complete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buscar_jurisprudencia_franciaBuscar jurisprudencia de FranciaARead-onlyInspect
Decisiones de la Cour de cassation, el Conseil constitutionnel y el Conseil d'État, por texto libre.
⚠️ NO es derecho dominicano y NO vincula a ningún tribunal de RD. ⚠️⚠️ Y aquí la advertencia va más allá de lo de costumbre: como el Código Civil dominicano desciende del Código Napoleón, citar a la Cour de cassation al interpretar un artículo homólogo del nuestro es legítimo y corriente, y por eso es fácil resbalar de «así lo entiende la tradición de la que viene nuestro texto» a «así hay que fallar aquí».
⚠️⚠️ EL TEXTO ESTÁ EN FRANCÉS y el buscador es LÉXICO: busca la palabra que escribió el juez francés, no la traducción del término dominicano. «anatocisme», no «anatocismo»; «perte de chance», no «pérdida de oportunidad».
⚠️ Por defecto exige TODAS las palabras, no cualquiera de ellas.
⚠️⚠️ Y devuelve SOLO el tribunal que pides, sin las cours d'appel ni las cours administratives d'appel. Cada resultado trae además el campo organo con el tribunal que lo dictó: míralo antes de citar, porque una cour d'appel no es el supremo francés.
| Name | Required | Description | Default |
|---|---|---|---|
| modo | No | «todas» exige todas las palabras (defecto); «alguna» amplía; «exacta» busca la expresión literal. | todas |
| page | No | 1-based en esta fuente. | |
| rows | No | ||
| ambito | No | Dónde buscar. ⚠️ «resumenes» NO es el texto de la decisión: son los sumarios de catalogación del Service de documentation, que no se citan. «visas» son los textos en los que se apoya, y sirve para encontrar quién interpretó un artículo concreto del Code civil. | todo |
| terminos | Yes | Qué buscar, EN FRANCÉS. | |
| tribunal | No | «cassation» es la Cour de cassation, el supremo judicial francés y el de más peso para RD. «consejo_estado» es el supremo administrativo. «consejo_constitucional» hace control de constitucionalidad y su producción es pequeña y muy pegada al derecho institucional francés. | cassation |
| incluir_instancias_inferiores | No | ⚠️⚠️ Por defecto FALSE, y cambiarlo tiene consecuencias. Con true recibes las instancias inferiores mezcladas y tienes que mirar el campo `organo` de cada resultado: una cour d'appel no es el supremo francés. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond readOnlyHint/openWorldHint: discloses that results are restricted to the requested court unless incluir_instancias_inferiores is true, that each hit carries an `organo` field to check before citing, that the corpus is French-language and searched lexically, and that `resumenes` are non-citable cataloguing summaries.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is correctly front-loaded in the first line, but the body is four stacked warning blocks with escalating emoji, and the `organo`/inferior-courts warning is duplicated almost verbatim from the incluir_instancias_inferiores schema description. The meta line about the warning 'going further than usual' is padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With seven parameters and no output schema, the description carries the return-shape burden and does explain court scoping and the `organo` field. It says nothing about result counts, totals, ordering or how pagination behaves across a large corpus, which leaves a gap for a paginated search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 86%, so the baseline is 3, but the description adds genuine meaning: it explains the default AND-semantics of `modo`, the need to search French terms rather than Dominican translations, and ranks the `tribunal` options by authority for RD rather than merely restating the enum.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb (buscar) plus resource and enumerates the three exact courts covered (Cour de cassation, Conseil constitutionnel, Conseil d'État), which cleanly separates it from siblings like buscar_jurisprudencia_espana or buscar_jurisprudencia_colombia. It also states the search modality (texto libre) up front.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives unusually explicit when/when-not guidance: the results are not Dominican law and do not bind RD courts, and it warns against the specific analogical trap of citing Cour de cassation on homologous Code civil articles. It never names the obvious companion tool leer_decision_francia for reading a hit in full, so the alternative-routing dimension is incomplete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buscar_jurisprudencia_interamericanaBuscar jurisprudencia de la Corte InteramericanaARead-onlyInspect
Sentencias, opiniones consultivas, medidas provisionales, resoluciones de supervisión de cumplimiento y votos de la CORTE INTERAMERICANA DE DERECHOS HUMANOS, por texto completo. Úsala EN LUGAR de una búsqueda web.
Filtros: estado (el Estado demandado, p. ej. «República Dominicana»), tipo y articulo (las sentencias cuyos puntos resolutivos DECLARAN violado ese artículo de la Convención Americana, p. ej. «8.1»). Un valor que no existe no se busca: la respuesta dice cuáles valen.
⚠️ Su fuerza en RD está EN DISPUTA (TC/0256/14): la respuesta trae el aviso y hay que darlo. Cada resultado trae su cita oficial, que se copia tal cual. Lee cada decisión con leer_sentencia_interamericana antes de citarla.
| Name | Required | Description | Default |
|---|---|---|---|
| anio | No | Año de la decisión, cuatro cifras. | |
| page | No | Página, base 0. Cada una trae hasta 50. | |
| tipo | No | ||
| estado | No | Estado demandado, p. ej. «República Dominicana», «Perú». | |
| articulo | No | Artículo de la Convención Americana declarado violado, p. ej. «8.1» o «25». | |
| terminos | No | Qué buscar dentro del texto y de la cita. Varias palabras se buscan juntas. Opcional con un filtro. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/openWorld annotations, it discloses important behavior: invalid filter values are not searched and the response reports which values are valid; each result carries an official citation to copy verbatim; and the response includes a required warning about the disputed force of the Court's rulings in the Dominican Republic.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the resource and scope, then moves efficiently through filters, validation behavior, citation rules, and the required warning. Every sentence earns its place, including the warning and next-step reading instruction.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, open-world search tool with no output schema, the description supplies the essential context: what is searched, how filters work, what happens with invalid values, what the result includes, and how to handle the Dominican Republic warning. Nothing critical for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already high at 83%, but the description adds meaningful semantics for key filters: `estado` is the respondent State and `articulo` means the Convention article declared violated in the operative part. It does not add detail for `anio`, `page`, or `terminos`, which the schema already covers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (buscar) and resource (jurisprudencia de la Corte Interamericana), enumerating the exact document types covered. It is clearly distinguishable from generic or national-jurisprudence siblings because it explicitly scopes the search to the Inter-American Court.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear use directive ('Úsala EN LUGAR de una búsqueda web') and a workflow rule ('Lee cada decisión con leer_sentencia_interamericana antes de citarla'). It does not explicitly address when to prefer this over the generic buscar_jurisprudencia sibling, so it stops just short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buscar_legislacionBuscar legislaciónARead-onlyInspect
Busca LEYES dominicanas en la colección de la Consultoría Jurídica del Poder Ejecutivo: leyes, leyes orgánicas, la Constitución y unas pocas resoluciones. Úsala EN LUGAR de una búsqueda web: aquí está el texto oficial de la ley.
⚠️⚠️ COBERTURA. Aquí NO están los decretos ni los reglamentos del Poder Ejecutivo: esos van por buscar_decretos. Tampoco los CÓDIGOS como tales (Civil, de Procedimiento Civil, de Comercio, Penal, de Trabajo, Tributario…: solo las leyes que los modifican), ni las resoluciones y reglamentos del Poder Judicial (por ejemplo, los de la Jurisdicción Inmobiliaria). Esos textos SÍ están disponibles, en la biblioteca del Poder Judicial: buscar_doctrina para encontrarlos y leer_doctrina (con articulo) para leer un artículo. Las resoluciones y reglamentos de la Suprema Corte de Justicia y del Consejo del Poder Judicial, también por buscar_normas_reguladores (scj, cpj). Buscar aquí un código devuelve cientos de leyes que lo mencionan, con cara de acierto: eso NO significa que el texto no exista.
Los resultados cuyo TÍTULO coincide con lo buscado salen primero y llevan coincide_titulo: true. Si ninguno coincide, la respuesta trae aviso_cobertura; si buscaste un código por su nombre, trae aviso_codigo con dónde está su texto. Léelos antes de concluir nada.
Una ley se cita de su texto, no de lo que un comentarista diga de ella; los códigos y reglamentos de la biblioteca son también el texto de la norma, en edición del Poder Judicial.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Página, base 0. | |
| rows | No | Resultados por página. El techo real NO es este número, es el reloj del gateway (~30 s, luego 504), y lo que tarda depende de cuántas coincidencias haya que ordenar: rows=250 sobre 6.666 coincidencias pasa en 21 s, el mismo rows=250 sobre 114.321 da 504. Acota con facetas ANTES de subir rows, no al revés. | |
| desde | No | Fecha mínima, AAAA o AAAA-MM-DD. | |
| hasta | No | Fecha máxima, AAAA o AAAA-MM-DD. | |
| terminos | Yes | Términos de búsqueda. | |
| ordenamiento | No | Filtro por tipo de norma, tal como lo nombra la colección (hoy: «Ley», «Ley orgánica», «Constitución», «Resolución»). Un valor que no existe NO se busca: la respuesta dice cuáles existen. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint, so the description carries real weight and delivers: title-match ordering with `coincide_titulo`, the `aviso_cobertura` and `aviso_codigo` response flags, and the instruction to read those before concluding. The gateway-timeout guidance lives in the schema, and the description's framing ("con cara de acierto: eso NO significa que el texto no exista") discloses a non-obvious behavioral trap that no structured field captures.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded: purpose, then coverage exclusions, then result-interpretation rules, then citation rationale. Dense but mostly earning its place. The closing paragraph on citing from the text rather than commentary is more scholarly guidance than invocation guidance, and the warning emojis plus bold markers make it heavier than necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description compensates by explaining the ordering, the `coincide_titulo` flag, and the two aviso fields an agent will encounter in the response. Combined with full routing to sibling tools for every out-of-scope corpus, an agent has everything needed to call it and interpret the result correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the parameter docs are unusually rich (rows carries the 504/timeout tradeoff, ordenamiento explains invalid-value handling). The description adds almost nothing about individual parameters — it only indirectly reinforces the ordering-by-title behavior. Baseline 3 is correct when the schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb+resource ("Busca LEYES dominicanas en la colección de la Consultoría Jurídica del Poder Ejecutivo") and enumerates the included norm types (leyes, leyes orgánicas, Constitución, resoluciones). It then explicitly carves out what it does NOT cover, which lets an agent separate it from buscar_decretos and buscar_normas_reguladores without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit use directive ("Úsala EN LUGAR de una búsqueda web") plus negative routing: decretos → buscar_decretos, códigos/resoluciones del Poder Judicial → buscar_doctrina + leer_doctrina, SCJ/CPJ → buscar_normas_reguladores. It even explains a failure mode (searching a code returns hundreds of false positives) so the agent does not misinterpret a bad result set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buscar_normas_reguladoresBuscar normas de los reguladoresARead-onlyInspect
Busca las normas propias de los ÓRGANOS REGULADORES dominicanos: normas generales y resoluciones de la DGII; resoluciones de la Junta Monetaria y reglamentos vigentes del Banco Central; circulares, cartas circulares, instructivos y resoluciones de la Superintendencia de Bancos; resoluciones, reglamentos, normativas y circulares de la SISALRIL; resoluciones y circulares de la Superintendencia de Pensiones (SIPEN), con su estatus; resoluciones y circulares de la Superintendencia de Seguros; resoluciones del Ministerio de Administración Pública (MAP: función pública, carrera administrativa, estructuras), de ProCompetencia (Consejo Directivo y Dirección Ejecutiva) y de la Comisión Reguladora de Prácticas Desleales (CDC); resoluciones y reglamentos del INDOTEL (Consejo Directivo, Dirección Ejecutiva y Presidencia); resoluciones de políticas, de umbrales y de investigaciones y reclamos de la Dirección General de Contrataciones Públicas (DGCP); resoluciones, normas y circulares del Consejo Nacional de Zonas Francas (CNZFE); resoluciones y reglamentos del Pleno de la Junta Central Electoral (JCE); y resoluciones, circulares, instructivos y procedimientos del Ministerio de Hacienda y Economía (incluidos casinos y loterías); ordenanzas, resoluciones y reglamentos del Concejo de Regidores del Distrito Nacional (ADN); resoluciones, disposiciones, actos y normas y reglamentos técnicos de Salud Pública; resoluciones de Relaciones Exteriores (MIREX), Energía y Minas, Interior y Policía y Educación Superior (MESCYT); resoluciones y reglamentos de Cultura; resoluciones, reglamentos y normas ambientales de Medio Ambiente; resoluciones y reglamentos técnicos de edificación de Vivienda (MIVHED); resoluciones de Industria, Comercio y Mipymes (MICM), precios de los combustibles incluidos; resoluciones del Ministerio de Trabajo y del Comité Nacional de Salarios, con su vigencia, y los reglamentos en la edición del Ministerio, con las resoluciones que los desarrollan; resoluciones del Ministerio de la Mujer; resoluciones de ProConsumidor; resoluciones, comunicados, guías e instructivos de la Unidad de Análisis Financiero (UAF) y del CONCLAFIT sobre lavado de activos y financiamiento del terrorismo; reglamentos del Consejo Nacional del Mercado de Valores y normas de la SIMV; y las resoluciones y reglamentos de interés general de la Suprema Corte de Justicia y las resoluciones y reglamentos del Consejo del Poder Judicial. Úsala EN LUGAR de una búsqueda web para cualquiera de ellas.
Busca DENTRO DEL TEXTO de la norma y en su título, sin distinguir tildes, con todas las palabras a la vez. Pagina de 50 en 50 con page y dice total.
⚠️⚠️ COBERTURA. La SIE y el Ministerio de Educación (MINERD) NO están. De la SIMV puede faltar alguna norma. De la Junta Monetaria hay la SELECCIÓN que publica el Banco Central, no todas sus resoluciones. Las que salen con solo_por_titulo se encuentran solo por su título: lo que diga su texto no cuenta para la búsqueda. Los decretos y reglamentos del Poder Ejecutivo van por buscar_decretos, y las leyes por buscar_legislacion.
⚠️ Si la respuesta trae aviso_cobertura, la búsqueda todavía no cubre todas las normas: un cero no dice que la norma no exista.
⚠️ La vigencia: solo vigente: true dice que la institución la rotula vigente. Con vigente: null no se sabe; compruébala antes de citarla como derecho en vigor. El título y la descripción los redacta la institución: lo citable es el texto, que da leer_norma_reguladora con la clave de cada resultado.
| Name | Required | Description | Default |
|---|---|---|---|
| anio | No | Año de la norma, cuatro cifras. Opcional. | |
| page | No | Página, base 0. Cada una trae hasta 50. | |
| terminos | No | Qué buscar dentro del texto o del título. Varias palabras se buscan juntas. | |
| institucion | No | Opcional: dgii, bcrd (Junta Monetaria y Banco Central), sb (Superintendencia de Bancos), sisalril, sipen (Superintendencia de Pensiones), seguros (Superintendencia de Seguros), map (Ministerio de Administración Pública), procompetencia, cdc (Comisión Reguladora de Prácticas Desleales), indotel, dgcp (Contrataciones Públicas), cnzfe (Zonas Francas), jce (Junta Central Electoral), hacienda (Ministerio de Hacienda y Economía), adn (Concejo de Regidores del Distrito Nacional), salud (Salud Pública), mirex (Relaciones Exteriores), ambiente (Medio Ambiente), mescyt (Educación Superior), mem (Energía y Minas), proconsumidor, interior (Interior y Policía), cultura, vivienda (MIVHED), micm (Industria, Comercio y Mipymes), trabajo (Ministerio de Trabajo y Comité Nacional de Salarios), mujer, uaf (Unidad de Análisis Financiero y CONCLAFIT), simv (Superintendencia y Consejo Nacional del Mercado de Valores), scj (Suprema Corte de Justicia), cpj (Consejo del Poder Judicial). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint; the description goes well beyond them by disclosing coverage gaps, the `aviso_cobertura` warning that a zero result is not proof of non-existence, the `solo_por_titulo` limitation, and the vigencia semantics (only vigente:true is institution-labeled; null is unknown). It also tells the agent that título/descripción are institution-authored and that the citable text comes from leer_norma_reguladora with the `clave`, which is exactly the caveat needed for a legal-research tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is a ~350-word run-on enumerating every regulator and its document types, largely duplicating the `institucion` enum descriptions verbatim, and it pushes the genuinely critical content (cobertura, aviso_cobertura, vigencia) behind that wall. The warning blocks that follow are well structured and earn their place, but the enumeration is redundant bulk.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description still explains the return-relevant fields (`total`, `page`, `solo_por_titulo`, `aviso_cobertura`, `vigente`, `clave`) and the handoff to leer_norma_reguladora. Combined with the coverage caveats, an agent has everything needed to query, interpret zeros, and cite correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents `terminos`, `anio`, `page` (50 per page) and the full `institucion` enum. The description adds only the accent-insensitive matching behavior and restates the all-words-at-once and 50-per-page semantics already present in the schema, so it stays at the baseline rather than adding real parameter insight.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (busca) and a precisely bounded resource (normas propias de los órganos reguladores dominicanos), then enumerates the document types per institution so an agent knows exactly what corpus is hit. It explicitly separates itself from buscar_decretos (decretos y reglamentos del Poder Ejecutivo) and buscar_legislacion (leyes), so siblings are distinguishable without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit positive directive ('Úsala EN LUGAR de una búsqueda web') plus negative routing to the two competing tools for decrees and laws. It also names hard exclusions (SIE y MINERD no están) and partial-coverage cases (SIMV, Junta Monetaria solo una selección), which is the when-not-to-trust-it guidance most tools lack.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
explorar_facetasExplorar valores de un filtroARead-onlyInspect
Publica el vocabulario REAL de un filtro, con el número de documentos de cada valor. Un valor con conteo es un valor que funciona como filtro, y esta es la única fuente fiable de esos valores.
Con contiene se busca dentro de la faceta. Si no aparece, la respuesta dice que ese valor no existe con esa grafía y ofrece las parecidas, en lugar de dejar que se filtre por él y devuelva un cero que aparenta ser un hecho del mundo.
Con terminos o tribunal los conteos son los de ESA búsqueda, que es como se ve qué salas o materias tienen algo del tema antes de gastar una consulta.
| Name | Required | Description | Default |
|---|---|---|---|
| tope | No | Cuántos valores devolver. | |
| faceta | Yes | Qué filtro explorar. Acepta tanto el nombre que usa buscar_jurisprudencia (sala, materia, via) como el interno (instancia, ambitos, tipoproceso). | |
| contiene | No | Filtra los valores que contengan este texto (sin tildes ni mayúsculas). | |
| terminos | No | Acota los conteos a esta búsqueda. | |
| tribunal | No | Acota los conteos a estos tribunales. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only say readOnly and openWorld, so the description usefully adds that the counts are the authoritative source of valid filter values and that an unmatched `contiene` returns a "does not exist with that spelling" answer plus near matches instead of a misleading zero. That is real behavioral disclosure beyond the structured fields; only ordering/pagination of the result list is left unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Core purpose is front-loaded in the first sentence, then parameters are addressed in short, scoped paragraphs. Slightly verbose in the middle paragraph, but each sentence carries information the agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter read-only tool with no output schema, the description conveys enough about the return: values paired with document counts and a spelling-suggestion path on misses. Missing only secondary details such as result ordering or how many values come back by default beyond the schema's `tope`.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage the baseline is 3, and the description earns above it by explaining the semantics of `contiene` (in-facet search with fuzzy fallback) and clarifying that `terminos` and `tribunal` scope the counts to that particular search rather than global counts. `tope` and the enum aliases are left to the schema, which already documents them well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Publica el vocabulario REAL de un filtro, con el número de documentos de cada valor" gives a specific verb (publica) plus resource (valores de un filtro) and states the shape of the output. It is unmistakably a facet/vocabulary introspection tool rather than a search, though it never names a sibling to contrast with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The last clause establishes context for use: checking which salas or materias have material "antes de gastar una consulta", which tells the agent this is a cheap pre-flight step before a real search. It stops short of naming the search tool to use afterwards or any explicit when-not-to-use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
leer_acuerdo_plenoLeer un acuerdo pleno de una Sala de la SCJARead-onlyInspect
Los acuerdos plenos NO JURISDICCIONALES con que la Primera y la Tercera Sala de la Suprema Corte de Justicia fijaron cómo aplican la Ley 2-23 sobre el recurso de casación: el INTERÉS CASACIONAL y sus supuestos, el orden de examen de la admisibilidad, la cuantía, la redacción de los memoriales de casación y de defensa, y el cómputo de los plazos. No son sentencias, así que buscar_jurisprudencia no los encuentra.
Sin id, la lista de acuerdos con su Sala, su fecha y desde cuándo se aplican. Con id, el texto del PDF del Poder Judicial: buscar da las páginas donde aparece un término, desde/hasta un tramo, pagina una sola.
⚠️ Cita SOLO lo leído con pagina o desde/hasta, literal y con su página. Es la guía que la Sala dice que seguirá, no un criterio jurisprudencial: para afirmar cómo falla la Sala, búscalo además en sus sentencias.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | El acuerdo. Sin él, la lista. | |
| desde | No | Primera página de un tramo a leer entero (1-based). | |
| hasta | No | Última página del tramo. | |
| buscar | No | Término a localizar dentro del acuerdo. No distingue tildes ni mayúsculas. | |
| pagina | No | Página del PDF a leer entera (1-based). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint; the description adds real context beyond them — the authoritative status of the documents ('la guía que la Sala dice que seguirá, no un criterio jurisprudencial'), the citation rule requiring literal quotes with page numbers read via `pagina` or `desde`/`hasta`, and what each mode returns. It stops short of describing error behavior or how `buscar` composes with `desde`/`hasta`.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the identity of the documents and their scope, then the mode behavior, then the citation warning. Dense but every sentence carries operational information; nothing is padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and five optional parameters, the description adequately sketches what each mode yields (list with Sala, fecha, and applicability date; PDF text for reads). The only gap is the exact shape of the list response and whether `buscar` can be combined with a page range, which is minor given how well the calling patterns are explained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description adds meaning: it clarifies the list-vs-read switch keyed on `id` and, importantly, that only text obtained through `pagina` or `desde`/`hasta` is citable — implying `buscar` hits alone are insufficient. That is semantic guidance the schema does not carry.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the specific resource (acuerdos plenos no jurisdiccionales of the Primera and Tercera Sala), enumerates the subject matter they cover (interés casacional, admisibilidad, cuantía, memoriales, plazos), and explicitly distinguishes itself from buscar_jurisprudencia ('No son sentencias, así que buscar_jurisprudencia no los encuentra'). An agent can identify the tool and its scope without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit routing: use buscar_jurisprudencia for sentencias, and additionally search the Sala's sentencias when asserting how it actually rules, because these agreements are guidance rather than binding criteria. It also states the two modes (list without `id`, read with `id`) so the agent knows which call shape to use when.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
leer_decision_franciaLeer una decisión francesaBRead-onlyInspect
Texto íntegro de una decisión francesa, con su ECLI, sus visas y el mapa que marca dónde habla la Cour y dónde habla la parte.
⚠️⚠️ EL ESCRITO DEL RECURRENTE VA ANEXADO DESPUÉS DEL FALLO y puede ocupar más de la mitad del documento. Quien lea de seguido y cite el final estará citando al abogado que perdió. El criterio vive bajo «Réponse de la Cour» (estilo posterior a 2019) o tras «Mais attendu que» (clásico).
⚠️ NO es derecho dominicano y NO vincula a ningún tribunal de RD, por mucho que su lectura de un artículo del Code civil se parezca a la de un artículo del nuestro.
⚠️⚠️ AL CITARLA: primero el fragmento en FRANCÉS palabra por palabra, que es lo único citable, y debajo una traducción marcada como «traducción de trabajo, no oficial». Nunca al revés y nunca solo la traducción. La respuesta trae bloque_de_cita con el encabezado, la plantilla en ese orden y el enlace, ya armados.
⚠️ Con una decisión del Conseil d'État o del Conseil constitutionnel puede llegar la ficha sin el texto: eso se dice con todas las letras y se da el enlace, nunca se sirve una decisión vacía.
| Name | Required | Description | Default |
|---|---|---|---|
| modo | No | «mapa» solo las fronteras; «buscar» un tramo alrededor de un término. | completo |
| buscar | No | Obligatorio en modo «buscar». En FRANCÉS. | |
| ventana | No | ||
| decision | Yes | El identificador que devuelve la búsqueda, p. ej. «JURITEXT000037999394». |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, and the description is consistent with a read of an external corpus. It genuinely adds behavior beyond that: the appended 'escrito del recurrente' can be over half the document, the operative reasoning sits under 'Réponse de la Cour' or 'Mais attendu que', and a ficha may arrive without text rather than as an empty decision. However, much of the length is citation etiquette for the agent's answer rather than properties of the tool call itself, so the behavioral payload is diluted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first sentence, which is correct. But the body is a stack of four ⚠️ blocks, two of them double-flagged, and a substantial share is post-retrieval citation policy (French verbatim first, marked working translation) rather than anything needed to select or invoke the tool. The emphasis markers multiply visually without adding decision-relevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description compensates by naming the returned 'bloque_de_cita' with its header, template order, and link, plus the degradation case where no text is served. For a single-resource reader that is close to complete. What is missing is how it chains to the French search tool and what 'ventana' controls.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75% and the schema already documents 'modo' (with its enum glosses) and 'buscar' (mandatory in 'buscar' mode, in French). The description adds no meaning to 'modo', 'buscar', or 'ventana' – the window size is undocumented in both places, which is the main remaining gap. Baseline 3 applies since the schema carries most of the load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence states a specific verb+resource: full text ('texto íntegro') of a French decision, and enumerates what comes with it (ECLI, visas, map of who speaks where). The jurisdiction word 'francesa' separates it from the many sibling 'leer_' tools for Colombia, Spain, Inter-American, etc. It stops short of naming the retrieval sibling (buscar_jurisprudencia_francia) that feeds it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the tool is the reader for French decisions, and the mode enum values are glossed in the schema, not in the description. There is no explicit 'call this after buscar_jurisprudencia_francia' or 'do not call for RD/Colombian material – use leer_sentencia_colombia' routing, which matters given roughly a dozen sibling readers. The Conseil d'État/Constitutionnel note gestures at an edge case but frames it as output behavior rather than a when-to-use condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
leer_decretoLeer un decreto o reglamentoARead-onlyInspect
El texto de un decreto o reglamento del Poder Ejecutivo, por páginas, extraído de su PDF oficial en la Consultoría Jurídica. Se pide con el doc_id que devuelve buscar_decretos.
Seis modos. Sin más argumentos, la FICHA: cuántas páginas tiene. Con estructura, los TÍTULOS, CAPÍTULOS y Secciones con su página y su primer artículo, sin el texto. Con articulo, la página donde empieza ese artículo (reconoce el encabezado «Art. N.-», no las menciones del artículo dentro de otros). Con buscar, las páginas donde aparece el término y su contexto. Con desde/hasta, ese tramo entero. Con pagina, esa página sola.
⚠️⚠️ Un reglamento puede pasar de cien páginas. NO lo leas entero: pide la estructura o el articulo, y lee con desde/hasta solo el capítulo que responde la pregunta.
⚠️ Cita SOLO lo leído con pagina o desde/hasta, literal: el contexto de buscar localiza, no se cita. Si la respuesta trae aviso_cobertura, la búsqueda NO miró el documento entero.
⚠️⚠️ El PDF es un recorte de la Gaceta Oficial: puede traer el final del decreto anterior y el principio del siguiente. Cita solo desde el encabezado «NUMERO: N-AA» del que buscas hasta el del siguiente (decretos_que_empiezan_aqui).
⚠️ Un decreto puede modificar o derogar otros: los considerandos y el dispositivo lo dicen. Comprueba la vigencia antes de citarlo como derecho aplicable.
⚠️ La primera lectura tarda unos segundos; las siguientes son inmediatas. No reintentes por lentitud.
| Name | Required | Description | Default |
|---|---|---|---|
| desde | No | Primera página de un tramo a leer entero (1-based). | |
| hasta | No | Última página del tramo. Si pides demasiadas, se recorta y se dice. | |
| buscar | No | Término a localizar dentro del documento. No distingue tildes ni mayúsculas. | |
| doc_id | Yes | El `doc_id` que trae cada resultado de buscar_decretos. | |
| pagina | No | Página del PDF a leer entera (1-based). | |
| articulo | No | Número del artículo a localizar. Devuelve la página donde empieza. | |
| estructura | No | true: los TÍTULOS, CAPÍTULOS y Secciones con su página y su primer artículo, sin el texto. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is set. The description nonetheless adds substantial behavioral context beyond annotations: the PDF is a Gaceta Oficial excerpt that may contain adjacent decrees, decretos_que_empiezan_aqui marks boundaries, first read is slow (don't retry), and decrees may amend/repeal others. These are valuable, but the emoji warnings crowd out return-shape detail (covered separately by output schema absence).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the resource and the six modes, then grouped warnings. Mostly earns its length, though the stacked ⚠️ blocks and repeated emphasis add bulk; a tighter version could convey the same boundaries with less repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter tool with no output schema, the description supplies the missing context: what each mode returns, pagination/truncation behavior (hasta recorta y se dice), aviso_cobertura semantics, and citation hygiene. An agent has everything needed to invoke correctly and interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are already documented. The description still adds real semantics: articulo matches the 'Art. N.-' header rather than in-text mentions, buscar is accent/case-insensitive, desde/hasta reads a contiguous range, and the mode-selection logic itself clarifies parameter interaction beyond the flat schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (leer) and resource (decreto/reglamento del Poder Ejecutivo), scoped to pages of the official PDF from Consultoría Jurídica, and explicitly ties doc_id to buscar_decretos, distinguishing it from that sibling. An agent knows immediately this is the fetch-by-id read tool, not a search tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Enumerates all six modes and the exact argument that selects each (estructura, articulo, buscar, desde/hasta, pagina, or bare call = ficha). Adds explicit when-not guidance: don't read a 100-page reglamento whole, use estructura/articulo first and read only the relevant chapter, and when to distrust buscar results via aviso_cobertura.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
leer_doctrinaLeer doctrinaARead-onlyInspect
El texto de una obra de la biblioteca, por páginas, extraído de su PDF oficial. Se pide con el isbn13 que devuelve buscar_doctrina, o con la clave de un artículo de articulos_de_revista.
Cinco modos. Sin más argumentos, la FICHA: cuántas páginas tiene y, si el PDF lo trae, su ÍNDICE con la página de cada sección. Con articulo, la página donde empieza ese artículo de un código o reglamento (reconoce el encabezado «Art. N.-», no las menciones del artículo dentro de otros ni el índice). Con buscar, las páginas donde aparece el término y su contexto; no distingue tildes ni mayúsculas. Con desde/hasta, ese tramo entero (hasta 120 páginas por lectura). Con pagina, esa página sola. Y con entrada (sin isbn13), el lema del Diccionario Jurídico Dominicano: va directo a su página.
⚠️ Empieza por la ficha. Si la obra trae índice, localiza la sección por ahí y pide sus páginas con desde/hasta: es más barato y más fiel que barrer el libro. Si no trae índice, usa buscar.
⚠️ La página que devuelve es la del PDF, y es la que se usa en la cita («pág. 214»). Cita SOLO lo leído con pagina o desde/hasta, literal: el contexto de buscar localiza, no se cita.
⚠️⚠️ Si la respuesta trae aviso_cobertura, la búsqueda NO miró la obra entera. Un cero ahí significa «no está en las páginas que miré», nunca «no está en la obra»: dilo así o no lo digas.
⚠️⚠️ DE QUIÉN SON LAS PALABRAS. Cada tramo dice dónde cae y de quién es, igual que el texto de una sentencia:
· es_cita: true → el tramo está DENTRO DE COMILLAS: son palabras que el autor CITA, no suyas. Atribuírselas es el mismo error que citar un voto disidente como criterio del tribunal.
· autor → en una OBRA COLECTIVA, quién firma ESE capítulo. Se cita a esa persona, no al coordinador ni a la institución que edita.
· es_aparato: true → el acierto está en el índice, las abreviaturas o la bibliografía. La palabra sale de verdad, pero la obra NO trata el asunto ahí.
· seccion → el epígrafe bajo el que cae, para juzgar si viene a cuento.
· aviso_citas → el libro no marca sus citas, así que NO se puede saber si un pasaje es del autor o de alguien a quien cita. No lo atribuyas.
⚠️ Con un término frecuente, mira donde_aparece ANTES que los tramos: dice en qué epígrafes se concentra el término y quién los firma. Ocho tramos sueltos de un término que sale 500 veces son ruido; el reparto dice dónde vive el asunto, y entonces se piden ESAS páginas con desde/hasta.
⚠️ La primera lectura tarda unos segundos; las siguientes son inmediatas. No es un fallo: no reintentes por lentitud.
| Name | Required | Description | Default |
|---|---|---|---|
| clave | No | La clave de un artículo de revista (`articulos_de_revista` de buscar_doctrina), en lugar del isbn13. | |
| desde | No | Primera página de un tramo a leer entero (1-based). Úsalo con lo que diga el índice. | |
| hasta | No | Última página del tramo. Como mucho 120 páginas por lectura; si pides más, se recorta y se dice. | |
| buscar | No | Término a localizar dentro de la obra. No distingue tildes ni mayúsculas. | |
| isbn13 | No | El isbn13 de la obra, tal como lo devuelve buscar_doctrina. | |
| pagina | No | Página del PDF a leer entera (1-based). | |
| entrada | No | Un lema del Diccionario Jurídico Dominicano («anatocismo», «desahucio»). Lee su página directamente, en cualquiera de los dos tomos, sin isbn13. | |
| articulo | No | Número del artículo a localizar en un código o reglamento. Devuelve la página donde empieza. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond readOnlyHint/openWorldHint it discloses latency on first read, the truncation behavior («se recorta y se dice») and, critically, the meaning of aviso_cobertura — a zero means 'not in the pages I scanned'. It even warns about attribution risks via es_cita, autor, es_aparato and aviso_citas, which annotations cannot express. Slight deduction because this is delivered as long policy prose rather than a compact behavioral contract.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded purpose and mode enumeration are good, but the ⚠️ stack is long and partly restates schema text (the 120-page cap appears in both the description and two schema fields), and the citation-etiquette block is agent policy rather than tool-selection information. Density is justified by complexity, but trimming is possible.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description compensates by naming every returned field of consequence — ficha/índice, es_cita, autor, es_aparato, seccion, aviso_citas, donde_aparece, aviso_cobertura — with enough semantics to interpret them correctly. Nothing an agent needs to call or read the result is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds real meaning the schema lacks: the mutual-exclusion/mode model across eight all-optional params, that `articulo` matches the «Art. N.-» heading and not in-text mentions or the index, and that `entrada` bypasses isbn13 entirely.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb+resource+scope: «El texto de una obra de la biblioteca, por páginas, extraído de su PDF oficial», and immediately states the identifier source (isbn13 from buscar_doctrina, clave from articulos_de_revista). An agent can tell this apart from the retrieval siblings without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly enumerates five invocation modes and what each returns, plus routing advice: «Empieza por la ficha… Si no trae índice, usa buscar». It also covers the alternative sources of identifiers and a negative case («no reintentes por lentitud»).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
leer_doctrina_constitucionalLeer doctrina constitucionalARead-onlyInspect
El texto de una publicación del Centro de Estudios Constitucionales, por páginas, extraído de su PDF oficial. Se pide con el slug que devuelve buscar_doctrina_constitucional.
Cinco modos. Sin más argumentos, la FICHA: cuántas páginas tiene y, si el PDF lo trae, su ÍNDICE con la página de cada sección. Con articulo, la página donde empieza ese artículo de un código o reglamento (reconoce el encabezado «Art. N.-», no las menciones del artículo dentro de otros ni el índice). Con buscar, las páginas donde aparece el término y su contexto; no distingue tildes ni mayúsculas. Con desde/hasta, ese tramo entero (hasta 120 páginas por lectura). Con pagina, esa página sola. Y con entrada (sin isbn13), el lema del Diccionario Jurídico Dominicano: va directo a su página.
⚠️ Empieza por la ficha. Si la obra trae índice, localiza la sección por ahí y pide sus páginas con desde/hasta: es más barato y más fiel que barrer el libro. Si no trae índice, usa buscar.
⚠️ La página que devuelve es la del PDF, y es la que se usa en la cita («pág. 214»). Cita SOLO lo leído con pagina o desde/hasta, literal: el contexto de buscar localiza, no se cita.
⚠️⚠️ Si la respuesta trae aviso_cobertura, la búsqueda NO miró la obra entera. Un cero ahí significa «no está en las páginas que miré», nunca «no está en la obra»: dilo así o no lo digas.
⚠️⚠️ DE QUIÉN SON LAS PALABRAS. Cada tramo dice dónde cae y de quién es, igual que el texto de una sentencia:
· es_cita: true → el tramo está DENTRO DE COMILLAS: son palabras que el autor CITA, no suyas. Atribuírselas es el mismo error que citar un voto disidente como criterio del tribunal.
· autor → en una OBRA COLECTIVA, quién firma ESE capítulo. Se cita a esa persona, no al coordinador ni a la institución que edita.
· es_aparato: true → el acierto está en el índice, las abreviaturas o la bibliografía. La palabra sale de verdad, pero la obra NO trata el asunto ahí.
· seccion → el epígrafe bajo el que cae, para juzgar si viene a cuento.
· aviso_citas → el libro no marca sus citas, así que NO se puede saber si un pasaje es del autor o de alguien a quien cita. No lo atribuyas.
⚠️ Con un término frecuente, mira donde_aparece ANTES que los tramos: dice en qué epígrafes se concentra el término y quién los firma. Ocho tramos sueltos de un término que sale 500 veces son ruido; el reparto dice dónde vive el asunto, y entonces se piden ESAS páginas con desde/hasta.
⚠️ Es doctrina: NO es criterio del tribunal, aunque la publique el tribunal.
⚠️ La primera lectura tarda unos segundos; las siguientes son inmediatas. No es un fallo: no reintentes por lentitud.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | El identificador de la obra, tal como lo devuelve la búsqueda. | |
| desde | No | Primera página de un tramo a leer entero (1-based). Úsalo con lo que diga el índice. | |
| hasta | No | Última página del tramo. Como mucho 120 páginas por lectura; si pides más, se recorta y se dice. | |
| buscar | No | Término a localizar dentro de la obra. No distingue tildes ni mayúsculas. | |
| pagina | No | Página del PDF a leer entera (1-based). | |
| articulo | No | Número del artículo a localizar en un código o reglamento. Devuelve la página donde empieza. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnly and openWorld; the description goes far beyond by disclosing the 120-page cap and truncation behavior, the cold-start latency of the first read ('no reintentes por lentitud'), and the semantics of es_cita / autor / es_aparato / aviso_citas / aviso_cobertura. It even warns that doctrine is not tribunal criteria despite the publisher.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded: purpose, then modes, then warnings, with no filler sentences — each warning carries distinct operational content. It is nonetheless a dense wall of ⚠️ bullets, and the `entrada` sentence is both long and (per the schema) wrong, which costs a point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description does the work of explaining the return shape (page numbers, coverage notice, appearance distribution, per-passage attribution fields) — a genuinely complete picture for a paginated reader. The one hole is the phantom `entrada` parameter, which contradicts the strict schema and would break calls if followed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Adds real meaning beyond the 100%-covered schema: `articulo` matches the 'Art. N.-' header and explicitly not in-text mentions or the index, and the description layers a strategy (ficha → índice → desde/hasta) over the raw params. However, it describes an `entrada` mode for the Diccionario Jurídico that does not exist in the schema (additionalProperties: false), so an agent following it would issue an invalid call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (leer el texto de una publicación del Centro de Estudios Constitucionales, por páginas, desde su PDF oficial) and immediately ties itself to the search sibling by saying the `slug` comes from buscar_doctrina_constitucional. An agent can distinguish it from buscar_doctrina_constitucional and leer_doctrina without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly enumerates the five operating modes and when each applies (ficha first, then index + desde/hasta, and buscar only when there is no index). Adds exclusions and negative guidance — do not cite `buscar` context, do not treat a zero under aviso_cobertura as absence — which is exactly the when/when-not detail the dimension rewards.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
leer_norma_reguladoraLeer una norma de un reguladorARead-onlyInspect
El texto de una norma de la DGII, la Junta Monetaria, el Banco Central, la Superintendencia de Bancos, la SISALRIL, la SIPEN, la Superintendencia de Seguros, el MAP, ProCompetencia, la CDC, el INDOTEL, la DGCP, el CNZFE, la JCE, Hacienda, el Concejo del ADN, ProConsumidor o los ministerios de Salud Pública, Relaciones Exteriores, Medio Ambiente, Educación Superior, Energía y Minas, Interior y Policía, Cultura, Vivienda, Industria y Comercio, Trabajo y la Mujer, la UAF y el CONCLAFIT, la Suprema Corte de Justicia o el Consejo del Poder Judicial, por páginas, extraído del PDF que publica la institución. Se pide con la clave que devuelve buscar_normas_reguladores.
Seis modos. Sin más argumentos, la FICHA: cuántas páginas tiene. Con estructura, los TÍTULOS, CAPÍTULOS y Secciones con su página y su primer artículo, sin el texto. Con articulo, la página donde empieza ese artículo. Con buscar, las páginas donde aparece el término y su contexto. Con desde/hasta, ese tramo entero. Con pagina, esa página sola.
⚠️⚠️ Un reglamento puede pasar de cien páginas. NO lo leas entero: pide la estructura o el articulo, y lee con desde/hasta solo lo que responde la pregunta.
⚠️ Cita SOLO lo leído con pagina o desde/hasta, literal, con el enlace de la institución. El contexto de buscar localiza, no se cita. Algunos PDF son escaneos sin texto: entonces se dice y se da el enlace.
⚠️ La primera lectura tarda unos segundos; las siguientes son inmediatas. No reintentes por lentitud.
| Name | Required | Description | Default |
|---|---|---|---|
| clave | Yes | La `clave` que trae cada resultado de buscar_normas_reguladores. | |
| desde | No | Primera página de un tramo a leer entero (1-based). | |
| hasta | No | Última página del tramo. Si pides demasiadas, se recorta y se dice. | |
| buscar | No | Término a localizar dentro del documento. No distingue tildes ni mayúsculas. | |
| pagina | No | Página del PDF a leer entera (1-based). | |
| articulo | No | Número del artículo a localizar. Devuelve la página donde empieza. | |
| estructura | No | true: los TÍTULOS, CAPÍTULOS y Secciones con su página y su primer artículo, sin el texto. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only say readOnly/openWorld; the description adds real behavioral context beyond them: first read is slow and later reads are cached, do not retry on slowness, oversized ranges get truncated and reported, and some PDFs are image scans with no text (in which case the link is returned). It also states a citation policy distinguishing citable modes (`pagina`, `desde`/`hasta`) from the non-citable `buscar` context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The mode list and the three ⚠️ blocks are front-loaded and each carries actionable content. The opening sentence's long enumeration of ~30 regulators is heavy, though it does establish scope; a grouped phrasing would have preserved the meaning at a fraction of the length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 optional params, no output schema, and a document corpus that can exceed a hundred pages, the description covers the failure modes an agent would otherwise hit: scan-only PDFs, truncation, latency, and citation validity. Nothing needed to call it correctly or to interpret the result appears to be missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so per-parameter meaning is already documented; the description nevertheless adds the mode model that the flat schema cannot express (which combination of optional params yields ficha vs. outline vs. range, and that `buscar` returns locating context only). It stops short of stating precedence when conflicting modes are combined (e.g., `pagina` plus `desde`), which keeps it off a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb and resource (leer el texto de una norma, por páginas, extraído del PDF) and enumerates the covered regulators, so the agent knows exactly what corpus this tool serves. It also names the sibling that supplies the required `clave` (buscar_normas_reguladores), making the pairing unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly defines six modes and the argument combination that selects each (no args = ficha, `estructura`, `articulo`, `buscar`, `desde`/`hasta`, `pagina`), plus a strong when-not: do not read a 100+ page regulation end to end. It also routes the agent forward ('Se pide con la `clave` que devuelve buscar_normas_reguladores'), which is exactly the alternative-selection guidance this dimension rewards.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
leer_resolucion_espanaLeer una resolución del TC españolARead-onlyInspect
Texto íntegro de una resolución del Tribunal Constitucional de España, con su ECLI y el mapa que marca dónde están los Antecedentes, los Fundamentos jurídicos y los votos particulares. ⚠️ Sin leer el texto no hay criterio que citar: la síntesis de la búsqueda es catalogación, no palabras del fallo. ⚠️ Doctrina persuasiva en RD.
| Name | Required | Description | Default |
|---|---|---|---|
| modo | No | «mapa» solo las fronteras; «buscar» un tramo alrededor de un término. | completo |
| buscar | No | Obligatorio en modo «buscar». | |
| ventana | No | ||
| resolucion | Yes | La referencia, como «STC 52/2026» o «ATC 12/2020». También vale el id interno que devuelve la búsqueda. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so safety is covered; the description goes further by disclosing the actual payload (full text + ECLI + structural map) and flagging that search output is cataloguing, not the ruling's own words. It doesn't discuss length limits or truncation for very long resolutions, which is the remaining behavioral unknown.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with what is returned, then two dense warnings that each carry operational weight. The trailing 'Doctrina persuasiva en RD' is cryptic and under-explained, the one phrase that doesn't clearly earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description compensates by describing the returned structure (íntegro + ECLI + mapa). For a 4-parameter read tool with readOnly annotations this is nearly sufficient; only the 'ventana' window and behavior on exceptionally long rulings are left unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75% and the schema itself documents modo's three values, buscar's conditional requirement and resolucion's accepted formats (STC 52/2026 or internal id). The description adds nothing parameter-specific, and 'ventana' is undocumented in both places. Baseline 3 for high-coverage schemas doing the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (leer), a precise resource (resolución del Tribunal Constitucional de España), and enumerates what comes back: texto íntegro, ECLI y mapa de Antecedentes/Fundamentos/votos particulares. That distinguishes it from the buscar_* siblings and from the other national leer_* tools without needing the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The warning 'Sin leer el texto no hay criterio que citar: la síntesis de la búsqueda es catalogación, no palabras del fallo' establishes the workflow position — read this before citing, don't cite search summaries. It stops short of naming the concrete alternatives (buscar_jurisprudencia_espana, resolver_referencia, obtener_texto_completo), so routing is implied rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
leer_sentencia_colombiaLeer una sentencia de ColombiaARead-onlyInspect
Texto íntegro de una sentencia de la Corte Constitucional de Colombia, con el mapa que marca dónde empiezan los SALVAMENTOS y las ACLARACIONES de voto. ⚠️ Sin leer el texto no hay criterio que citar: el tema y el resumen de la búsqueda los redacta la relatoría, no la Corte. ⚠️ Doctrina persuasiva en RD, nunca vinculante.
| Name | Required | Description | Default |
|---|---|---|---|
| modo | No | «mapa» solo las fronteras; «buscar» un tramo alrededor de un término. | completo |
| buscar | No | Obligatorio en modo «buscar». | |
| ventana | No | ||
| sentencia | Yes | La referencia, como T-012/23, C-355/06 o SU-214/16 (campo «sentencia» de la búsqueda). No acepta direcciones: el texto se lee siempre de la relatoría de la Corte Constitucional de Colombia. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly and openWorld behavior; the description adds valuable context about what the returned text contains, including salvamentos and aclaraciones, and warns that search metadata is not authoritative. It does not cover error behavior, truncation, or permissions, so it is strong but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded and the warnings are compact and relevant to citation behavior. The abbreviation “RD” is somewhat cryptic and could distract, but the description remains efficient overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-output-schema tool, the description explains the core return content and citation caveats well. Modes and reference format are left to the schema, and ventana remains unexplained, so it is complete enough but not fully self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not explain the parameters; the schema documents sentencia, modo, and buscar, but ventana has only bounds/default and no meaning. With 75% schema description coverage, this is adequate but the description adds no parameter guidance of its own.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: full text of a Colombian Constitutional Court ruling, plus a map of where dissents and clarifications begin. This distinguishes it from the buscar_* siblings by emphasizing full-text reading rather than search-result metadata.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly warns that the full text must be read before citing a criterion and that search topic/summary text comes from the relatoría, not the Court. It gives strong usage context but does not explicitly name the alternative search sibling or state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
leer_sentencia_interamericanaLeer una decisión de la Corte InteramericanaARead-onlyInspect
Una decisión de la Corte Interamericana por su clave. Sin modo, lo que DECIDIÓ: los puntos resolutivos y el mapa, que dice con su página dónde empiezan los ALEGATOS de la Comisión, del Estado o de los representantes, las CONSIDERACIONES de la Corte y los votos. Con modo: "buscar", los tramos donde aparece un término y de quién son. Con modo: "paginas", hasta diez páginas.
⚠️ El criterio de la Corte está en sus consideraciones: lo que va bajo «Alegatos» es de una parte, y un voto es de un juez. Se cita con la cita oficial y el párrafo («párr. 123»).
| Name | Required | Description | Default |
|---|---|---|---|
| modo | No | decision | |
| clave | Yes | La `clave` de buscar_jurisprudencia_interamericana. | |
| desde | No | Modo «paginas»: primera página. | |
| hasta | No | Modo «paginas»: última (como mucho diez). | |
| buscar | No | Obligatorio en modo «buscar». | |
| ventana | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint and openWorldHint already declared, the description adds genuinely useful interpretive context: the Court's actual criterion lives in the consideraciones, text under «Alegatos» belongs to a party, and a voto belongs to a single judge, plus the citation convention with `cita` and paragraph. It does not cover failure behavior (e.g., missing `buscar`, out-of-range pages) or what the map/page output looks like structurally, so it stops short of 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and then mode-by-mode behavior, followed by a bolded interpretive warning that is genuinely high-value rather than padding. The mode sentences are dense run-ons, and the warning's capitalization and quotes make it slightly harder to parse, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter, three-mode reader with no output schema, the description does describe the return shape per mode (resolutive points, page map with where each section starts, term snippets, page text), which is the necessary compensation for a missing output schema. The undocumented `ventana` parameter and the absent 'get clave from the search tool first' instruction keep it from being complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%, so baseline is 3. The description adds real meaning for `modo`, `buscar` and `paginas` (ten-page ceiling, who a term belongs to), but `ventana` is undocumented in both the schema and the description, and `desde`/`hasta` are only echoed from the schema rather than elaborated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Una decisión de la Corte Interamericana por su clave') and then enumerates what each of the three modes returns: resolutive points and a page map, term occurrences with authorship, or up to ten pages. The resource is clearly distinguished from sibling readers such as leer_sentencia_colombia or leer_decision_francia by naming the Inter-American Court explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit mode-selection guidance: no `modo` for what the Court decided plus the structural map, `modo: "buscar"` for term locations, `modo: "paginas"` for page ranges. The one gap is that it never states the upstream step — that `clave` must first come from buscar_jurisprudencia_interamericana — which is only present in the schema, not the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
obtener_boletinBoletín judicialBRead-onlyInspect
Boletín judicial mensual del Poder Judicial. Devuelve el enlace al PDF y a la portada.
| Name | Required | Description | Default |
|---|---|---|---|
| fecha | Yes | Fecha en ISO AAAA-MM-DD. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the agent knows this is a safe external read. The description's one addition is what the call yields (PDF link plus cover page), which is genuinely useful since there is no output schema, but it omits access, availability, or failure behavior for older/future months.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler, front-loading the resource and then the return value. Nothing needs to be trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, no-output-schema tool, the description covers what it returns and that it is monthly, which is most of what is needed. It still leaves the key semantic link between the fecha argument and month selection unexplained, so an agent could call it with an arbitrary date without knowing whether that is valid.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is only one parameter, so the ISO date format is already documented in the schema. The description adds nothing about how fecha maps to a monthly bulletin (e.g. whether a mid-month date selects that month's edition), which is the one ambiguity an agent could get wrong.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource and action: a monthly judicial bulletin of the Poder Judicial, returning the PDF link and cover page. It is clear on its own, but it does not distinguish itself from the many buscar_*/leer_* siblings, so an agent cannot tell from the text alone why it would pick this over, say, obtener_texto_completo.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance and no mention of alternatives, despite 17 sibling tools. The monthly cadence is the only implicit usage signal, and nothing says whether to call this instead of the search tools or in combination with them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
obtener_texto_completoLeer una sentenciaARead-onlyInspect
Texto de una sentencia, con su MAPA ESTRUCTURAL.
⚠️⚠️ ANTES DE CITAR, COMPRUEBA DE QUIÉN SON LAS PALABRAS. La mayor parte de una sentencia NO es criterio del tribunal: son hechos, trámite, lo que pidió cada parte, la sentencia recurrida transcrita, y los votos que no formaron mayoría. Todo eso está escrito en el mismo registro institucional, cita ley y precedente, y suele estar mejor argumentado que el criterio. Por el estilo NO se distingue.
Dos formas del error: · Un pasaje de los antecedentes que transcribe el escrito de una parte o de un órgano del Estado, citado como criterio del tribunal. · Un voto disidente o salvado, que puede ocupar la mayor parte del texto, citado como criterio de la mayoría.
PARA CITAR, USA modo: "criterio". Devuelve solo el tramo del tribunal: deja fuera los antecedentes por delante y los votos por detrás. Si no puede delimitarlo lo DICE y no devuelve texto, en lugar de darte el documento entero como si viniera recortado. Trae etiquetas: una por párrafo, con citable y su razon. false sale solo de la estructura (voto, antecedentes); dentro del criterio todo es null y pide leerlo: la razon dice con qué abre (voz, marcador) y qué señal trae en senales: numeracion_ajena, anunciada y transcribe_dentro (texto de otro transcrito), cierre_sin_apertura (una cita que empezó antes), relata_al_inferior (cuenta lo que comprobó el tribunal inferior: eso es suyo) y obiter. Son pistas para comprobar, no veredictos.
modo: "buscar" LOCALIZA un término sin devolver el texto: dice dónde aparece, de_quien y citable con su razon en ese punto, y en leer con qué modo leerla y en qué parte aparece. Para citar o describir lo que dice, léela entera, desde la parte 1.
modo: "mapa" da la estructura sin traer el documento. modo: "completo" da todo, incluido lo que no es criterio.
La lectura en «criterio» o «completo» trae, en su última parte, postura_procesal cuando el dispositivo lo deja leer: quién recurrió, qué se decidió y qué quedó firme. Úsala en el bloque de cita; si trae mixto, el fallo decide en sentidos distintos y la postura de cada punto se lee del dispositivo, igual que cuando no viene.
Y trae bloque_de_cita: el encabezado (órgano, sala, número, fecha), la línea de la postura y la del enlace, ya armados. Úsalos y pon tú el considerando; lo que venga en comprobar no consta o no casa, y se mira a mano antes de citar.
Con tc en vez de id (p. ej. «TC/1038/26») lee una sentencia del Tribunal Constitucional desde su PDF OFICIAL, con el mismo mapa y los mismos modos: es el camino para las que resolver_referencia encuentra en el registro del TC (resolver_referencia lo indica en como_leer). Si la ficha de un id llega sin texto, se lee su PDF igual. Esas respuestas traen pagina en cada marca, para citar contra el PDF. Si la respuesta dice leida: false y «lectura a medias», vuelve a llamar con los mismos argumentos: lo leído queda guardado.
Con tse (p. ej. «TSE/0033/2026», o la clave de buscar_jurisprudencia_electoral) lee una sentencia del Tribunal Superior Electoral desde el PDF que publica, con el mismo mapa y los mismos modos.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Id del documento, el que devuelve buscar_jurisprudencia (en `complemento_scj`, el número de la sentencia). O esto, o `tc`, o `tse`. | |
| tc | No | Número de una sentencia del Tribunal Constitucional (p. ej. «TC/1038/26») para leerla desde su PDF oficial, con el mismo mapa. O esto, o `id`. | |
| tse | No | Número de una sentencia del Tribunal Superior Electoral (p. ej. «TSE/0033/2026») o su `clave` de buscar_jurisprudencia_electoral, para leerla desde su PDF. O esto, o `id`. | |
| modo | No | «criterio» SOLO lo que dijo el tribunal, sin antecedentes ni votos: es el modo para citar · «pasaje» el párrafo del criterio que contiene `buscar`, el que lo introduce, el que lo contesta si hace falta, sus notas al pie aparte y el fallo: basta para citar ese párrafo · «buscar» dónde aparece un texto, de quién es ahí y qué parte leer, sin el texto · «mapa» solo la estructura · «completo» todo, incluido lo que no es criterio. | completo |
| parte | No | En «criterio» y «completo», qué parte leer cuando la respuesta trae `partes`: la sentencia no está leída hasta leerlas todas. | |
| buscar | No | Qué localizar dentro del texto. Obligatorio en modo «buscar» y en «pasaje». | |
| ventana | No | Solo para normas: caracteres de contexto alrededor de cada aparición. | |
| articulo | No | Solo para normas (leyes de buscar_legislacion): el número del artículo, que se devuelve entero, de su encabezado al del siguiente. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint/openWorldHint and nothing in the description contradicts them. Beyond that, the description discloses non-obvious behavior: it refuses to return text when the court's holding cannot be delimited, emits per-paragraph `etiquetas` with `citable`/`razon`, returns `null` inside criterio and defers to `senales` as "pistas para comprobar, no veredictos", flags partial reads and instructs to re-call with the same arguments, and adds `pagina` for PDF-sourced readings.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loading is excellent — the citation hazard is stated before anything else, and the mode semantics follow in descending order of importance. It is nonetheless long, and the two enumerated "formas del error" illustrate the hazard at a length that exceeds what is needed to select or invoke the tool correctly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter, zero-required tool with no output schema, the description covers everything an agent needs: which mode produces what, how to paginate, how to fall back to PDF sources, how to recover from a partial read, and even the shape of the returned citation scaffolding (`bloque_de_cita`, `postura_procesal`, `comprobar`). Nothing material is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: it explains what each `modo` returns and excludes, that `parte` pagination means the judgment is not fully read until all parts are consumed, and that `tc`/`tse` are alternatives to `id` that route to official PDFs. Only `ventana` and `articulo` (norm-oriented, arguably vestigial for a judgment reader) are left entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb+resource: "Texto de una sentencia, con su MAPA ESTRUCTURAL". It immediately distinguishes its modalities (criterio/pasaje/mapa/completo/buscar) and its three input paths (id, tc, tse), so an agent knows exactly what it retrieves and can tell it apart from siblings like leer_sentencia_colombia or buscar_jurisprudencia.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-to-use routing: "PARA CITAR, USA modo: criterio", "modo: buscar LOCALIZA un término sin devolver el texto", "modo: mapa da la estructura sin traer el documento", "modo: completo da todo". It even points to the sibling that supplies inputs (resolver_referencia indica `como_leer`; buscar_jurisprudencia_electoral aporta la `clave`) and states the retry rule when `leida: false`.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolver_referenciaResolver una referencia citadaARead-onlyInspect
Convierte una referencia citada en el documento al que apunta. SENTENCIAS en las tres formas que usa el corpus dominicano: la estructurada del Tribunal Constitucional (TC/0437/17), la moderna de la Suprema Corte (SCJ-PS-22-2005) y la prosa clásica («núm. 312, 24 de febrero de 2021»). Y NORMAS: «Ley núm. 108-05», «Resolución núm. 787-2022», «Decreto núm. N-AA» y «Código Civil, art. 2262» (este devuelve el isbn13 del código y cómo leer el artículo con leer_doctrina). Una ley también por su NOMBRE, sin número («Ley Monetaria y Financiera, art. 9», «Código Penal»): devuelve su id y cómo leer el artículo, sin pasar por buscar_legislacion. Para una norma dice EN QUÉ colección está, porque los códigos y los reglamentos del Poder Judicial no están en buscar_legislacion. También las sentencias del Tribunal Superior Electoral (TSE/0033/2026) y las de los juzgados y cortes por su número completo (135-2025-SCON-00815).
Sirve para comprobar que un precedente citado existe y es el que se dice, en vez de darlo por bueno.
En la prosa clásica, número y día no bastan: cada sala de la SCJ numera por su lado. Incluye la sala en la referencia («Tercera Sala, núm. 37, 24 de marzo de 2021»). Si hay varias y la referencia no la dice, encontrada va vacía y mismo_numero_y_dia trae todas: elige por la sala o la materia, no la primera.
Una sentencia del TC de complemento_tc también se resuelve por su número: encontrada trae su id y se lee con obtener_texto_completo, con mapa y modo «criterio».
⚠️⚠️ Si es del Tribunal Constitucional y no aparece en Clerk, la respuesta trae además registro_oficial, lo que dice el registro oficial del TC. Eso separa tres cosas que un «no encontrada» no distingue:
· existe: true → la sentencia EXISTE en el registro oficial aunque no saliera en la búsqueda. NO digas que no existe.
· existe: null → el registro no la devolvió, pero SÍ tiene la siguiente del mismo año, o Clerk tiene una posterior del mismo año. La numeración es correlativa: el fallo es del registro, no de la referencia. NO digas que no existe; reintenta.
· existe: false → con el registro y Clerk en contra (y sin la siguiente), ahí sí es razonable concluir que la referencia no existe o está mal citada. Si es del año en curso, puede no estar publicada todavía.
· consultado: false → no se pudo preguntar. Eso NO es un «no existe».
⚠️ Un acierto en el registro oficial trae metadatos, NO el texto. NO la cites desde ellos: el asunto lo redacta la secretaría del tribunal. Para leerla con el mapa estructural y el modo «criterio», la respuesta trae como_leer (obtener_texto_completo con tc).
| Name | Required | Description | Default |
|---|---|---|---|
| referencia | Yes | La referencia tal como aparece citada. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint, yet the description discloses the full response contract: the `encontrada` / `mismo_numero_y_dia` / `registro_oficial` fields and the three-way `existe` semantics (true / null / false) plus `consultado: false`. It also warns that a registry hit carries secretaría-authored metadata, not text, which is behavior an agent could not infer from annotations or schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the purpose and the accepted formats, with warnings grouped at the end, so an agent can stop reading early. It is on the long side for a one-parameter tool and leans on caps/emoji emphasis and some repetition, which trims a point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description compensates fully: it documents the outcome fields, the disambiguation path for same-number/same-day matches, the registry fallback tri-state, and the follow-up call (`como_leer` → obtener_texto_completo). Nothing an agent needs to act on the result is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100%, so baseline would be 3-4, but the description goes well beyond 'la referencia tal como aparece citada' by enumerating the accepted literal forms (TC/0437/17, SCJ-PS-22-2005, «núm. 312, 24 de febrero de 2021», «Ley núm. 108-05», «Código Civil, art. 2262») and the requirement to include the sala in classic prose. That directly changes how an agent formats the single input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Convierte una referencia citada en el documento al que apunta') and then enumerates exactly which reference families it accepts (TC structured, SCJ modern, classic prose, norms by number or by name, TSE, court numbers). An agent can distinguish this from buscar_legislacion or buscar_jurisprudencia without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly names the job ('Sirve para comprobar que un precedente citado existe y es el que se dice') and routes away from siblings: 'sin pasar por buscar_legislacion', 'cómo leer el artículo con leer_doctrina', 'se lee con obtener_texto_completo, con mapa y modo «criterio»'. It also gives a when-not-style warning: don't cite from registry metadata, and how to handle ambiguous classic-prose matches.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verificar_decisionesVerificar las decisiones de un expedienteARead-onlyInspect
Las decisiones que el Poder Judicial registra en un expediente, por su NUC: número, fecha, tipo (sentencia, resolución, auto), el fallo, el tribunal y la sala; y el estado de sus trámites. Sirve para saber si un caso ya se falló.
Cada decisión dice cómo se lee:
· en_clerk → la sentencia está en Clerk: léela con obtener_texto_completo y el id de como_leer, y cítala con su enlace.
· pdf sin en_clerk → se lee en ese PDF; cita solo lo leído en él.
· Solo nota → la decisión se dictó, pero su texto todavía no se puede leer: dile al usuario que se falló, con su número, fecha y fallo, y que le dé seguimiento en el portal del Poder Judicial.
⚠️ El fallo y el asunto los registra el tribunal: dicen QUÉ se decidió, no POR QUÉ. Sin el texto no hay criterio que citar.
| Name | Required | Description | Default |
|---|---|---|---|
| nuc | Yes | El número único de caso, p. ej. «2025-0150001» (lo trae cada audiencia de buscar_audiencias). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint; the description goes far beyond them by explaining the three payload shapes the result can take and what the agent must do in each, including the case where only `nota` exists and the text is unreadable. The closing warning that the court-registered fallo and asunto say WHAT was decided but not WHY is a substantive epistemic constraint that prevents mis-citation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first sentence, then the read-mode branches are laid out as short bullets that are each independently actionable, with the caveat isolated behind a warning marker. The dense field enumeration in sentence one buys the agent real orientation and no sentence is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and a single parameter, the description carries the full descriptive burden and does so: it discloses the shape of the returned decisions, the possible readability states, and how to proceed in each. The degraded case (decision issued, text not yet readable) is explicitly handled, which is exactly the gap an agent would otherwise stumble into.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single required parameter, so the schema already documents the NUC format and its origin in buscar_audiencias. The description only echoes 'por su NUC' without adding format, validation, or fallback details beyond the schema — the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the exact resource returned (the decisions the Poder Judicial registers for a case, keyed by NUC) and enumerates the fields: number, date, type, ruling, court, chamber, plus proceeding status. It also frames the intent ('Sirve para saber si un caso ya se falló'), which distinguishes it from the sibling search tools and positions it as the entry point that feeds obtener_texto_completo.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit trigger ('para saber si un caso ya se falló') and routes the agent onward with named alternatives and conditions: use obtener_texto_completo with the `id` when `en_clerk` is present, read the PDF directly when only `pdf` is present. It does not say when to prefer this over related lookups such as buscar_decretos or buscar_jurisprudencia, so it stops short of full when/when-not coverage.
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 tool update
- Changed
buscar_normas_reguladores2 fields changed- changed
Input schema / properties / institucion / descriptionPrevious value: -"Opcional: dgii, bcrd (Junta Monetaria y Banco Central), sb (Superintendencia de Bancos), sisalril, sipen (Superintendencia de Pensiones), seguros (Superintendencia de Seguros), map (Ministerio de Administración Pública), procompetencia, cdc (Comisión Reguladora de Prácticas Desleales), indotel, dgcp (Contrataciones Públicas), cnzfe (Zonas Francas), jce (Junta Central Electoral), hacienda (Ministerio de Hacienda y Economía), adn (Concejo de Regidores del Distrito Nacional), salud (Salud Pública), mirex (Relaciones Exteriores), ambiente (Medio Ambiente), mescyt (Educación Superior), mem (Energía y Minas), proconsumidor, interior (Interior y Policía), cultura, vivienda (MIVHED), micm (Industria, Comercio y Mipymes), trabajo (Ministerio de Trabajo y Comité Nacional de Salarios), mujer, simv (Superintendencia y Consejo Nacional del Mercado de Valores), scj (Suprema Corte de Justicia), cpj (Consejo del Poder Judicial)."New value: +"Opcional: dgii, bcrd (Junta Monetaria y Banco Central), sb (Superintendencia de Bancos), sisalril, sipen (Superintendencia de Pensiones), seguros (Superintendencia de Seguros), map (Ministerio de Administración Pública), procompetencia, cdc (Comisión Reguladora de Prácticas Desleales), indotel, dgcp (Contrataciones Públicas), cnzfe (Zonas Francas), jce (Junta Central Electoral), hacienda (Ministerio de Hacienda y Economía), adn (Concejo de Regidores del Distrito Nacional), salud (Salud Pública), mirex (Relaciones Exteriores), ambiente (Medio Ambiente), mescyt (Educación Superior), mem (Energía y Minas), proconsumidor, interior (Interior y Policía), cultura, vivienda (MIVHED), micm (Industria, Comercio y Mipymes), trabajo (Ministerio de Trabajo y Comité Nacional de Salarios), mujer, uaf (Unidad de Análisis Financiero y CONCLAFIT), simv (Superintendencia y Consejo Nacional del Mercado de Valores), scj (Suprema Corte de Justicia), cpj (Consejo del Poder Judicial)." - changed
Input schema / properties / institucion / items / enumPrevious value: -[ - "dgii", - "bcrd", - "sb", - "sisalril", - "sipen", - "seguros", - "map", - "procompetencia", - "cdc", - "indotel", - "dgcp", - "cnzfe", - "jce", - "hacienda", - "adn", - "salud", - "mirex", - "ambiente", - "mescyt", - "mem", - "proconsumidor", - "interior", - "cultura", - "vivienda", - "micm", - "trabajo", - "mujer", - "simv", - "scj", - "cpj" -]New value: +[ + "dgii", + "bcrd", + "sb", + "sisalril", + "sipen", + "seguros", + "map", + "procompetencia", + "cdc", + "indotel", + "dgcp", + "cnzfe", + "jce", + "hacienda", + "adn", + "salud", + "mirex", + "ambiente", + "mescyt", + "mem", + "proconsumidor", + "interior", + "cultura", + "vivienda", + "micm", + "trabajo", + "mujer", + "uaf", + "simv", + "scj", + "cpj" +]
1 tool update
- Changed
obtener_texto_completo1 field changed- changed
Input schema / properties / modo / descriptionPrevious value: -"«criterio» SOLO lo que dijo el tribunal, sin antecedentes ni votos: es el modo para citar · «pasaje» el párrafo del criterio que contiene `buscar`, el que lo introduce y el fallo: basta para citar ese párrafo · «buscar» dónde aparece un texto, de quién es ahí y qué parte leer, sin el texto · «mapa» solo la estructura · «completo» todo, incluido lo que no es criterio."New value: +"«criterio» SOLO lo que dijo el tribunal, sin antecedentes ni votos: es el modo para citar · «pasaje» el párrafo del criterio que contiene `buscar`, el que lo introduce, el que lo contesta si hace falta, sus notas al pie aparte y el fallo: basta para citar ese párrafo · «buscar» dónde aparece un texto, de quién es ahí y qué parte leer, sin el texto · «mapa» solo la estructura · «completo» todo, incluido lo que no es criterio."
1 tool update
- Changed
leer_doctrina1 field changed- added
Input schema / properties / claveAdded value: +{ + "description": "La clave de un artículo de revista (`articulos_de_revista` de buscar_doctrina), en lugar del isbn13.", + "type": "string" +}
4 tool updates
- Added
buscar_audiencias - Changed
buscar_normas_reguladores2 fields changed- changed
Input schema / properties / institucion / descriptionPrevious value: -"Opcional: dgii, bcrd (Junta Monetaria y Banco Central), sb (Superintendencia de Bancos), sisalril, sipen (Superintendencia de Pensiones), seguros (Superintendencia de Seguros), map (Ministerio de Administración Pública), procompetencia, cdc (Comisión Reguladora de Prácticas Desleales), indotel, dgcp (Contrataciones Públicas), cnzfe (Zonas Francas), jce (Junta Central Electoral), hacienda (Ministerio de Hacienda y Economía), adn (Concejo de Regidores del Distrito Nacional), salud (Salud Pública), mirex (Relaciones Exteriores), ambiente (Medio Ambiente), mescyt (Educación Superior), mem (Energía y Minas), proconsumidor, interior (Interior y Policía), cultura, vivienda (MIVHED), micm (Industria, Comercio y Mipymes), trabajo (Ministerio de Trabajo y Comité Nacional de Salarios), mujer, simv (Superintendencia y Consejo Nacional del Mercado de Valores)."New value: +"Opcional: dgii, bcrd (Junta Monetaria y Banco Central), sb (Superintendencia de Bancos), sisalril, sipen (Superintendencia de Pensiones), seguros (Superintendencia de Seguros), map (Ministerio de Administración Pública), procompetencia, cdc (Comisión Reguladora de Prácticas Desleales), indotel, dgcp (Contrataciones Públicas), cnzfe (Zonas Francas), jce (Junta Central Electoral), hacienda (Ministerio de Hacienda y Economía), adn (Concejo de Regidores del Distrito Nacional), salud (Salud Pública), mirex (Relaciones Exteriores), ambiente (Medio Ambiente), mescyt (Educación Superior), mem (Energía y Minas), proconsumidor, interior (Interior y Policía), cultura, vivienda (MIVHED), micm (Industria, Comercio y Mipymes), trabajo (Ministerio de Trabajo y Comité Nacional de Salarios), mujer, simv (Superintendencia y Consejo Nacional del Mercado de Valores), scj (Suprema Corte de Justicia), cpj (Consejo del Poder Judicial)." - changed
Input schema / properties / institucion / items / enumPrevious value: -[ - "dgii", - "bcrd", - "sb", - "sisalril", - "sipen", - "seguros", - "map", - "procompetencia", - "cdc", - "indotel", - "dgcp", - "cnzfe", - "jce", - "hacienda", - "adn", - "salud", - "mirex", - "ambiente", - "mescyt", - "mem", - "proconsumidor", - "interior", - "cultura", - "vivienda", - "micm", - "trabajo", - "mujer", - "simv" -]New value: +[ + "dgii", + "bcrd", + "sb", + "sisalril", + "sipen", + "seguros", + "map", + "procompetencia", + "cdc", + "indotel", + "dgcp", + "cnzfe", + "jce", + "hacienda", + "adn", + "salud", + "mirex", + "ambiente", + "mescyt", + "mem", + "proconsumidor", + "interior", + "cultura", + "vivienda", + "micm", + "trabajo", + "mujer", + "simv", + "scj", + "cpj" +]
- Changed
leer_sentencia_colombia2 fields changed- changed
Input schema / properties / sentencia / descriptionPrevious value: -"La referencia, como T-012/23, C-355/06 o SU-214/16. También vale la URL de la relatoría que devuelve la búsqueda."New value: +"La referencia, como T-012/23, C-355/06 o SU-214/16 (campo «sentencia» de la búsqueda). No acepta direcciones: el texto se lee siempre de la relatoría de la Corte Constitucional de Colombia." - added
Input schema / properties / sentencia / patternAdded value: +"^[A-Za-z]{1,3}[-.]?[0-9]+[A-Za-z]?[/-]([0-9]{2}|[0-9]{4})$"
- Added
verificar_decisiones
3 tool updates
- Changed
buscar_jurisprudencia1 field changed- changed
Input schema / properties / frase / descriptionPrevious value: -"Busca los términos como frase exacta en vez de sueltos."New value: +"Busca los términos como frase en vez de sueltos. Admite palabras de por medio: cada resultado dice en `frase_tal_cual` si la trae así."
- Changed
leer_doctrina2 fields changed- added
Input schema / properties / entradaAdded value: +{ + "description": "Un lema del Diccionario Jurídico Dominicano («anatocismo», «desahucio»). Lee su página directamente, en cualquiera de los dos tomos, sin isbn13.", + "type": "string" +} - removed
Input schema / requiredRemoved value: -[ - "isbn13" -]
- Changed
obtener_texto_completo1 field changed- added
Input schema / properties / articuloAdded value: +{ + "description": "Solo para normas (leyes de buscar_legislacion): el número del artículo, que se devuelve entero, de su encabezado al del siguiente.", + "minimum": 0, + "type": "integer" +}
1 tool update
- Changed
obtener_texto_completo1 field changed- changed
Input schema / properties / tc / descriptionPrevious value: -"Número de una sentencia del Tribunal Constitucional (p. ej. «TC/1038/26») para leerla desde su PDF oficial. Para las que no están en el texto indexado. O esto, o `id`."New value: +"Número de una sentencia del Tribunal Constitucional (p. ej. «TC/1038/26») para leerla desde su PDF oficial, con el mismo mapa. O esto, o `id`."
2 tool updates
- Added
buscar_jurisprudencia_interamericana - Added
leer_sentencia_interamericana
4 tool updates
- Changed
buscar_doctrina_constitucional1 field changed- changed
Input schema / properties / terminos / descriptionPrevious value: -"Qué buscar. Mira el nombre de la publicación, la materia y la descripción; no busca dentro del texto del libro.\n\n⚠️ El sitio compara la FRASE LITERAL, no parte las palabras: medido, «amparo» devuelve 5 obras y «amparo modalidades» devuelve CERO, aunque «modalidades» esté en el título de una de esas 5. Manda UNA palabra por término. Si pasas varios, se consultan por separado y se unen (hasta 3)."New value: +"Qué buscar. Mira el nombre de la publicación, la materia y la descripción; no busca dentro del texto del libro.\n\n⚠️ Compara la FRASE LITERAL, no parte las palabras: «amparo modalidades» puede dar CERO aunque las dos palabras estén en el título de una obra. Manda UNA palabra por término. Si pasas varios, se consultan por separado y se unen (hasta 3)."
- Changed
buscar_jurisprudencia_francia1 field changed- changed
Input schema / properties / incluir_instancias_inferiores / descriptionPrevious value: -"⚠️⚠️ Por defecto FALSE, y cambiarlo tiene consecuencias. El fondo de Légifrance NO es un tribunal: el judicial trae también cours d'appel y primera instancia, y el administrativo es en su mayoría cours administratives d'appel (medido: en «marché public» el Conseil d'État es el 17% del fondo). Con true recibes las instancias inferiores mezcladas y tienes que mirar el campo `organo` de cada resultado: una cour d'appel no es el supremo francés."New value: +"⚠️⚠️ Por defecto FALSE, y cambiarlo tiene consecuencias. Con true recibes las instancias inferiores mezcladas y tienes que mirar el campo `organo` de cada resultado: una cour d'appel no es el supremo francés."
- Added
leer_acuerdo_pleno - Changed
obtener_texto_completo3 fields changed- changed
Input schema / properties / buscar / descriptionPrevious value: -"Qué localizar dentro del texto. Obligatorio en modo «buscar»."New value: +"Qué localizar dentro del texto. Obligatorio en modo «buscar» y en «pasaje»." - changed
Input schema / properties / modo / descriptionPrevious value: -"«criterio» SOLO lo que dijo el tribunal, sin antecedentes ni votos: es el modo para citar · «buscar» dónde aparece un texto, de quién es ahí y qué parte leer, sin el texto · «mapa» solo la estructura · «completo» todo, incluido lo que no es criterio."New value: +"«criterio» SOLO lo que dijo el tribunal, sin antecedentes ni votos: es el modo para citar · «pasaje» el párrafo del criterio que contiene `buscar`, el que lo introduce y el fallo: basta para citar ese párrafo · «buscar» dónde aparece un texto, de quién es ahí y qué parte leer, sin el texto · «mapa» solo la estructura · «completo» todo, incluido lo que no es criterio." - changed
Input schema / properties / modo / enumPrevious value: -[ - "criterio", - "completo", - "mapa", - "buscar" -]New value: +[ + "criterio", + "pasaje", + "completo", + "mapa", + "buscar" +]
1 tool update
- Changed
obtener_texto_completo3 fields changed- changed
Input schema / properties / modo / descriptionPrevious value: -"«criterio» SOLO lo que dijo el tribunal, sin antecedentes ni votos: es el modo para citar · «buscar» ventanas alrededor de un texto, cada una con de quién es · «mapa» solo la estructura · «completo» todo, incluido lo que no es criterio."New value: +"«criterio» SOLO lo que dijo el tribunal, sin antecedentes ni votos: es el modo para citar · «buscar» dónde aparece un texto, de quién es ahí y qué parte leer, sin el texto · «mapa» solo la estructura · «completo» todo, incluido lo que no es criterio." - added
Input schema / properties / parteAdded value: +{ + "default": 1, + "description": "En «criterio» y «completo», qué parte leer cuando la respuesta trae `partes`: la sentencia no está leída hasta leerlas todas.", + "minimum": 1, + "type": "integer" +} - changed
Input schema / properties / ventana / descriptionPrevious value: -"Caracteres de contexto alrededor de cada aparición."New value: +"Solo para normas: caracteres de contexto alrededor de cada aparición."
1 tool update
- Changed
obtener_texto_completo1 field changed- changed
Input schema / properties / id / descriptionPrevious value: -"Id del documento, el que devuelve buscar_jurisprudencia. O esto, o `tc`, o `tse`."New value: +"Id del documento, el que devuelve buscar_jurisprudencia (en `complemento_scj`, el número de la sentencia). O esto, o `tc`, o `tse`."
5 tool updates
- Added
buscar_jurisprudencia_electoral - Added
buscar_normas_reguladores - Changed
leer_decreto1 field changed- added
Input schema / properties / estructuraAdded value: +{ + "description": "true: los TÍTULOS, CAPÍTULOS y Secciones con su página y su primer artículo, sin el texto.", + "type": "boolean" +}
- Added
leer_norma_reguladora - Changed
obtener_texto_completo2 fields changed- changed
Input schema / properties / id / descriptionPrevious value: -"Id del documento, el que devuelve buscar_jurisprudencia. O esto, o `tc`."New value: +"Id del documento, el que devuelve buscar_jurisprudencia. O esto, o `tc`, o `tse`." - added
Input schema / properties / tseAdded value: +{ + "description": "Número de una sentencia del Tribunal Superior Electoral (p. ej. «TSE/0033/2026») o su `clave` de buscar_jurisprudencia_electoral, para leerla desde su PDF. O esto, o `id`.", + "type": "string" +}
18 tool updates
- First observed
buscar_decretos - First observed
buscar_doctrina - First observed
buscar_doctrina_constitucional - First observed
buscar_jurisprudencia - First observed
buscar_jurisprudencia_colombia - First observed
buscar_jurisprudencia_espana - First observed
buscar_jurisprudencia_francia - First observed
buscar_legislacion - First observed
explorar_facetas - First observed
leer_decision_francia - First observed
leer_decreto - First observed
leer_doctrina - First observed
leer_doctrina_constitucional - First observed
leer_resolucion_espana - First observed
leer_sentencia_colombia - First observed
obtener_boletin - First observed
obtener_texto_completo - First observed
resolver_referencia
Publisher details
- Operator
- Clerk Dominicana, LLC · Publisher source
- Operator website
- https://clerk.do · Publisher source
- Vendor relationship
- Independent · Publisher source
- Documentation
- https://help.clerk.do/articulos/conectar-claude · Publisher source
- Trust center
- https://help.clerk.do/ · Publisher source
- Restrictions
- Requires a paid Clerk subscription. The base plan includes a free first month; a payment card is required to start it. Users sign in through standard OAuth with their Clerk account (email link, no password). No custom OAuth app is needed: Claude and ChatGPT connect via client metadata documents, and other MCP clients via dynamic client registration. No admin approval and no regional restriction. Content is in Spanish and covers Dominican Republic law. Each Clerk account can connect one account per assistant app (one Claude, one ChatGPT, and so on). Foreign case law tools require the Clerk Plus plan. · Publisher source
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceRemote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.MIT
- AlicenseCqualityCmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs112 npm29 PyPIMIT
- AlicenseAqualityDmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.1623 npm1MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.