Normativa Colombia MCP
This server provides AI assistants with direct access to Colombian legal norms and jurisprudence from six official government sources, without needing a browser.
Key capabilities:
Exact citation resolution: Instantly look up a specific norm or ruling by citation (e.g., "Ley 909 de 2004", "C-337/11"), including validity status from SUIN.
Norm searches: Find laws, decrees, resolutions, concepts, and sentences in Gestor Normativo by keyword, type, year, entity, or topic. Search by official thematic index (12,063 subtopics).
Full text retrieval: Get metadata and full text of norms by ID, search within them, fetch specific articles, and view modification history.
Jurisprudence: Search and retrieve full text (with section filters) from the Constitutional Court (49,000+ decisions), Supreme Court (Tutelas, Civil, Laboral, Penal chambers), and Council of State (administrative rulings, each with legal issue and answer).
Validity checks: The only authoritative validity status comes from SUIN-Juriscol, where you can search 56,000+ documents (1844–2026) with filters by sector and validity.
DIAN tax regulations: Search DIAN normogram for tax, customs, and foreign exchange rulings and concepts; fetch full documents by link.
Función Pública: Search 21,759 official concepts by number or year; browse curated norms. Explain why a norm applies to a topic via "restrictors".
Catalogs and subtopics: List valid filter values (document types, years, entities, topics) and subtopics to refine searches.
Four ready-made prompts: Apply norms to a topic, check validity, explain in plain language, compare two norms.
Important: Validity status is only provided by SUIN; always verify. Rate limiting applies (one request per second per portal). No external data collection.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Normativa Colombia MCP¿Qué dice el Decreto 1083 sobre encargos?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Normativa Colombia — servidor MCP
Consulta la normativa y la jurisprudencia colombiana desde cualquier asistente de IA que hable Model Context Protocol, sin abrir el navegador ni pelear con formularios.
Conecta seis fuentes oficiales:
Gestor Normativo del Departamento Administrativo de la Función Pública — leyes, decretos, resoluciones, circulares y conceptos del sector público, con la consulta temática y los restrictores que explican por qué cada norma aplica a un tema.
Relatoría de la Corte Constitucional — 44.839 providencias según su propio índice, con fallos recientes publicados el mismo año.
SUIN-Juriscol del Ministerio de Justicia — el estado de vigencia, que ninguna otra fuente del país publica, y 11.599 leyes de 1844 a 2026, muchas de las cuales el Gestor no tiene.
Corte Suprema de Justicia — providencias de las salas de Tutelas, Civil, Laboral y Penal, cada una con las normas que cita.
Consejo de Estado — providencias tituladas de lo contencioso administrativo, con el problema jurídico que la Sala se planteó, su respuesta y el texto completo. Con esta se completan las tres altas cortes, y las tres entregan texto.
Normograma de la DIAN — normativa tributaria, aduanera y cambiaria.
Es un servidor MCP estándar que se comunica por stdio, así que sirve en Claude Desktop, Claude Code, Cursor, VS Code, Windsurf, Zed, Continue, LM Studio, agentes propios hechos con los SDK de MCP y cualquier cliente que aparezca después.
Instalación
Opción A — Claude Desktop, con un clic
La más sencilla si usas Claude Desktop: no requiere Node ni tocar archivos de configuración.
Descarga
normativa-colombia.mcpbdesde Releases.Abre Claude Desktop → Configuración → Extensiones.
Arrastra el archivo a esa ventana y confirma.
Claude Desktop trae su propio Node, así que no hace falta instalar nada más.
Opción B — cualquier otro cliente MCP, desde npm (recomendada)
La forma más sencilla y la que evita errores de rutas: no hay que clonar nada ni apuntar a archivos locales. Requiere Node 18 o superior.
# sin instalar nada, la forma habitual en clientes MCP
npx -y normativa-colombia-mcp
# o instalado en el proyecto
npm install normativa-colombia-mcp
# o disponible en todo el sistema
npm install -g normativa-colombia-mcpCasi todos los clientes comparten este formato:
{
"mcpServers": {
"normativa-colombia": {
"command": "npx",
"args": ["-y", "normativa-colombia-mcp"]
}
}
}Cliente | Dónde va esa configuración |
Claude Desktop (manual) |
|
Cursor |
|
Windsurf |
|
Continue | El bloque |
LM Studio | Program → Install → Edit mcp.json |
Agente propio | Como |
Claude Code no usa archivo; se registra por línea de comandos:
claude mcp add normativa-colombia -- npx -y normativa-colombia-mcpVS Code usa la clave servers en vez de mcpServers, en .mcp.json del proyecto o en la configuración de usuario:
{
"servers": {
"normativa-colombia": {
"type": "stdio",
"command": "npx",
"args": ["-y", "normativa-colombia-mcp"]
}
}
}Si lo instalaste con npm install -g, el comando es normativa-colombia-mcp a secas, sin argumentos.
Si tu cliente no está en la lista, busca dónde declara servidores MCP por stdio: el comando y los argumentos son siempre los mismos.
Comprobar que quedó bien
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"prueba","version":"1"}}}' \
| npx -y normativa-colombia-mcpDebe responder un JSON con "name":"normativa-colombia" y un campo instructions.
Opción C — desde el código
Para desarrollar o para fijar una versión propia. Requiere Node 22 o superior:
git clone https://github.com/Angelthebestone/Normativa-colombiana-MCP.git
cd Normativa-colombiana-MCP
npm install
npm run generar-indice # índice temático, ~20 MB de descarga, una sola vez
npm run build # genera server/index.jsDespués se apunta el cliente a node /ruta/absoluta/a/Normativa-colombiana-MCP/server/index.js, con el mismo formato de arriba. Funciona desde cualquier directorio de trabajo.
Carpeta sin espacios: si la ruta local contiene espacios (p. ej.
C:\Users\…\normativa mcp\server\index.js), algunos clientes lanzan el comando sin comillas y Node solo ve la primera parte (C:\Users\…\normativa) y sale con código 1. Para instalación local, clona en una carpeta sin espacios o usa la Opción B (npx), que no tiene este problema.
Qué recibe el cliente
Al conectarse, el servidor entrega 26 herramientas, 5 prompts y sus propias instrucciones de uso: a qué tipo de pregunta corresponde cada herramienta, que debe citarse siempre la fuente y que nunca debe afirmarse por cuenta propia que una norma está vigente. Los clientes que respetan el campo instructions del protocolo lo aprovechan sin configurar nada.
Fuente | Herramientas |
Cualquiera (punto de entrada) |
|
Gestor Normativo |
|
Corte Constitucional |
|
Corte Suprema |
|
Consejo de Estado |
|
SUIN-Juriscol |
|
DIAN |
|
CREG |
|
ANH / UPME / ANLA |
|
14 reguladores sectoriales |
|
V2 — jerarquía y conflictos |
|
V2 — perfiles y expedientes |
|
Alcance |
|
Related MCP server: bogamatic-sac-mcp
Qué puedes preguntar
«¿Qué dice la Ley 1221 de 2008 sobre el auxilio de conectividad?»
«¿Qué normas regulan el teletrabajo en el sector público y por qué aplican?»
«¿Qué dice el Decreto 1083 sobre encargos?»
«Búscame jurisprudencia reciente de la Corte Constitucional sobre estabilidad laboral reforzada.»
«¿La Ley 909 de 2004 sigue vigente?»
«¿Qué dice la DIAN sobre la retención en la fuente por servicios?»
«Búscame tutelas de la Corte Suprema sobre teletrabajo y dime qué normas citan.»
«¿Existe la Ley 74 de 1923 y sigue vigente?» — está derogada, y ni el Gestor la tiene.
«¿Qué leyes hay sobre teletrabajo?» —
consultar_por_jerarquiacon nivel "ley".«Compara el art. 2 de la Ley 909 con el art. 2.2.5.3.1 del Decreto 1083.» —
comparar_articulos.«¿Hay conflicto entre la Ley 909 de 2004 y el Decreto 1083 de 2015 en materia de encargos?» —
analizar_conflicto(reúne evidencia, no concluye).«¿Qué cambió la Ley 909 de 2004 desde 2020?» —
cambios_desde.«Normativa laboral sobre teletrabajo» —
consultar_perfilcon perfil "laboral".
El servidor incluye además cinco prompts listos, que los clientes que los soportan muestran como comandos: ¿Qué normas aplican sobre un tema?, ¿Esta norma sigue vigente?, Explícame esta norma en lenguaje sencillo, Compara dos normas y Aclarar una consulta ambigua.
Herramientas V2
Sobre la capa común de metadatos, evidencia y normalización:
consultar_por_jerarquiafiltra por nivel (constitución, ley, decreto, resolución, concepto, jurisprudencia) y explica el carácter de cada uno. El Gestor no cataloga la Constitución como tipo: para ese nivel se orienta.resolver_citaconvalidar: truecomprueba que una cita y su enlace son de verdad: número/año contra el título, dominio del enlace, id de la norma y existencia del artículo. Clasifica en "validada", "parcialmente validada" o "no fue posible validar"; nunca afirma vigencia.analizar_conflictoreúne EVIDENCIA de un posible conflicto entre dos normas (identificación, vigencia según SUIN si consta, jerarquía, reformas anotadas, pasajes sobre un tema). No detecta contradicciones semánticas y el resultado es un conflicto POTENCIAL, no una conclusión jurídica.cambios_desderesume los cambios (modificación, derogación, adición) que el Gestor anota sobre las normas que se le listan, filtrados por el año de la norma modificadora. No rastrea novedades por su cuenta.comparar_articuloscompara el texto de un artículo entre dos normas, marca lo añadido/eliminado, clasifica cada diferencia por patrones (plazo, sanción, excepción, sujeto obligado) y agrupa los cambios editoriales por similitud léxica (Dice sobre bigramas ≥0,92): «una línea» → «una sola línea» sale como cambio menor, no como añadido+eliminado. Lo no clasificado se marca "revisar manualmente". Sin modelo semántico.consultar_perfilejecuta una consulta con las fuentes y filtros preconfigurados de un perfil:laboral,tributario,ambiental,contratacion_estatal,energia. Cada perfil declara su advertencia en la respuesta.expedienteconaccion="crear|agregar|leer|exportar"agrupa consultas, citas y observaciones de una investigación. Desactivado por defecto: se activa con la variable de entornoEXPEDIENTES=1; la persistencia en disco, conEXPEDIENTES_DIR.
Una regla de oro de las V2: si una cita viene sin año y el número es ambiguo ("Decreto 1072" son cuatro), la herramienta no elige por ti: lista los candidatos y pide el año.
Lo que debes saber antes de confiar en una respuesta
Esto no es asesoría jurídica. Es un buscador que le da a un asistente de IA acceso a fuentes oficiales. Verifica siempre en el enlace que acompaña cada respuesta.
La vigencia viene de SUIN, y solo de SUIN. Ni el Gestor ni la relatoría tienen un campo que diga «esta norma está derogada»: las derogatorias van escritas dentro del texto, y el servidor se limita a avisar cuando detecta marcas de «Derogado» o «Modificado por» (el Decreto 1083 de 2015 contiene 155 notas de modificación). SUIN-Juriscol, del Ministerio de Justicia, sí publica el estado como dato, y es la única fuente del país que lo hace: cuando la norma está en el índice empaquetado, resolver_cita devuelve ese estado con su enlace.
Tres advertencias sobre ese dato, todas comprobadas:
Se entrega literal, nunca traducido a un sí o un no. SUIN distingue «Vigente», «DEROGADO», «Vigencia en Estudio», «Compilado», «Declarado Inexequible» y «Norma no vigente porque agotó su objeto». «Vigencia en Estudio» no significa vigente.
El estado se lee del registro del documento, no de su prosa. Donde aparecen los dos se contradicen: la Ley 1541 de 2012 muestra «Vigente» en pantalla y «Vigencia en Estudio» en su campo.
El buscador de SUIN no sirve para esto.
buscar_en_suindevuelve un campo de vigencia que viene de su índice de búsqueda y contradice la ficha —la Ley 74 de 1923 figura allí como «Vigencia en Estudio» y su ficha dice DEROGADO—, así que se marca como no fiable en cada respuesta.
Y la regla de fondo no cambia: verifica en el enlace antes de actuar.
El buscador del Gestor no busca en el texto completo, solo en los resúmenes temáticos, y une los términos con OR. Su índice de palabras además es muy pobre: «teletrabajo» casa con 3 documentos en todo el portal, y con ninguno de los 43 conceptos que sí están clasificados bajo ese subtema. El servidor compensa de tres formas: quita las palabras vacías antes de consultar, reintenta por el subtema oficial cuando la búsqueda por palabras rinde poco, y busca dentro del articulado en tu computador cuando pides una norma concreta. Además, cada resultado de buscar_normas marca qué términos menciona su extracto y cuáles no, para que un resultado parcial no se lea como totalmente pertinente.
Los códigos se citan por su nombre, y falta el Civil. resolver_cita entiende "art. 191 del Código de Comercio" además de "art. 191 del Decreto 410 de 1971", y dice contra qué norma resolvió: Comercio (Decreto 410 de 1971), Sustantivo del Trabajo (Decreto 2663 de 1950), Procesal del Trabajo (Decreto 2158 de 1948), Penal (Ley 599 de 2000), Procedimiento Penal (Ley 906 de 2004), General del Proceso (Ley 1564 de 2012), CPACA (Ley 1437 de 2011), Infancia y Adolescencia (Ley 1098 de 2006) y Estatuto Tributario (Decreto 624 de 1989). El CÓDIGO CIVIL (Ley 84 de 1873) no está en el corpus: ni el Gestor lo publica ni el índice de SUIN lo trae, así que la acción reivindicatoria, la responsabilidad civil, la filiación, el divorcio y la prescripción ordinaria quedan fuera de lo que aquí se puede verificar. El servidor lo dice con esas palabras en vez de responder "no encontré la cita", que se lee como que la norma no existe.
Las leyes modificatorias traen el artículo que sustituyen. Cuando una ley está redactada como "El artículo 217 del Código Civil quedará así:", el texto nuevo va debajo con su propia numeración; el extractor lo devuelve junto al artículo pedido en lugar de cortar en los dos puntos. El cuerpo normativo modificado sigue siendo otro documento: si es el Código Civil, no está aquí.
Ritmo de consulta. El servidor hace como máximo una petición por segundo sostenida a cada portal, con ráfagas de hasta cinco, y nunca dos a la vez al mismo sitio. Si un portal responde que está limitando las consultas, espera lo que él indique en vez de insistir. Son servicios públicos y conviene que un asistente automático les pese menos que una persona navegando.
Privacidad. Cada consulta viaja a servidores del Estado colombiano, que registran las peticiones y tu dirección IP, igual que si navegaras el sitio. No se envía nada a ningún otro servidor, no hay analítica y no se recoge información tuya. Tenlo en cuenta si vas a consultar sobre un asunto propio.
Datos empaquetados. Se incluyen dos índices, ambos con fecha de generación (2026-08-01):
El temático (12.063 pares tema/subtema, 56.458 asociaciones norma–subtema) responde al instante y sigue sirviendo si el portal se cae. Si supera los tres meses, el servidor te lo advierte.
El de SUIN (11.599 leyes, de 1844 a 2026) traduce una cita a su documento, porque SUIN no tiene buscador utilizable. La vigencia se consulta en vivo; el índice solo dice dónde mirar. Cubre leyes, no decretos: los sitemaps de decretos del portal devuelven 404, así que para un decreto la vigencia normalmente no consta —lo que no significa ni que esté vigente ni que esté derogado.
Cobertura de la búsqueda tributaria. La primera consulta de cada término a la DIAN tarda unos 20 segundos: su portal devuelve el resultado completo y no admite límite. Las páginas siguientes del mismo término son instantáneas, así que conviene paginar en lugar de repetir búsquedas.
El enlace del Consejo de Estado caduca; el radicado no. buscar_jurisprudencia_consejo_estado entrega, junto a cada providencia, un token firmado que emite el propio buscador y con el que obtener_documento con fuente consejo saca el texto del PDF. Ese token vive una hora: sirve para leer, no para citar. Para citar se usa el radicado. Si caducó, se repite la búsqueda y sale uno nuevo.
El texto de la Corte Suprema se pide con su ruta y su sala. buscar_jurisprudencia_suprema devuelve la referencia, el ponente, la fecha y las normas citadas; obtener_documento con fuente suprema devuelve el texto completo, pero exige la MISMA sala con la que apareció la providencia: el backend la busca dentro de esa sala y desde otra no la encuentra.
La relatoría no indexa frases largas. buscar_jurisprudencia con varias palabras («mora querella policiva») hace que el buscador de la Corte responda con un aviso de «búsquedas flexibles» y 0 resultados. El servidor lo detecta, reintenta con la palabra más distintiva del término («querella») y lo anuncia en la respuesta: «La relatoría no indexa la frase completa; se buscó con el núcleo «X»». Verifica la pertinencia del resultado contra lo que buscabas.
Para desarrolladores
npm install
npm run check # typecheck + lint + pruebas de biblioteca + de extremo a extremo
npm run medir # métricas: bundle, arranque, índices y una fila por herramienta (p50/p95/peticiones/bytes)
npm run generar-indice # regenera datos/indice-tematico.json (~20 MB de descarga)
npm run generar-indice-suin # regenera datos/indice-suin.json (~45 min; reanudable)
npm run pack # produce normativa-colombia.mcpbdatos/ sí está versionado: sin él un clon limpio no pasa las pruebas, y el índice de SUIN cuesta 45 minutos de peticiones a un servicio público. Regenéralos solo cuando quieras actualizarlos.
Las pruebas consultan los portales oficiales. SIN_RED=1 npm test corre solo la lógica pura, útil para iterar rápido o sin conexión.
No hay integración continua: npm run check se corre a mano antes de publicar. Conviene ejecutarlo cada tanto aunque no se haya tocado el código, porque es lo que detecta que un portal cambió su HTML.
El fichero glama.json de la raíz declara los metadatos del servidor en el registro de Glama (schema oficial con maintainers); se empaqueta en el .mcpb y viaja en el paquete npm. El checklist de calidad y el diagnóstico de las descripciones de las herramientas viven en CALIDAD_HERRAMIENTAS_GLAMA.md (nota de trabajo, no se publica en npm).
Estructura:
Archivo | Responsabilidad |
| Herramientas y prompts MCP |
| Núcleo compartido: |
| Handlers de herramientas MCP: |
| Gestor Normativo (HTML raspado, con canarios) |
| SUIN-Juriscol: ficha, vigencia e índice empaquetado |
| Normograma de la DIAN (JSON) |
| Tres tribunales: |
| Reguladores sectoriales (CREG, ANH, UPME, ANLA y 11 más vía |
| Banco de métricas, para que optimizar no sea a ojo |
|
|
|
|
| Pruebas de biblioteca contra las fuentes reales |
| Arranca el servidor y le habla por stdio, como cualquier cliente MCP |
| Red de regresión: casos por dominio leyendo |
Las instrucciones de uso que recibe el modelo están en INSTRUCCIONES, en src/index.ts: son el único mecanismo que orienta qué herramienta se elige, cosa que ninguna prueba puede verificar.
Dos notas para quien vaya a tocar esto:
Cuatro portales envían la cadena TLS incompleta.
funcionpublica.gov.copresenta un certificado de «Sectigo RSA Organization Validation» pero manda el intermedio de Domain Validation;suin-juriscol.gov.co,sic.gov.coywww.corteconstitucional.gov.co(intermedio «Go Daddy Secure Certificate Authority - G2») omiten directamente el suyo.curllo tolera porque su bundle ya los trae; Node no.src/nucleo/ca.tsincluye los cuatro intermedios para completar la cadena sin desactivar la verificación: las raíces que los firman sí vienen con Node. No lo cambies porrejectUnauthorized: false.Los códigos HTTP mienten en dos fuentes. El backend de la Corte Suprema responde 200 con una página de mantenimiento ante rutas inventadas, y la relatoría de la Constitucional devuelve el armazón de su SPA en vez de un 404. Por eso los canarios validan la forma de la respuesta y nunca el código de estado.
El canario. Si el HTML del portal cambia, los parsers lanzan
CanarioErroren vez de devolver listas vacías. Es deliberado: una lista vacía silenciosa se lee como «no existe esa norma», y en materia legal esa confusión es el peor fallo posible.Un fallo de red nunca se presenta como un vacío.
buscar_unificadodistingue "respondió sin nada" de "no se pudo consultar: " por fuente; una fuente caída no autoriza a concluir que no hay resultados ahí.La SIC vive en la sede electrónica. El repositorio viejo (
www.sic.gov.co/repositorio-de-normatividad) responde 301 asedeelectronica.sic.gov.co/transparencia/normativa/busqueda-de-normas/entidad; el adaptador apunta directo a la sede porquepedirno sigue redirecciones.
Contribuir
Las guías están en CONTRIBUTING.md, y hay cuatro reglas que no se negocian: el canario nunca devuelve vacío en silencio, no se desactiva la verificación TLS, no se sube el ritmo de peticiones a los portales y ninguna respuesta afirma vigencia.
Si el servidor te dio una respuesta incorrecta, ese es el reporte más valioso: hay una plantilla de issue para eso.
Para reportar una vulnerabilidad, mira SECURITY.md; no abras un issue público.
Licencia
Código bajo licencia MIT (ver LICENSE). Sobre los contenidos normativos y el acceso automatizado a los portales, mira NOTICE.md.
Available Tools
26 toolsanalizar_conflictoAnalizar un posible conflicto entre dos normasA
Reúne para dos normas la EVIDENCIA de un posible conflicto: identificación en el Gestor, vigencia según SUIN cuando consta, nivel en la jerarquía y carácter, reformas anotadas en el texto y pasajes que mencionan un tema. NO detecta contradicciones semánticas: el resultado es un conflicto POTENCIAL, no una conclusión jurídica; verifica en los enlaces antes de actuar.
| Name | Required | Description | Default |
|---|---|---|---|
| sobre | No | Tema opcional para buscar artículos de ambas que lo mencionen | |
| norma_a | Yes | Cita de la primera norma, ej. "Ley 909 de 2004" | |
| norma_b | Yes | Cita de la segunda norma |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses important behavioral traits: it only identifies POTENTIAL conflicts, does not detect semantic contradictions, and returns links for verification. This goes beyond a simple action description, though it omits details like failure behavior or data format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, information-dense sentence with clear components and a separate warning. It is concise and front-loaded with 'EVIDENCIA', though the heavy use of capitalization and semicolons makes it slightly less readable than ideal, but every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (two norms, multiple evidence types) and lack of output schema, the description sufficiently indicates what is gathered and how to treat the result (verify links). It does not detail the exact return structure, but sets expectations for a potential-conflict evidence report.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for all three parameters, so baseline is 3. The description adds minimal parameter-specific insight; it mentions 'pasajes que mencionan un tema' which aligns with 'sobre', but the schema already explains that parameter. No significant added 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?
The description clearly states the tool's function: 'Reúne para dos normas la EVIDENCIA de un posible conflicto' and lists specific evidence components (identificación, vigencia, jerarquía, reformas, pasajes). It distinguishes itself from siblings by explicitly noting it does NOT detect semantic contradictions, making it unique among conflict-related tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives context for use: it gathers potential conflict evidence, not legal conclusions, and instructs to 'verifica en los enlaces antes de actuar'. It excludes semantic contradiction detection, but does not name alternative tools explicitly, so slightly 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_en_suinBuscar en SUIN-JuriscolA
Busca en los 56.832 documentos de SUIN-Juriscol (MinJusticia) por título, epígrafe, materia o entidad emisora. Cubre leyes, decretos y resoluciones desde 1844, incluidos documentos que el Gestor Normativo no tiene. NO busca dentro del articulado y NO sirve para citas exactas ("LEY 909 DE 2004" no devuelve nada): para una cita usa resolver_cita. El campo de vigencia que devuelve es el del buscador y NO es fiable: contradice la ficha del propio documento; para el estado real usa resolver_cita. SU ÍNDICE TIENE HUECOS: "Teletrabajo" devuelve cero pese a estar en el título de la Ley 1221 de 2008, y una frase larga empareja por sus palabras comunes y devuelve resultados sin relación. Si buscas por materia y no aparece lo esperado, NO concluyas que no existe: prueba buscar_por_tema o resolver_cita.
| Name | Required | Description | Default |
|---|---|---|---|
| desde | No | Cuántos saltarse antes de empezar | |
| texto | Yes | Palabras del título, epígrafe o materia. Ej.: "servicio militar", "Buenaventura" | |
| limite | No | ||
| sector | No | Sector administrativo, ej. "Hacienda y Crédito Público" | |
| vigencia | No | Filtra por el estado que declara el BUSCADOR, que no siempre coincide con la ficha |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description discloses critical behavioral traits: it does not search article text, its vigencia field is unreliable and contradicts the document's own record, its index has gaps (Teletrabajo example), and long phrases match loosely. This far exceeds baseline.
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?
Every sentence provides essential either what the tool does or its limitations and alternatives. The use of caps for critical warnings aids parsing, and it remains focused despite its 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?
Given the tool's complexity and the absence of an output schema, the description covers scope, exclusions, reliability caveats, index gaps, and fallback tools, making it sufficient for an agent to select and invoke 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?
The description clarifies that 'texto' covers title, epigraph, subject, or issuing entity, and warns that the 'vigencia' filter/field is based on the buscador and unreliable. Since the schema already describes most parameters (80% coverage), the description adds meaningful context but doesn't need to explain every parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the tool searches SUIN-Juriscol documents by title, epigraph, subject, or issuing entity, and distinguishes it from resolver_cita by stating it is not for exact citations. It also notes its coverage of documents not in Gestor Normativo, differentiating from sibling search tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when not to use: for exact citations ('LEY 909 DE 2004' returns nothing) and points to resolver_cita. Also advises trying buscar_por_tema or resolver_cita when a subject search doesn't yield expected results, providing clear alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buscar_jurisprudenciaBuscar jurisprudencia de la Corte ConstitucionalA
Busca sentencias y autos en la relatoría de la Corte Constitucional (44.839 providencias según su propio índice, con fallos de 2026 publicados el mismo año). Es la herramienta indicada para jurisprudencia constitucional reciente: el Gestor Normativo tiene muy poca. Devuelve sentencia, tipo, fecha, síntesis y la ruta para obtener_documento con fuente="corte". La relatoría no indexa frases largas: con varias palabras se reintenta con la más distintiva y la respuesta lo anuncia ("se buscó con el núcleo «X»"). Es de la CORTE CONSTITUCIONAL, no de la Suprema ni del Consejo de Estado: para esos tribunales usa buscar_jurisprudencia_suprema o buscar_jurisprudencia_consejo_estado.
| Name | Required | Description | Default |
|---|---|---|---|
| desde | No | Fecha inicial AAAA-MM-DD (por defecto 1992-01-01) | |
| hasta | No | Fecha final AAAA-MM-DD | |
| tipos | No | Tipos a incluir. Por defecto C, T y SU (doctrina). Los autos (A) son mayoría por volumen y suelen ser trámite, así que hay que pedirlos explícitamente: ["A"] o ["C","T","SU","A"]. | |
| limite | No | Cuántas providencias mostrar (hasta 100) | |
| termino | Yes | Obligatorio. Términos a buscar en la relatoría, ej. "teletrabajo" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the full burden. It discloses the return format (sentencia, tipo, fecha, síntesis, and a route to obtener_documento) and the special handling of long queries (retrying with a distinctive term and announcing it). It does not explicitly state that the operation is read-only, but the wording 'Busca' and 'Devuelve' strongly implies a non-destructive search, so the transparency is good 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 description is concise and well-structured: it starts with the core purpose, then provides usage context, return details, and query limitations. It contains some redundancy (e.g., repeating 'CORTE CONSTITUCIONAL' in caps and restating the alternative tools), but overall it is efficient and every sentence serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by describing the return fields. It also covers the main usage context, distinguishes from sibling tools, and notes a known limitation. It does not mention all possible edge cases (e.g., empty results, error handling), but it is sufficiently complete for an agent to invoke the tool correctly in most scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema descriptions already cover 100% of the parameters, so the baseline is 3. The tool description adds context about the 'termino' parameter (that long phrases are not indexed and will be retried with a shorter term), which is helpful but does not fundamentally redefine any parameter. Therefore, it stays at the baseline with a slight bonus for that extra context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: it searches for sentencias and autos in the Constitutional Court's relatoría. It also distinguishes the tool from related ones by name (Gestor Normativo, buscar_jurisprudencia_suprema, buscar_jurisprudencia_consejo_estado), making its scope 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?
The description explicitly states when to use this tool (for recent constitutional jurisprudence) and when not to (for other courts, pointing to specific alternatives). It also provides practical guidance about the relatoría's indexing limitation with long phrases and explains the retry behavior, which helps the agent use the tool effectively.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buscar_jurisprudencia_consejo_estadoBuscar jurisprudencia del Consejo de EstadoA
Busca providencias tituladas del Consejo de Estado, el tribunal supremo de lo contencioso administrativo: nulidad y restablecimiento, contratación estatal, nulidad electoral, reparación directa y conceptos de la Sala de Consulta. Es un tribunal DISTINTO de la Corte Constitucional y de la Corte Suprema. Cada resultado trae el problema jurídico que la Sala se planteó y su respuesta, que es lo que de verdad sirve para orientarse. No devuelve el texto completo, pero sí el enlace a la ficha del proceso en SAMAI. CÓMO BUSCA: une los términos con OR por defecto, así que el número de páginas mide el tamaño del corpus, no la pertinencia. Con exacto=true (viene activado) busca la FRASE EXACTA: el número de páginas sí mide la frase, y si no aparece se amplía solo a OR avisándolo. Usa términos distintivos y avanza con pagina.
| Name | Required | Description | Default |
|---|---|---|---|
| texto | Yes | Términos a buscar, ej. "nulidad electoral", "liquidación del contrato" | |
| exacto | No | Buscar la frase exacta (entre comillas en el buscador SAMAI). Viene activado; si la frase no aparece en la página, se amplía solo a OR con un aviso. Ponlo en false para ampliar a propósito. | |
| limite | No | Cuántas mostrar de la página (hasta 10) | |
| pagina | No | Página de resultados, desde 1. SAMAI pagina en bloques de ~10 y no admite un desplazamiento libre, por eso aquí se pide la página y no el "desde" del resto de herramientas. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It transparently discloses that results include the juridical problem and answer, not the full text, but a SAMAI link, and explains the exact-match expansion to OR with a notice.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a bit verbose with editorial remarks like 'que es lo que de verdad sirve', but it is well-structured with clear sections for purpose, output, and search behavior, making it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description sufficiently covers expected results (problem/answer, link, not full text) and search nuances. It lacks explicit error/empty-result handling, but overall it provides enough context for correct usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 4 parameters are described in the schema, and the description adds meaningful context: exacto behavior with fallback to OR, limite meaning results per page, and pagina explaining SAMAI's paging constraints versus other tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: searching 'providencias tituladas' from the Consejo de Estado, and explicitly distinguishes it from the Corte Constitucional and Corte Suprema, which differentiates it from siblings like buscar_jurisprudencia_suprema.
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 provides guidance on when to use this tool by noting it is distinct from other high courts, and explains search behavior (OR default, exact phrase with exacto=true). However, it does not explicitly compare against the generic buscar_jurisprudencia or other specific tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buscar_jurisprudencia_supremaBuscar jurisprudencia de la Corte Suprema de JusticiaA
Busca providencias de la Corte Suprema por sala: Tutelas, Civil, Laboral o Penal, desde 1991. Complementa a buscar_jurisprudencia, que es de la Corte CONSTITUCIONAL: son tribunales distintos. Cada resultado trae las NORMAS QUE CITA, que puedes resolver después con resolver_cita, y una RUTA con la que obtener_documento con fuente="suprema" devuelve el texto completo. CÓMO BUSCA: sobre el texto completo de la providencia y sin descartar palabras comunes, así que "de" solo devuelve 69.454 resultados. Por eso busca la FRASE EXACTA por defecto; usa términos distintivos.
| Name | Required | Description | Default |
|---|---|---|---|
| anio | No | Año de cuatro dígitos | |
| sala | No | Sala de la Corte. Obligatoria: sin ella el buscador no responde. | Tutelas |
| desde | No | Cuántas saltarse antes de empezar | |
| texto | Yes | Términos a buscar, ej. "despido sin justa causa" | |
| exacto | No | Buscar la frase exacta; viene activado. Con exacto=false el buscador une las palabras con OR y "despido sin justa causa" devuelve 176.012 providencias contra 20.233 con la frase: en la sala Penal ese modo llega a 33.607 resultados y es inservible. Ponlo en false solo para ampliar a propósito una búsqueda que quedó corta. | |
| limite | No | Cuántas mostrar. El buscador entrega páginas de 10 como máximo; para ver más, usa desde. | |
| magistrado | No | Nombre del magistrado ponente |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does so richly. It discloses full-text search, no stop-word removal, exact-phrase default, example result counts, and that results include cited norms plus a route for full-text retrieval.
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 dense but every sentence earns its place: it front-loads purpose and differentiation, then adds workflow integration and search behavior. It is long but not wasteful, with clear structure and no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking annotations and an output schema, the description covers output contents (cited norms, route), integration with sibling tools, and search quirks. This is sufficient for an agent to invoke the tool correctly and handle results across a multi-step workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides 100% coverage with detailed descriptions for all 7 parameters, including exacto's OR behavior and sala's requirement. The description adds search-behavior context but does not materially improve parameter-level meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches Supreme Court rulings by chamber (Tutelas, Civil, Laboral, Penal) since 1991. It uses a specific verb ('Busca') and resource, and explicitly distinguishes it from buscar_jurisprudencia, which targets the Constitutional 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 explicitly contrasts with a sibling tool by naming it and clarifying that the two courts are different. It also provides chaining guidance: cited norms can be resolved with resolver_cita and full text via obtener_documento with fuente="suprema". It advises using distinctive terms and notes the exact-phrase default.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buscar_normasBuscar normas en el Gestor NormativoA
Busca leyes, decretos, resoluciones, conceptos y sentencias del sector público colombiano. IMPORTANTE: el buscador del portal indexa solo los resúmenes temáticos, NO el articulado completo, y une los términos con OR. Usa pocas palabras y muy distintivas. Para buscar dentro del texto de una norma concreta, usa obtener_documento con fuente="gestor" y buscar_en_texto. Para una cita exacta, usa resolver_cita.
| Name | Required | Description | Default |
|---|---|---|---|
| anio | No | Año de cuatro dígitos, como texto. Ej.: "2004" | |
| tema | No | Nombre del tema, o su id de listar_catalogos con prefijo: "tema-24457" | |
| limite | No | ||
| numero | No | Número de la norma, como texto. Ej.: "909" | |
| entidad | No | Nombre o id: "Corte Constitucional", "Congreso de la República" | |
| subtema | No | id de listar_catalogos con catalogo="subtemas" y prefijo ("sub-38968"), o su nombre si además indicas tema. El "ts-" de buscar_por_tema no vale aquí. | |
| palabras | No | Términos distintivos; evita frases largas | |
| tipo_documento | No | Nombre o id: "Ley", "Decreto", "Sentencia", "Concepto" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It reveals a key limitation: the index covers only thematic summaries, not the full text ('indexa solo los resúmenes temáticos, NO el articulado completo'), and that terms are OR-joined. However, it does not describe the response format or pagination behavior, which could be useful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized, with each sentence earning its place: main purpose, critical indexing caveat, search strategy, and alternative tool references. It is front-loaded with the core function and maintains relevance throughout.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (8 parameters, no output schema, no annotations), the description provides essential context: scope, limitations, and alternative routes. It does not explain result ordering or default behavior with zero parameters, but the schema already documents parameter constraints and defaults, so the description covers the most important non-obvious aspects.
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 88%, so the baseline is 3. The description adds value beyond the schema by explaining that the search engine uses OR logic and that users should use few, distinctive words, directly guiding the 'palabras' parameter. It also points to specific alternatives for other search needs, clarifying when this tool's parameters are appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Busca leyes, decretos, resoluciones, conceptos y sentencias del sector público colombiano.' It specifies the verb (buscar), the resource type, and the target sector, which distinguishes it from more specialized search siblings. The list of document types adds specificity beyond a generic 'search'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly provides usage guidance and alternatives: 'Para buscar dentro del texto de una norma concreta, usa obtener_documento con fuente="gestor" y buscar_en_texto. Para una cita exacta, usa resolver_cita.' It also advises how to use the tool effectively ('Usa pocas palabras y muy distintivas') based on the OR behavior.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buscar_normativa_anhBuscar normativa de la ANH (hidrocarburos)A
Busca las resoluciones, acuerdos y circulares de la Agencia Nacional de Hidrocarburos: contratos de exploración y producción, regalías, derechos económicos, fiscalización y reservas (785 documentos). ÚSALA para la regulación de hidrocarburos y regalías; NO devuelve el texto (la ANH publica en PDF): se entrega el epígrafe completo y el enlace al PDF y a la ficha. NO sirve para leyes o decretos nacionales de cualquier sector: para esos usa resolver_cita o buscar_normas. Por defecto OCULTA los actos de personal (nombramientos y encargos), que son dos de cada tres; pídelos con incluir_administrativos=true si de verdad los buscas.
| Name | Required | Description | Default |
|---|---|---|---|
| tipo | No | ||
| desde | No | Fecha inicial AAAA-MM-DD | |
| hasta | No | Fecha final AAAA-MM-DD | |
| texto | No | Palabra clave, ej. "regalías", "fiscalización" | |
| numero | No | Número del acto, como texto | |
| pagina | No | Página de 20; hay 40 en total sin filtros | |
| incluir_administrativos | No | Incluir nombramientos, encargos y demás actos de personal. Por defecto se ocultan. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It clearly discloses that the tool does not return full text (only epígrafe and links to PDF/detail page), that personal acts are hidden by default (two out of three documents), and that there are 785 documents, setting clear expectations about output and scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and information-rich with every sentence earning its place: purpose, scope, output limitation, exclusions, sibling alternatives, and a critical default-behavior warning. The use of SHOUTED keywords ('ÚSALA', 'NO', 'OCULTA') makes key guidance scannable without adding unnecessary 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?
Despite having no output schema and no annotations, the description covers all essential context: document type scope, topical scope, document count, return format (epígrafe + links, not text), navigation to alternatives for out-of-scope queries, and the critical default filter behavior. The 7-parameter schema is well-complemented by the description's behavioral context, making the tool safely invocable by an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers 86% of parameters with descriptions, but the description adds crucial semantic context beyond the schema: it explains the meaning of incluir_administrativos (nombramientos y encargos) and why it matters statistically, and clarifies that pagination means 20 items per page with 40 total pages. This supplements the schema meaningfully without redundancy.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as searching ANH resolutions, agreements, and circulars related to hydrocarbons, listing specific topics and document count. It distinguishes itself from siblings by explicitly stating it is for hydrocarbon and royalty regulation, not for national laws/decrees of any sector, and names alternatives (resolver_cita, buscar_normas).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use (hydrocarbon regulation and royalties) and when-not-to-use (not for national laws/decrees, not for other sectors) guidance, naming specific alternative tools. Also gives critical usage detail about personal acts being hidden by default and how to include them, which is essential for correct tool selection and invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buscar_normativa_sectorialBuscar normativa de un regulador sectorialA
Actos administrativos —resoluciones, circulares, acuerdos— de los reguladores y ministerios sectoriales que el Gestor Normativo NO cataloga. Elige la entidad con el parámetro entidad; cada una declara su sector y sus límites en la respuesta.
CUÁNDO NO USARLA: para leyes y decretos nacionales de cualquier sector usa resolver_cita o buscar_por_tema, que dan texto completo y vigencia. En particular, el Decreto Único Reglamentario de CADA sector (1071 agropecuario, 1074 comercio e industria, 1076 ambiente, 1079 transporte, 1072 trabajo…) ya está en el Gestor.
Casi todas entregan PDF sin texto extraíble. La mayoría no publica estado de vigencia; donde sí aparece (ANM y Supersociedades) es lo que declara el portal en su propia fila, NO una verificación de esta extensión: para el estado real de una ley o un decreto, resolver_cita.
LOS FILTROS NO SE COMPORTAN IGUAL EN TODAS, porque los portales tampoco: el Invima exige texto o año y rechaza la consulta sin ellos; la Superfinanciera y la Supertransporte se quedan en el año en curso si no indicas otro; la ANM no aplica el año a las circulares; las demás listan lo más reciente. Cada respuesta dice cuál de estas cosas hizo, pero no lo adivines: si esperabas un año concreto, indícalo.
| Name | Required | Description | Default |
|---|---|---|---|
| anio | No | Año de cuatro dígitos | |
| texto | No | Filtra por número, año o epígrafe | |
| limite | No | ||
| pagina | No | ||
| entidad | Yes | Regulador a consultar. Usa describir_fuentes para ver qué sector cubre cada uno. | |
| categoria | No | Tipo de acto o categoría (cada fuente declara cuáles soporta; solo Unidad de Víctimas lo filtra hoy) | |
| solo_entidad | No | Solo INVIMA/Supersalud: limita a los actos de los tipos que la propia entidad expide (Resolución, Circular...), excluyendo la compilación sectorial del normograma (leyes, decretos del Ministerio, sentencias). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that most results are PDFs without extractable text, that vigencia is often not published, and where it appears it's only the portal's own claim. It details divergent filter behaviors across entities (Invima requires text/year, Superfinanciera/Supertransporte stay in current year, ANM ignores year for circulares) and advises specifying a year explicitly. This is exceptional transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but well-structured with clear sections: scope definition, explicit 'CUÁNDO NO USARLA', then a paragraph on PDF/vigencia caveats, then a dedicated section on filter divergence. It is front-loaded with purpose and exclusions. Every sentence earns its place given the tool's complexity; it is dense but not redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 7 parameters and many entity-specific behaviors, the description covers purpose, exclusions, filter caveats, vigencia limitations, and hints that responses include metadata about which behavior was applied ('Cada respuesta dice cuál de estas cosas hizo'). It doesn't detail the exact return format, but that's not required without an output schema. The only minor gap is pagination behavior across entities, but that's inferable from the parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 71% (limite and pagina lack descriptions), but those are self-explanatory pagination parameters. The description adds significant semantic value beyond the schema: it explains how the 'texto' and 'anio' filters behave differently per entity, and warns about the need to specify a year for certain entities. It also clarifies 'entidad' by saying each entity declares its sector and limits, and mentions 'solo_entidad' behavior indirectly. This goes well beyond the schema's basic descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (buscar) and resource (actos administrativos de reguladores y ministerios sectoriales) with a clear exclusion: 'que el Gestor Normativo NO cataloga.' It explicitly contrasts with siblings resolver_cita and buscar_por_tema, so an agent can immediately tell this tool apart from the national-law tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
A dedicated 'CUÁNDO NO USARLA' section explicitly says to use resolver_cita or buscar_por_tema for leyes and decretos nacionales, and warns that the Decreto Único Reglamentario of each sector is already in the Gestor. It also directs to resolver_cita for real vigencia. This is explicit when-not-to-use and alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buscar_normativa_tributariaBuscar normativa tributaria, aduanera y cambiaria (DIAN)A
Busca en el normograma de la DIAN: decretos, resoluciones, conceptos y circulares en materia tributaria, aduanera y cambiaria. Es lo que ninguna otra herramienta de este MCP cubre. Devuelve el extracto donde aparece el término y el enlace al texto completo. Para leer el documento usa obtener_documento con fuente="dian". AVISO: la primera búsqueda de cada término tarda ~20 s porque el portal devuelve el resultado completo y no admite tope; las páginas siguientes del MISMO término son instantáneas, así que pagina con desde en vez de lanzar búsquedas nuevas.
| Name | Required | Description | Default |
|---|---|---|---|
| desde | No | Cuántos saltarse antes de empezar | |
| texto | Yes | Términos a buscar, ej. "retención en la fuente", "declaración de importación" | |
| limite | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden, and it does well. It discloses the return format ("Devuelve el extracto... y el enlace al texto completo"), the performance behavior ("la primera búsqueda de cada término tarda ~20 s"), and the pagination quirk ("las páginas siguientes del MISMO término son instantáneas"). These are critical behavioral details not otherwise available.
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 well-structured and front-loaded. It starts with the core purpose, then differentiation, return value, follow-up tool, and a performance warning. Every sentence earns its place, and the AVISO is long but 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?
Given the lack of output schema and the tool's complexity (search with pagination and performance quirks), the description covers the essential information: what it searches, what it returns, how to read the document, and how to paginate efficiently. It also explains the unusual 20-second first-query delay, which is crucial for agent planning.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers 67% of parameters with descriptions (texto and desde), and the description adds meaningful context for "desde" by explaining its role in pagination: "pagina con desde en vez de lanzar búsquedas nuevas." The description does not elaborate on "limite," but the schema provides default, minimum, and maximum values, so the marginal gap is small.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool does: "Busca en el normograma de la DIAN: decretos, resoluciones, conceptos y circulares en materia tributaria, aduanera y cambiaria." It uses a specific verb (Busca) and a specific resource (normograma DIAN), and explicitly differentiates it from siblings with "Es lo que ninguna otra herramienta de este MCP cubre."
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description tells the agent when to use this tool: when searching for DIAN tax/customs/exchange regulations, and it explicitly names the alternative for reading full documents: "Para leer el documento usa obtener_documento con fuente=\"dian\"." It also provides usage guidance for pagination, advising to use "desde" instead of launching new searches.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buscar_normativa_upmeBuscar circulares y resoluciones de la UPMEA
Circulares y resoluciones de la Unidad de Planeación Minero Energética: convocatorias de transmisión y de gas, planes de expansión y actos administrativos. NO devuelve el texto: son PDF. OJO CON LAS FECHAS: la fecha que publica su portal es la de PUBLICACIÓN EN LA WEB, no la de la norma — la "Resolución 1163 de 2024" figura publicada en 2025. El número y el año reales están en el título.
| Name | Required | Description | Default |
|---|---|---|---|
| texto | No | Términos a buscar, ej. "transmisión", "plan de expansión" | |
| limite | No | ||
| pagina | No | ||
| incluir_administrativos | No | Incluir nombramientos y demás actos de personal. Por defecto se ocultan. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and excels: it warns that the tool returns PDFs, not full text, and highlights the critical date discrepancy between web publication and the actual norm date. These are non-obvious, high-impact behavioral traits that an agent must know.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each purposeful: first defines scope, second warns about PDF-only output, third warns about date semantics. There is zero fluff, and the most critical caveats are front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter search tool without an output schema, the description covers what is searched, the PDF-only limitation, and the crucial date quirk. It omits details about result format or pagination, but the essential operational context is present and sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers only 50% of parameters (texto and incluir_administrativos have descriptions). The description adds semantic context by giving example search topics (transmission, expansion plans) and mentioning administrative acts, but it does not clarify the behavior of limite or pagina. This partial compensation warrants a middle score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the tool's resource (UPME circulars and resolutions) and enumerates content types (transmission/gas calls, expansion plans, administrative acts). The explicit UPME name distinguishes it from sibling sector-specific tools like buscar_resoluciones_creg and buscar_normativa_anh, and the verb is implied by the tool name and title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear context of when to use the tool by listing its coverage areas and the issuing entity. It does not explicitly name alternatives or state when not to use it, but the specificity strongly implies the intended use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buscar_por_temaBuscar por tema y subtemaA
Consulta temática oficial: devuelve tema, subtema y las normas, sentencias y conceptos asociados. Resuelve contra un índice empaquetado (instantáneo, funciona aunque el portal esté caído). Cada resultado trae temsubid ("ts-38872") y normid para pedir después explicar_relacion_tema. El prefijo "ts-" es parte del id: pégalo tal cual. Marca de qué catálogo salió, porque el portal mantiene tres taxonomías que reutilizan los mismos números —"sub-" es de listar_catalogos y "tema-" de listar_catalogos—, y antes de los prefijos un id cruzado no fallaba: respondía por el tema equivocado.
| Name | Required | Description | Default |
|---|---|---|---|
| texto | Yes | Tema a buscar, ej. "teletrabajo", "encargo", "prima de servicios" | |
| limite | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses key behavioral traits: the query resolves against a packaged index making it instantaneous and offline-capable; each result includes specific fields (temsubid, normid); the prefix 'ts-' is part of the ID and must be preserved; and it warns that IDs from different taxonomies can collide, potentially returning the wrong topic. This is rich behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the main function. Each sentence adds value, though the last sentence about taxonomies and prefixes is somewhat dense. Overall, it's well-structured with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description explains the main return values (tema, subtema, associated norms/sentences/concepts, temsubid, normid). It also explains follow-up usage and an important caveat about catalog collisions. It doesn't explicitly mention pagination or the 'limite' parameter, but overall it gives enough context to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (texto described, limite not). The description does not mention parameters at all, so it adds no meaning beyond the schema. The tool description neither explains 'limite' nor reinforces its usage. For a low-to-mid coverage, the description should have stepped in, but it didn't.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'devuelve tema, subtema y las normas, sentencias y conceptos asociados.' It also differentiates it from siblings by mentioning the 'índice empaquetado' (instantaneous, works offline) and the specific ID handling with 'ts-' prefix, which is unique to this 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?
The description gives clear context for when to use this tool: for a 'Consulta temática oficial' (official thematic query). It implies a use case when the portal is down ('funciona aunque el portal esté caído') and provides guidance on using the returned IDs with 'explicar_relacion_tema'. It doesn't exclude alternatives explicitly, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buscar_resoluciones_cregBuscar resoluciones de la CREG (energía y gas)A
Busca las resoluciones de la Comisión de Regulación de Energía y Gas, donde vive la regulación operativa del sector: tarifas, conexión, comercialización, plantas solares y gas natural. ÚSALA para la regulación energética y de gas. Es la ÚNICA fuente sectorial cuyo texto se puede leer aquí (usa obtener_documento con fuente="creg" con la ruta) y la única que publica una señal de vigencia: la CREG mantiene compilaciones separadas de resoluciones no derogadas y derogadas. Esa señal se traslada literal; no la conviertas en un sí o un no. NO sirve para leyes o decretos nacionales de otros sectores: para esos usa resolver_cita o buscar_normas.
| Name | Required | Description | Default |
|---|---|---|---|
| anio | No | Año de cuatro dígitos, desde 1994. SIN ÉL solo se mira el año en curso, que trae muy pocas. | |
| texto | No | Filtra por número, año o epígrafe. Ej.: "solar", "gas natural", "101-104" | |
| limite | No | Cuántas resoluciones mostrar (hasta 50) | |
| compilacion | No | "vigentes" = las que la CREG lista como no derogadas expresamente ni anuladas | vigentes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the unique full-text access capability, the separate compilations (vigentes/derogadas), and the critical literal-signal rule ('Esa señal se traslada literal; no la conviertas en un sí o un no'). While it doesn't detail return structure or pagination, it provides substantial behavioral context beyond the baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three dense sentences with no filler, containing only high-value information. The use of caps for key directives (ÚSALA, NO, ÚNICA) aids scanning, though it is slightly emphatic. Every sentence earns its place, but the length is near the upper bound of conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description fully compensates by covering what the tool searches, sector scope, how to access full text (via obtener_documento), the vigencia literalness nuance, when not to use it, and alternative tools. This provides everything an agent needs to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by explaining the default behavior of anio ('SIN ÉL solo se mira el año en curso, que trae muy pocas') and contextualizing compilacion with the explanation of separate compilations and literal signal transfer, exceeding the schema's basic property descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Busca las resoluciones de la Comisión de Regulación de Energía y Gas' with a specific verb+resource, lists the sector topics (tarifas, conexión, comercialización, plantas solares, gas natural), and explicitly distinguishes from siblings by noting it is the only sectorial source and excluding laws/decrees with resolver_cita/buscar_normas.
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 provides explicit positive guidance ('ÚSALA para la regulación energética y de gas'), explicit negative guidance ('NO sirve para leyes o decretos nacionales de otros sectores'), names alternative tools (resolver_cita, buscar_normas), and directs to obtener_documento with fuente='creg' for full text, leaving no ambiguity about when 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.
buscar_unificadoBuscar en varias fuentes a la vezA
Busca en paralelo en las fuentes ya existentes (Gestor Normativo, Corte Constitucional, SUIN-Juriscol y DIAN) y agrega los resultados con su fuente y su enlace. Con perfil "salud" añade INVIMA y Supersalud; con "mineria" añade la ANM. Úsala cuando la consulta es abierta o por materia y no hay una herramienta obvia; para una cita exacta sigue siendo mejor resolver_cita, y para un tribunal concreto su buscador propio. Cada resultado declara de qué fuente salió; la vigencia de SUIN se rotula SEGÚN EL BUSCADOR y no es la ficha oficial.
| Name | Required | Description | Default |
|---|---|---|---|
| texto | Yes | Términos a buscar, ej. "teletrabajo" | |
| limite | No | Cuántos resultados por fuente (máximo 30) | |
| perfil | No | Perfil sectorial: prioriza la fuente que mejor responde a ese sector (tributario → DIAN; salud → INVIMA y Supersalud; mineria → ANM) | |
| fuentes | No | Fuentes a consultar; sin él se usan todas menos DIAN (que va con perfil=tributario) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the transparency burden. It discloses parallel searching, source attribution per result, profile-driven source expansion, and the caveat that SUIN validity is labeled per the search engine and is not official. It does not explicitly state read-only behavior, but 'busca' and 'agrega' strongly imply a non-mutating search operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is reasonably compact and front-loaded with the core action, but it packs multiple conditional clauses and caveats into a few long sentences. It remains readable and scannable without being overly verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the result shape (source + link + source declaration) and the SUIN validity caveat, which is important given no output schema is present. It does not detail error behavior, pagination, or exact response structure, but for a multi-source search tool the provided context is largely sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides complete coverage for all four parameters, and the description adds useful semantic context for 'perfil' and 'fuentes', such as tributario → DIAN and salud → INVIMA/Supersalud. No parameter is left unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states that the tool searches multiple named legal sources in parallel and aggregates results with source and link. It also distinguishes itself from exact-citation and court-specific tools, making its purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to use it when the query is open-ended or subject-based and no more specific tool is obvious, and tells the user to prefer resolver_cita for exact citations or a dedicated court search for a specific tribunal. This gives clear when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cambios_desdeCambios registrados sobre normas desde una fechaA
Resume los cambios (modificación, derogación, adición) que el Gestor anota sobre LAS NORMAS QUE SE LISTAN, filtrándolos por el año de la norma modificadora. NO rastrea novedades automáticamente ni descubre normas nuevas.
| Name | Required | Description | Default |
|---|---|---|---|
| desde | Yes | Fecha AAAA-MM-DD; se filtra por el AÑO de la norma modificadora | |
| normas | Yes | Citas de normas a revisar, ej. ["Ley 909 de 2004"] |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It reveals two critical traits: the date input is filtered by the YEAR of the modifying norm (not exact date), and the tool does not discover or track new norms automatically. This goes beyond the schema and helps avoid misuse, though it doesn't describe the return format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no redundant wording. The first sentence front-loads the core purpose, and the second adds a crucial limitation. Every word earns its place, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, parameters, and key behavioral limitations. Since there is no output schema, the description could benefit from a brief note about the return format, but for a tool with only two simple parameters and clear schema descriptions, it is largely complete. The explicit inclusion of change types (modification, repeal, addition) adds useful context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters fully documented in the input schema (e.g., 'desde' states 'se filtra por el AÑO de la norma modificadora'). The description adds no additional param semantics beyond reinforcing that only listed norms are considered, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Resume los cambios' (summarizes changes: modification, repeal, addition) on explicitly listed norms. It also distinguishes its scope by stating it does NOT automatically track novelties or discover new norms, differentiating it from sibling tools that search or retrieve norms.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: when you have a specific list of norms and want changes since a date. The negative statement 'NO rastrea novedades automáticamente ni descubre normas nuevas' provides a clear exclusion, though it does not name alternative tools. This gives better guidance than no context, but lacks explicit references to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
comparar_articulosComparar dos artículos de normas distintasA
Compara el texto de un artículo entre dos normas, marca lo añadido y lo eliminado, clasifica cada diferencia por patrones de texto (plazo, sanción, excepción, sujeto obligado, prohibición u obligación) y detecta cambios editoriales por similitud léxica (Dice bigramas, ≥0,92); lo que no encaja se marca «revisar manualmente». Sin modelo semántico.
| Name | Required | Description | Default |
|---|---|---|---|
| norma_a | Yes | Cita de la primera norma, ej. "Ley 909 de 2004" | |
| norma_b | Yes | Cita de la segunda norma, ej. "Decreto 1083 de 2015" | |
| articulo_a | Yes | Número de artículo de la primera norma, ej. "12" | |
| articulo_b | Yes | Número de artículo de la segunda norma, ej. "12" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explains the core behavior (marking additions/deletions, classifying differences, detecting editorial changes, flagging manual review) but does not mention side effects, permissions, or rate limits. Since no annotations are provided, the description carries the burden and could be more explicit about read-only behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense sentence that packs substantial information without unnecessary verbosity. It is structured logically, though it could be split into clearer sentences for readability.
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, but the description gives a clear picture of the tool's behavior and expected outcome. It sufficiently describes the comparison, classification, and manual review flags, allowing an agent to infer what the result will look like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with all four parameters documented with examples. The description adds no additional parameter semantics beyond the schema, so it meets the baseline but provides no extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Compara' (compare), specifies the resource (articles between two norms), and distinguishes it from sibling search/list tools by focusing on comparison and diff classification.
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 describes the main function but does not explicitly state when to use this over alternatives like 'cambios_desde' or 'analizar_conflicto'. The phrase 'Sin modelo semántico' hints at a limitation but does not provide clear selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
consultar_perfilConsultar un perfil sectorial preconfiguradoA
Ejecuta una consulta con las fuentes y los filtros preconfigurados de un perfil: laboral, tributario, ambiental, contratación estatal o energía. Devuelve los resultados del perfil con su sector y su advertencia, fechados y con descargo. Cada perfil declara su sector y sus límites; para el listado de perfiles disponibles usa describir_fuentes o pide el listado. NO uses un perfil para lo que no cubre: si la consulta es de otra materia, usa buscar_normas o resolver_cita.
| Name | Required | Description | Default |
|---|---|---|---|
| texto | Yes | Consulta dentro del perfil, ej. "teletrabajo" | |
| limite | No | Cuántos resultados devolver (máximo 20; por defecto 10) | |
| perfil | Yes | Id del perfil: laboral, tributario, ambiental, contratacion_estatal, energia |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It transparently explains that the tool runs preconfigured sources/filters, returns profile results with sector, warning, date, and disclaimer, and that each profile declares its own scope/limits. This goes beyond surface-level description, though it omits details like error handling or authentication, preventing 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 description is three sentences and front-loaded with the core purpose. Every sentence earns its place: the first states what it does, the second explains the output and profile limitations, and the third provides explicit negative guidance. There is no redundancy or fluff, making it concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the moderate complexity (3 params, no output schema, no annotations), the description covers the main operational context: preconfigured sources, profiles, output contents, and usage boundaries. However, it lacks a detailed breakdown of the return structure or behavior on invalid inputs, which would be needed for a perfect 5. The presence of sibling-tool references adds contextual completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of parameters with descriptions, including valid profile IDs, the 'texto' example, and the 'limite' range. The description adds little beyond the schema—mainly repeating profile names and giving usage context. Since schema coverage is high, a baseline of 3 is appropriate, and the description does not meaningfully enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with a specific verb and resource: 'Ejecuta una consulta con las fuentes y los filtros preconfigurados de un perfil', clearly identifying the tool's function. It distinguishes itself from siblings by listing profile types and explicitly referencing alternative tools like buscar_normas and resolver_cita, making the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use guidance by naming the profiles and instructing to use describir_fuentes for the list of profiles. It also contains a clear negative directive: 'NO uses un perfil para lo que no cubre' and points to buscar_normas or resolver_cita for other matters, leaving no ambiguity about when to use this tool versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
consultar_por_jerarquiaConsultar normativa por nivel de autoridadA
Busca normativa colombiana por nivel de autoridad (constitución, ley, decreto, resolución, concepto o jurisprudencia) y explica el carácter de cada nivel: vinculante, orientador o informativo. Devuelve los documentos de ese nivel con su título y su enlace, y el carácter del nivel. ÚSALA cuando la pregunta pida un nivel concreto (p. ej. "¿qué leyes hay sobre X?"); para buscar sin nivel usa buscar_normas o buscar_por_tema. No es asesoría jurídica: verifica siempre en el enlace.
| Name | Required | Description | Default |
|---|---|---|---|
| nivel | Yes | Nivel de autoridad: constitución, ley, decreto, resolución, concepto o jurisprudencia | |
| texto | Yes | Términos a buscar dentro del nivel, ej. "teletrabajo" | |
| limite | No | Cuántos documentos devolver (máximo 20; por defecto 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full transparency burden. It discloses the output composition (documents with title and link, plus the character of the level), explains that levels are classified as vinculante/orientador/informativo, and adds a caveat that it is not legal advice and to verify on the link. It omits edge behaviors like pagination or no-result handling, but it gives substantial behavioral context beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well structured: three sentences lead with the core action, then describe the output, then give usage direction and a caveat. Every sentence adds value with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description properly explains what is returned (documents with title, link, and level character) and covers legal caveats. It also provides usage alternatives. Minor gaps remain about result ordering and no-result behavior, but the description is largely complete for a search tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers 100% of the parameters, so the baseline is 3. The description restates the 'nivel' options and explains the character of each level, but it does not add new meaning to 'texto' or 'limite' beyond what their schema descriptions already provide.
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 opens with a specific verb and resource: 'Busca normativa colombiana por nivel de autoridad', lists the exact levels allowed, and states the returned data (documents with title, link, and level character). It also explicitly contrasts with sibling tools by saying 'para buscar sin nivel usa buscar_normas o buscar_por_tema', so it clearly distinguishes itself from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description contains explicit when-to-use guidance: 'ÚSALA cuando la pregunta pida un nivel concreto' and gives the alternative: 'para buscar sin nivel usa buscar_normas o buscar_por_tema'. This is direct, actionable, and names specific sibling tools as alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
consultar_vigenciaConsultar la vigencia de una normaA
Devuelve el estado de vigencia de una norma ("Vigente", "Derogado", "Vigencia en Estudio"... cuando SUIN lo publica) con un nivel de confianza: alta (ficha SUIN directa), media (índice del buscador, que a veces contradice la ficha) o baja (no consta). Nunca inventa el estado: si no consta, lo dice y orienta.
| Name | Required | Description | Default |
|---|---|---|---|
| cita | Yes | Cita de la norma, ej. "Ley 909 de 2004" o "Decreto 1072 de 2015" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description openly states that the tool never invents a status and will say when a status is not available, including a confidence level. This is especially valuable because no annotations are provided. It does not mention side effects, but the tool appears read-only, so no contradiction exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that conveys the core behavior, output types, confidence levels, and fallback policy without unnecessary detail. It is concise yet complete.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description adequately explains the nature of the output: status values, confidence levels, and the 'do not invent' rule. It could be slightly more explicit about the format of the returned guidance, but overall it provides enough context for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'cita' is clearly described with examples ('Ley 909 de 2004' or 'Decreto 1072 de 2015'), and the schema coverage is 100%. The description adds enough context to understand what kind of citation is expected.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to return the validity status of a legal norm. It specifies the main output values ('Vigente', 'Derogado', 'Vigencia en Estudio') and the confidence levels, which distinguishes it from sibling tools like buscar_normas or obtener_documento.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the tool's behavior regarding confidence levels and fallback when no status is found, but it does not explicitly say when to use this tool versus an alternative sibling such as historial_norma or resolver_cita. The guidance is implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
describir_fuentesQué cubre este MCP, y qué noA
Declara el alcance real: qué fuente responde cada pregunta, qué NO está cubierto y con qué fecha se generaron los índices que viajan empaquetados. Úsala ANTES de concluir que algo "no existe" a partir de una búsqueda vacía, y para saber si el índice de vigencia sigue fresco. No consulta la red. Con el parámetro fuente devuelve SOLO el alcance de esa fuente, que es lo que suele hacer falta; sin él, el cuadro completo, que es largo.
| Name | Required | Description | Default |
|---|---|---|---|
| fuente | No | Clave de una sola fuente ("creg", "suin", "sic"…). Sin ella se devuelven todas. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so well: it discloses no network access, that indices are packaged, that the full table is long, and that the parameter returns only one source's scope. This gives the agent a clear mental model of the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: first sentence gives the core purpose, second adds usage timing, third clarifies parameter behavior. Every clause earns its place; no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter tool with no output schema and no annotations, this description is complete. It covers purpose, when to use, network behavior, parameter effects, and output size expectations, making it self-sufficient for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although the schema already documents the 'fuente' parameter at 100% coverage, the description adds meaning: with the parameter it returns ONLY that source's scope (which 'usually is what's needed'), without it the full table is long. This advises on parameter choice and output size beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool declares the real scope: which source answers each question, what is not covered, and the generation date of packaged indices. This specific verb-resource pair (declara alcance) clearly distinguishes it from sibling search tools by being a metadata/inventory 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?
Explicit usage instructions: use it BEFORE concluding something doesn't exist from an empty search and to check if the index freshness is current. It also states 'No consulta la red' as an exclusion, clarifying it is not for live lookups among the sibling search tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
expedienteExpediente temporal de investigaciónA
Crea, agrega, lee o exporta un expediente para agrupar consultas, citas y observaciones de una investigación. Se activa con EXPEDIENTES=1 (DESACTIVADO por defecto). En memoria es TEMPORAL (expira según EXPEDIENTES_TTL_MS; por defecto no expira); con EXPEDIENTES_DIR se persiste en disco y sobrevive a reinicios. accion="crear" devuelve el id; accion="agregar" guarda una entrada en la sección indicada de un expediente YA CREADO; accion="leer" devuelve el contenido agrupado por sección; accion="exportar" escribe el expediente como markdown en la ruta pedida.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Id del expediente (obligatorio para agregar, leer y exportar) | |
| ruta | No | Dónde escribir la exportación: un archivo o un directorio (solo accion="exportar") | |
| campo | No | Sección donde guardar la entrada (solo accion="agregar") | |
| texto | No | Contenido de la entrada a guardar (solo accion="agregar") | |
| accion | Yes | Qué hacer: crear un expediente, agregar una entrada, leer su contenido o exportarlo |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and excels: it discloses the activation flag (EXPEDIENTES=1, disabled by default), memory vs. disk persistence via EXPEDIENTES_TTL_MS and EXPEDIENTES_DIR, and the exact behavior of each action (e.g., 'crear' returns the id, 'agregar' requires an already created expediente). This goes well beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a concise, information-dense paragraph that front-loads the primary purpose, then covers configuration and action semantics in order. Every sentence contributes new behavioral information without redundancy, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 5 parameters, no output schema, and no annotations, the description fully covers the lifecycle (create, add, read, export), persistence behavior, activation requirements, and parameter constraints. It provides enough detail for an agent to select and invoke the tool correctly in most scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds minor clarifications such as 'agregar' requiring an already created expediente and the markdown output for 'exportar', but it mostly reiterates schema details. Overall it adds marginal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Crea, agrega, lee o exporta un expediente para agrupar consultas, citas y observaciones de una investigación', explicitly naming the verbs and resource. This clearly distinguishes it from sibling search/retrieval tools, making the tool's purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clear context is provided: it is for grouping investigation-related items, requires the EXPEDIENTES=1 flag to be enabled, and supports four specific actions. No explicit alternatives are mentioned, but the tool's role as a container versus the siblings' search functions is implied, so there is clear context without exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
explicar_relacion_temaExplicar por qué una norma aplica a un subtemaA
Devuelve el "restrictor": el extracto que explica por qué esa norma es pertinente para ESE subtema en concreto. Ambos identificadores deben salir de la MISMA fila de buscar_por_tema, y el temsubid va con su prefijo ("ts-38872"): un id de listar_catalogos (catalogo="subtemas") o de otros catálogos se rechaza aquí. Para ver todos los restrictores de una norma de una vez, usa obtener_documento con fuente="gestor" y mira su bloque "Temas asociados".
| Name | Required | Description | Default |
|---|---|---|---|
| normid | Yes | normid de la misma fila de buscar_por_tema | |
| temsubid | No | temsubid de buscar_por_tema, con su prefijo: "ts-38872" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description discloses key behavioral constraints: the requirement that both IDs come from the same busqueda row, the format of temsubid with prefix, and rejection of other catalog IDs. It does not detail error handling or response format beyond mentioning the return as an extract, but the constraints add meaningful context beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the tool's purpose, followed by usage constraints and an alternative. Every sentence adds value with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-parameter tool with no output schema, the description adequately explains return value (restrictor excerpt), input requirements, and an alternative for related queries. It doesn't specify error cases, but this is not a significant gap given the focused nature of the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds crucial semantics: the 'same row' relationship between normid and temsubid, and the explicit rejection of IDs from other catalogs. This goes beyond the schema's property descriptions, which only state the source and prefix.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Devuelve el "restrictor": el extracto que explica por qué esa norma es pertinente para ESE subtema en concreto.' It uses a specific verb ('devuelve') and resource (el restrictor), and distinguishes itself from siblings by emphasizing the specific subtopic relationship and referencing buscar_por_tema for identifiers.
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 usage guidance is provided: both identifiers must come from the same row of buscar_por_tema, and ids from listar_catalogos or other catalogs are rejected. It also offers an alternative tool (obtener_documento with fuente='gestor') for seeing all restrictors, clarifying 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.
historial_normaHistorial de reformas de una normaA
Devuelve la cadena de reformas que el Gestor anota sobre una norma: qué norma la modificó, adicionó, derogó, sustituyó... y qué artículo afectó cada cambio, con la nota literal citable. Son las notas del portal, no una deducción de vigencia: el estado actual se consulta con resolver_cita.
| Name | Required | Description | Default |
|---|---|---|---|
| cita | Yes | Cita de la norma, ej. "Ley 100 de 1993" | |
| desde | No | Cuántos cambios saltarse antes de empezar (los demás no caben en la respuesta) | |
| limite | No | Cuántos cambios mostrar (hasta 100) | |
| articulo | No | Filtra a los cambios que afectaron ese artículo (ej. "6"); sin él se devuelven todos |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description conveys that the tool is read-only ('Devuelve') and clarifies what it does not do (it is not a validity deduction). However, it does not explicitly address side effects, permissions, or potential errors. Given the absence of annotations, the description carries the full burden but stops short of a complete behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of two sentences that convey purpose, content, and the key distinction from another tool. Every word adds value, with no redundant or irrelevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides sufficient context for correct usage: it explains what the tool returns, what it does not do, and which sibling tool to use for current status. Combined with the well-structured schema, this gives a complete picture without needing an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema descriptions cover 100% of the parameters and provide meaningful examples and constraints (e.g., 'ej. "6"' for articulo, maximum for limite). This goes beyond simple parameter names, adding practical guidance for usage. A score above 4 would require additional nuance not present in the description itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: it returns the chain of reforms (modifications, additions, repeals, substitutions) noted by the Manager for a given norm. It also specifies the resource (norma) and the action (devuelve la cadena de reformas), making it immediately distinguishable from other tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly differentiates this tool from resolver_cita, stating that it provides the portal's notes rather than a validity deduction and directing the user to resolver_cita for current legal status. This gives clear guidance on when to use this tool and when to use an alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listar_catalogosListar catálogos de búsquedaA
Valores válidos para los filtros de buscar_normas: tipos de documento (29), años, entidades (89) y temas (2.509). En temas el filtro es obligatorio por volumen, y sus ids salen con prefijo ("tema-24457") porque el portal tiene tres taxonomías temáticas que reutilizan los mismos números. También lista los subtemas de un tema (catalogo="subtemas" con tema_id), los conceptos de Función Pública (catalogo="conceptos_fp" con numero/anio) y el listado curado de normas de competencia del DAFP (catalogo="normas_fp"). OJO CON EL ALCANCE: estos catálogos son SOLO del Gestor Normativo de Función Pública y solo sirven en buscar_normas. No cubren la DIAN (que tiene su propio normograma, con buscar_normativa_tributaria), ni SUIN-Juriscol, ni las tres altas cortes. Que "DIAN" no aparezca en el catálogo de entidades no significa que no haya normativa de la DIAN: significa que el Gestor no la cataloga como entidad emisora.
| Name | Required | Description | Default |
|---|---|---|---|
| anio | No | Año del concepto (solo catalogo="conceptos_fp") | |
| desde | No | ||
| filtro | No | Texto para filtrar; obligatorio en "temas" | |
| limite | No | ||
| numero | No | Número del concepto (solo catalogo="conceptos_fp") | |
| tema_id | No | Id del tema (solo catalogo="subtemas"), con prefijo "tema-…" | |
| catalogo | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the full behavioral disclosure burden. It discloses the volume constraint on 'temas', the id prefix convention ('tema-24457') due to taxonomy reuse, and the subtle trap that DIAN's absence from the entity catalog does not mean DIAN regulations do not exist. These are non-obvious behaviors beyond what the schema reveals.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph, but every sentence contributes value—from listing catalog types and counts to explaining special cases and scope limitations. It is appropriately sized for the complexity, though it could benefit from bullet points to improve skimmability. It is front-loaded with the main purpose before diving into cautions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description covers essential context such as scope limitations, required 'filtro' for 'temas', and the prefix convention. It does not explicitly describe the return format or pagination behavior, but the schema already defines 'limite' and 'desde' with defaults. The description is complete enough for a catalog-listing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds significant meaning to the 'catalogo' parameter by explaining all seven enum values and their specific purposes. It also clarifies that 'tema_id' is used with 'subtemas' and 'numero'/'anio' with 'conceptos_fp'. However, it does not elaborate on 'desde' and 'limite' (pagination parameters), which are already documented in the schema with defaults, so the description compensates well for the 57% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool lists valid catalog values for buscar_normas filters (document types, years, entities, themes) and also supports special catalogs for subtopics, concepts, and DAFP norms. It goes beyond the title by naming the specific resource and filter context, and differentiates from siblings by explicitly limiting its scope to the Gestor Normativo de Función Pública.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance: it says these catalogs are ONLY for buscar_normas and do NOT cover DIAN (suggesting buscar_normativa_tributaria as an alternative), SUIN-Juriscol, or the high courts. It also explains that the 'temas' filter is obligatory due to volume and instructs how to use subtemas and conceptos_fp with specific parameters. This is clear when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listar_normativa_ambiental_anlaNormativa ambiental clasificada por la ANLAA
La ANLA mantiene en su sistema "Eureka" una CURADURÍA de la normativa nacional que aplica al licenciamiento ambiental, agrupada por tema. Lo que aporta es la CLASIFICACIÓN, no documentos nuevos: casi todo lo que lista son leyes y decretos que resolver_cita ya resuelve mejor, con texto completo y con vigencia. Úsala para descubrir QUÉ normas aplican a un tema ambiental, y resuelve cada una con resolver_cita.
| Name | Required | Description | Default |
|---|---|---|---|
| desde | No | Eureka pagina sola y con distinto tamaño según la sección: no lo calcules, usa el que dice la respuesta | |
| texto | No | Filtra las entradas de esa sección por título o resumen | |
| seccion | No | leyes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the tool provides classification, not new documents, and implies it lacks full-text and validity data by stating resolver_cita handles those. It does not detail output format or pagination behavior, but it does a good job of setting expectations for a curated list tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three focused sentences with no filler. It front-loads the source and classification purpose, states what the tool does not provide, and gives a clear usage directive. The heavy use of caps is slightly noisy but does not detract from clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description provides sufficient context for a list/discovery tool: it explains the curation source, the limitation (no new documents), and the relationship to resolver_cita. It does not describe the response structure, but the purpose is simple enough that the description, together with the schema, sets adequate context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes 'desde' and 'texto' (67% coverage), so the description need not repeat them. However, the description adds no parameter-specific meaning and does not compensate for the undocumented 'seccion' property beyond the title's theme focus. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear, specific purpose: it lists environmental regulations classified by ANLA/Eureka. It explicitly says 'Lo que aporta es la CLASIFICACIÓN, no documentos nuevos' and instructs the agent to use it 'para descubrir QUÉ normas aplican a un tema ambiental,' clearly distinguishing it from siblings like resolver_cita.
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 explicit guidance: use this tool to discover which regulations apply to an environmental topic, and then use resolver_cita to resolve each one. It names the alternative tool and explains why resolver_cita is better for full text and validity, making the when-to-use decision unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
obtener_documentoObtener el texto de un documento por fuenteA
Devuelve el texto (troceado, nunca entero) de un documento de una de las siete fuentes con texto: "gestor" (normas del Gestor Normativo por id), "corte" (sentencias de la Corte Constitucional por ruta o cita), "suprema" (Corte Suprema por ruta + sala), "consejo" (Consejo de Estado por token), "dian" (normograma de la DIAN por link), "creg" (resoluciones CREG por ruta) y "sectorial" (actos de un regulador sectorial por entidad + url del acto, PDF o Word). Usa buscar_en_texto para encontrar un término dentro del documento, articulo/seccion para una parte puntual, o historial (solo gestor) para los cambios anotados. Nunca devuelve el documento entero: respeta limite_caracteres (200–40.000, default 8000) e informa total/mostrado/omitido. Con entero=true escribe el documento a disco y devuelve la ruta con un trozo de lectura; con ruta_destino lo descarga a esa carpeta sin devolver el texto.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Solo gestor: id numérico de la norma | |
| url | No | Solo sectorial: enlace del acto a leer, tal como lo devuelve buscar_normativa_sectorial | |
| link | No | Solo dian: nombre del archivo, ej. "decreto_1625_2016.htm" | |
| ruta | No | corte/suprema/creg: ruta del documento | |
| sala | No | Solo suprema: la MISMA sala con la que se encontró | |
| desde | No | ||
| token | No | Solo consejo: token que devuelve buscar_jurisprudencia_consejo_estado | |
| entero | No | En vez de trocear, escribe el documento a disco y devuelve la ruta con un trozo del texto | |
| fuente | Yes | De qué fuente sale el documento | |
| entidad | No | Solo sectorial: id del regulador (los lista buscar_normativa_sectorial) | |
| seccion | No | Solo corte: devuelve solo esa parte de la providencia | |
| articulo | No | Solo gestor: número de artículo | |
| historial | No | Solo gestor: en vez del texto, devuelve los cambios anotados sobre la norma | |
| sin_temas | No | Solo gestor: omite el bloque de temas asociados (ahorra contexto cuando solo se quiere el articulado) | |
| max_pasajes | No | Máximo de pasajes con buscar_en_texto (por defecto 10) | |
| ruta_destino | No | Carpeta donde guardar el archivo (con entero o para descargar el PDF/Word sin devolver texto) | |
| buscar_en_texto | No | Devuelve solo los fragmentos que mencionan este término | |
| limite_caracteres | No | Tope del TEXTO devuelto; se ajusta al rango 200–40.000 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does disclose important side effects: it never returns the entire document, can write to disk with entero=true, and can download with ruta_destino without returning text. It does not mention error cases or output format details, but the key behaviors are transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is fairly concise and well-structured, with a clear introductory sentence followed by source-specific details and behavioral notes. There is slight redundancy between 'troceado, nunca entero' and the later 'Nunca devuelve el documento entero', but this does not significantly hurt clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the main outputs (text chunks, total/mostrado/omitido, path when entero=true, download with ruta_destino) despite the absence of an output schema. It also references related search tools like buscar_normativa_sectorial and buscar_jurisprudencia_consejo_estado, placing the tool in context. Minor gaps remain around exact return structure and failure behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds substantial meaning beyond the schema by mapping each source to its required identifier (e.g., gestor uses id, consejo uses token, sectorial uses entidad + url). It also clarifies parameter exclusivity, such as seccion only for corte and historial only for gestor, making correct parameter selection much easier.
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: it returns the text of a document from one of seven named sources. It also differentiates itself from sibling search tools by focusing on document retrieval and content extraction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives useful guidance on how to use sub-features like buscar_en_texto, articulo/seccion, and historial, and explains entero and ruta_destino behavior. However, it does not explicitly state when to prefer this tool over sibling search tools, leaving that comparison implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolver_citaResolver una cita normativaA
Ruta rápida y exacta para citas como "Ley 909 de 2004", "Decreto 1083", "C-337/11", "T-099/24" o "artículo 6 de la Ley 1221 de 2008". Úsala SIEMPRE que la pregunta mencione una norma concreta: evita el buscador por palabras, que es impreciso. Los CÓDIGOS se citan por su nombre ("art. 191 del Código de Comercio", "art. 83 del Código Penal", "art. 164 del CPACA"): la respuesta dice contra qué norma se resolvió. Acepta también un LOTE de citas con el parámetro citas (["Ley 909 de 2004", "C-337/11"]), que resuelve cada una con su enlace en una sola llamada. Para VARIOS ARTÍCULOS de la MISMA norma usa articulos (["705", "707", "710"]) con cita apuntando a la norma: se descarga una sola vez y la ficha no se repite.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Enlace a comprobar (solo con validar=true) | |
| cita | No | Ej.: "Ley 909 de 2004", "C-337/11", "art. 6 de la Ley 1221 de 2008", "art. 191 del Código de Comercio" | |
| citas | No | Varias citas a la vez, ej. ["Ley 909 de 2004", "C-337/11"]: cada una se resuelve y se devuelve con su enlace | |
| validar | No | En vez de la resolución, comprueba que la cita (y el enlace, si se da con url) coincide con lo que devuelve el Gestor: número/año, dominio y artículo. Clasifica en "cita validada", "parcialmente validada" o "no fue posible validar". NUNCA afirma vigencia. | |
| contexto | No | Por defecto true. Con false se omite el extracto de tema asociado y se devuelve solo la identificación, la vigencia y el texto pedido. Útil cuando ya se conoce la norma y solo se quiere el articulado. | |
| articulos | No | Varios artículos de la MISMA norma en una sola llamada, ej. ["705", "707", "710"]. Se usa con cita apuntando a la norma ("Decreto Ley 624 de 1989"); la norma se descarga una vez y se extrae cada artículo. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Sin anotaciones, la descripción asume la carga de explicar el comportamiento: devuelve identificación, vigencia, texto pedido y enlaces; aclara que en modo validar nunca afirma vigencia; y menciona que con articulos la norma se descarga una sola vez. No detalla posibles errores o efectos secundarios, pero para una herramienta de resolución de citas es suficientemente transparente.
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?
La descripción es informativa y no contiene relleno, pero es un párrafo denso con frases en mayúsculas y enumeraciones largas. Podría organizarse mejor en viñetas o secciones, aunque cada oración aporta información útil.
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?
Dado que no hay esquema de salida, la descripción explica bien los tipos de respuesta: resolución con enlace, validación clasificada, y control del contexto y vigencia. No cubre posibles errores, pero el contexto es suficiente para que un agente entienda cuándo y cómo usar la herramienta.
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?
Aunque el esquema ya documenta cada parámetro, la descripción añade valor con ejemplos concretos, explica la relación entre url y validar, el uso de citas para lotes y la combinación de articulos con cita. Cubre todos los seis parámetros y aclara las opciones de comportamiento.
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?
La descripción establece claramente que la herramienta resuelve citas normativas concretas y la diferencia explícitamente del buscador por palabras, indicando cuándo debe usarse. Incluye ejemplos representativos de citas de leyes, decretos, sentencias y artículos.
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?
Se indica de forma directa que debe usarse siempre que la pregunta mencione una norma concreta y se advierte evitar el buscador por palabras. También explica cuándo usar los parámetros citas, articulos, validar y contexto, con ejemplos.
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. Dates show when Glama detected each change.
7 tool updates
v1.13.0- Changed
buscar_jurisprudencia_consejo_estado1 field changed- added
Input schema / properties / exactoAdded value: +{ + "default": true, + "description": "Buscar la frase exacta (entre comillas en el buscador SAMAI). Viene activado; si la frase no aparece en la página, se amplía solo a OR con un aviso. Ponlo en false para ampliar a propósito.", + "type": "boolean" +}
- Changed
buscar_normativa_sectorial1 field changed- added
Input schema / properties / solo_entidadAdded value: +{ + "description": "Solo INVIMA/Supersalud: limita a los actos de los tipos que la propia entidad expide (Resolución, Circular...), excluyendo la compilación sectorial del normograma (leyes, decretos del Ministerio, sentencias).", + "type": "boolean" +}
- Changed
buscar_unificado3 fields changed- changed
Input schema / properties / fuentes / items / enumPrevious value: -[ - "gestor", - "corte", - "suin", - "dian" -]New value: +[ + "gestor", + "corte", + "suin", + "dian", + "invima", + "supersalud", + "anm" +] - changed
Input schema / properties / perfil / descriptionPrevious value: -"Perfil sectorial: prioriza la fuente que mejor responde a ese sector (tributario → DIAN)"New value: +"Perfil sectorial: prioriza la fuente que mejor responde a ese sector (tributario → DIAN; salud → INVIMA y Supersalud; mineria → ANM)" - changed
Input schema / properties / perfil / enumPrevious value: -[ - "laboral", - "tributario", - "ambiental", - "contratacion", - "energia" -]New value: +[ + "laboral", + "tributario", + "ambiental", + "contratacion", + "energia", + "salud", + "mineria" +]
- Added
consultar_vigencia - Added
historial_norma - Changed
obtener_documento1 field changed- added
Input schema / properties / sin_temasAdded value: +{ + "description": "Solo gestor: omite el bloque de temas asociados (ahorra contexto cuando solo se quiere el articulado)", + "type": "boolean" +}
- Changed
resolver_cita3 fields changed- added
Input schema / properties / articulosAdded value: +{ + "description": "Varios artículos de la MISMA norma en una sola llamada, ej. [\"705\", \"707\", \"710\"]. Se usa con cita apuntando a la norma (\"Decreto Ley 624 de 1989\"); la norma se descarga una vez y se extrae cada artículo.", + "items": { + "type": "string" + }, + "type": "array" +} - changed
Input schema / properties / cita / descriptionPrevious value: -"Ej.: \"Ley 909 de 2004\", \"C-337/11\", \"art. 6 de la Ley 1221 de 2008\""New value: +"Ej.: \"Ley 909 de 2004\", \"C-337/11\", \"art. 6 de la Ley 1221 de 2008\", \"art. 191 del Código de Comercio\"" - added
Input schema / properties / contextoAdded value: +{ + "description": "Por defecto true. Con false se omite el extracto de tema asociado y se devuelve solo la identificación, la vigencia y el texto pedido. Útil cuando ya se conoce la norma y solo se quiere el articulado.", + "type": "boolean" +}
20 tool updates
v1.11.2- Removed
buscar_conceptos_fp - Changed
buscar_normas1 field changed- changed
Input schema / properties / subtema / descriptionPrevious value: -"id de listar_subtemas con prefijo (\"sub-38968\"), o su nombre si además indicas tema. El \"ts-\" de buscar_por_tema no vale aquí."New value: +"id de listar_catalogos con catalogo=\"subtemas\" y prefijo (\"sub-38968\"), o su nombre si además indicas tema. El \"ts-\" de buscar_por_tema no vale aquí."
- Changed
buscar_normativa_sectorial2 fields changed- added
Input schema / properties / categoriaAdded value: +{ + "description": "Tipo de acto o categoría (cada fuente declara cuáles soporta; solo Unidad de Víctimas lo filtra hoy)", + "type": "string" +} - changed
Input schema / properties / entidad / enumPrevious value: -[ - "minagricultura", - "ica", - "anm", - "supersociedades", - "sic", - "invima", - "superfinanciera", - "mintrabajo", - "supertransporte", - "parques" -]New value: +[ + "minagricultura", + "ica", + "anm", + "ant", + "supersociedades", + "sic", + "invima", + "superfinanciera", + "supersalud", + "mintrabajo", + "supertransporte", + "unidadvictimas", + "parques" +]
- Added
buscar_unificado - Added
expediente - Removed
expediente_agregar - Removed
expediente_crear - Removed
expediente_leer - Changed
listar_catalogos5 fields changed- added
Input schema / properties / anioAdded value: +{ + "description": "Año del concepto (solo catalogo=\"conceptos_fp\")", + "type": "string" +} - changed
Input schema / properties / catalogo / enumPrevious value: -[ - "tipos", - "anios", - "entidades", - "temas" -]New value: +[ + "tipos", + "anios", + "entidades", + "temas", + "subtemas", + "conceptos_fp", + "normas_fp" +] - added
Input schema / properties / desdeAdded value: +{ + "default": 0, + "minimum": 0, + "type": "integer" +} - added
Input schema / properties / numeroAdded value: +{ + "description": "Número del concepto (solo catalogo=\"conceptos_fp\")", + "type": "string" +} - added
Input schema / properties / tema_idAdded value: +{ + "description": "Id del tema (solo catalogo=\"subtemas\"), con prefijo \"tema-…\"", + "type": "string" +}
- Removed
listar_normas_fp - Removed
listar_subtemas - Added
obtener_documento - Removed
obtener_documento_dian - Removed
obtener_norma - Removed
obtener_providencia_consejo_estado - Removed
obtener_providencia_suprema - Removed
obtener_resolucion_creg - Removed
obtener_sentencia - Changed
resolver_cita4 fields changed- added
Input schema / properties / citasAdded value: +{ + "description": "Varias citas a la vez, ej. [\"Ley 909 de 2004\", \"C-337/11\"]: cada una se resuelve y se devuelve con su enlace", + "items": { + "type": "string" + }, + "type": "array" +} - added
Input schema / properties / urlAdded value: +{ + "description": "Enlace a comprobar (solo con validar=true)", + "type": "string" +} - added
Input schema / properties / validarAdded value: +{ + "description": "En vez de la resolución, comprueba que la cita (y el enlace, si se da con url) coincide con lo que devuelve el Gestor: número/año, dominio y artículo. Clasifica en \"cita validada\", \"parcialmente validada\" o \"no fue posible validar\". NUNCA afirma vigencia.", + "type": "boolean" +} - removed
Input schema / requiredRemoved value: -[ - "cita" -]
- Removed
validar_cita
11 tool updates
v1.10.2- Changed
buscar_conceptos_fp1 field changed- added
Input schema / properties / limite / descriptionAdded value: +"Cuántos conceptos mostrar (hasta 100; por defecto 20)"
- Changed
buscar_jurisprudencia1 field changed- added
Input schema / properties / limite / descriptionAdded value: +"Cuántas providencias mostrar (hasta 100)"
- Changed
buscar_resoluciones_creg1 field changed- added
Input schema / properties / limite / descriptionAdded value: +"Cuántas resoluciones mostrar (hasta 50)"
- Changed
consultar_perfil1 field changed- added
Input schema / properties / limite / descriptionAdded value: +"Cuántos resultados devolver (máximo 20; por defecto 10)"
- Changed
consultar_por_jerarquia1 field changed- added
Input schema / properties / limite / descriptionAdded value: +"Cuántos documentos devolver (máximo 20; por defecto 10)"
- Changed
expediente_agregar3 fields changed- added
Input schema / properties / campo / descriptionAdded value: +"Sección del expediente donde se guarda la entrada" - changed
Input schema / properties / id / descriptionPrevious value: -"Id devuelto por expediente_crear"New value: +"Id que devuelve expediente_crear; debe existir y no haber expirado" - added
Input schema / properties / texto / descriptionAdded value: +"Contenido de la entrada a guardar, tal cual"
- Changed
expediente_leer1 field changed- added
Input schema / properties / id / descriptionAdded value: +"Id que devuelve expediente_crear; debe existir y no haber expirado"
- Changed
obtener_documento_dian1 field changed- added
Input schema / properties / max_pasajes / descriptionAdded value: +"Máximo de pasajes con buscar_en_texto (por defecto 10)"
- Changed
obtener_providencia_consejo_estado1 field changed- added
Input schema / properties / max_pasajes / descriptionAdded value: +"Máximo de pasajes con buscar_en_texto (por defecto 10)"
- Changed
obtener_providencia_suprema1 field changed- added
Input schema / properties / max_pasajes / descriptionAdded value: +"Máximo de pasajes con buscar_en_texto (por defecto 10)"
- Changed
obtener_resolucion_creg1 field changed- added
Input schema / properties / max_pasajes / descriptionAdded value: +"Máximo de pasajes con buscar_en_texto (por defecto 10)"
9 tool updates
v1.10.1- Added
analizar_conflicto - Added
cambios_desde - Added
comparar_articulos - Added
consultar_perfil - Added
consultar_por_jerarquia - Added
expediente_agregar - Added
expediente_crear - Added
expediente_leer - Added
validar_cita
15 tool updates
v1.9.0- Changed
buscar_jurisprudencia_consejo_estado3 fields changed- changed
Input schema / properties / limite / descriptionPrevious value: -"El buscador entrega páginas de 9 como máximo"New value: +"Cuántas mostrar de la página (hasta 10)" - changed
Input schema / properties / limite / maximumPrevious value: -9New value: +10 - added
Input schema / properties / paginaAdded value: +{ + "default": 1, + "description": "Página de resultados, desde 1. SAMAI pagina en bloques de ~10 y no admite un desplazamiento libre, por eso aquí se pide la página y no el \"desde\" del resto de herramientas.", + "minimum": 1, + "type": "integer" +}
- Changed
buscar_jurisprudencia_suprema2 fields changed- changed
Input schema / properties / exacto / defaultPrevious value: -falseNew value: +true - changed
Input schema / properties / exacto / descriptionPrevious value: -"Buscar la frase exacta. MUY recomendable con frases: sin esto el buscador une las palabras con OR y \"despido sin justa causa\" devuelve 176.012 providencias contra 20.233 con exacto=true."New value: +"Buscar la frase exacta; viene activado. Con exacto=false el buscador une las palabras con OR y \"despido sin justa causa\" devuelve 176.012 providencias contra 20.233 con la frase: en la sala Penal ese modo llega a 33.607 resultados y es inservible. Ponlo en false solo para ampliar a propósito una búsqueda que quedó corta."
- Changed
buscar_normas2 fields changed- changed
Input schema / properties / subtema / descriptionPrevious value: -"subtemaid de listar_subtemas, o su nombre si además indicas tema. NO sirve el temsubid de buscar_por_tema."New value: +"id de listar_subtemas con prefijo (\"sub-38968\"), o su nombre si además indicas tema. El \"ts-\" de buscar_por_tema no vale aquí." - changed
Input schema / properties / tema / descriptionPrevious value: -"Nombre o id de tema del catálogo"New value: +"Nombre del tema, o su id de listar_catalogos con prefijo: \"tema-24457\""
- Added
buscar_normativa_anh - Added
buscar_normativa_sectorial - Added
buscar_normativa_upme - Added
buscar_resoluciones_creg - Added
describir_fuentes - Changed
explicar_relacion_tema3 fields changed- changed
Input schema / properties / temsubid / descriptionPrevious value: -"temsubid de buscar_por_tema (no vale el id de listar_subtemas)"New value: +"temsubid de buscar_por_tema, con su prefijo: \"ts-38872\"" - removed
Input schema / properties / temsubid / patternRemoved value: -"^\\d+$" - changed
Input schema / requiredPrevious value: -[ - "temsubid", - "normid" -]New value: +[ + "normid" +]
- Added
listar_normativa_ambiental_anla - Changed
listar_subtemas3 fields changed- changed
Input schema / properties / tema_id / descriptionPrevious value: -"id de tema del catálogo, como texto"New value: +"id de tema de listar_catalogos, con su prefijo: \"tema-24457\"" - removed
Input schema / properties / tema_id / patternRemoved value: -"^\\d+$" - removed
Input schema / requiredRemoved value: -[ - "tema_id" -]
- Added
obtener_providencia_consejo_estado - Added
obtener_providencia_suprema - Added
obtener_resolucion_creg - Changed
obtener_sentencia1 field changed- changed
Input schema / properties / seccion / descriptionPrevious value: -"Devuelve solo esa parte. \"decision\" trae el RESUELVE, que es lo que casi siempre se busca: en la T-099/24 son 39.906 caracteres en vez de 140.162."New value: +"Devuelve solo esa parte. \"decision\" trae el RESUELVE, que es lo que casi siempre se busca y suele ser una fracción del texto; la respuesta dice cuántos caracteres son de cuántos."
16 tool updates
v1.6.0- First observed
buscar_conceptos_fp - First observed
buscar_en_suin - First observed
buscar_jurisprudencia - First observed
buscar_jurisprudencia_consejo_estado - First observed
buscar_jurisprudencia_suprema - First observed
buscar_normas - First observed
buscar_normativa_tributaria - First observed
buscar_por_tema - First observed
explicar_relacion_tema - First observed
listar_catalogos - First observed
listar_normas_fp - First observed
listar_subtemas - First observed
obtener_documento_dian - First observed
obtener_norma - First observed
obtener_sentencia - First observed
resolver_cita
TDQS
Most tools have clear, distinct purposes with explicit guidance on when to use each (e.g., buscar_normas vs. resolver_cita vs. buscar_por_tema). Some overlap exists (e.g., buscar_normas, buscar_por_tema, consultar_por_jerarquia, buscar_unificado) but the descriptions cross-reference each other to reduce ambiguity.
All tool names follow a consistent Spanish verb-noun pattern (buscar_*, listar_*, consultar_*, resolver_*, obtener_*, etc.). Names are descriptive and uniformly formatted, with no mixing of naming conventions.
The set has 26 tools, which exceeds the recommended 3–15 range and is slightly above the 25 threshold. However, the complexity of the legal domain (multiple courts, sectoral regulators, tributary sources, and utility features) justifies the number, making it borderline rather than excessive.
The tool surface appears comprehensive for the stated purpose: it covers primary norms (laws, decrees, resolutions), jurisprudence from all three high courts, sectoral regulators (ANH, CREG, ANLA, DIAN, sectoral ministries), and supporting utilities (vigencia, historial, comparación, expedientes). No obvious gaps for the apparent scope.
Maintenance
Related MCP Connectors
- CromaOAuthcom.usecroma
Colombian, Peruvian, and Mexican public data: judicial cases, registries, legislation, web search.
Busca e verifica jurisprudência brasileira real (+400 mil julgados) — anti-alucinação para IA.
Pesquisa de legislação e jurisprudência brasileiras. Exclusivo para assinantes MinutaIA.
- platform7nOAuthtech.p7n
Connect Claude to your Platform7n workspaces — chat, links, and tasks. One-click OAuth.
Related MCP Servers
- FlicenseBqualityDmaintenanceProvides comprehensive information about Colombia including departments, regions, cities, tourist attractions, and general country data through the API Colombia service. Enables users to query Colombian geographical and administrative information through natural language.4-
- AlicenseAqualityDmaintenanceEnables interaction with the Argentine judiciary system (SAC - Justicia Cordoba) via Claude Desktop, supporting case searches, notifications, and procedural deadlines.12MIT
- AlicenseAqualityFmaintenanceEnables querying Swedish statutes, provisions, case law, preparatory works, and EU law cross-references from any MCP-compatible client.19126Apache 2.0
- AlicenseAqualityAmaintenanceEnables searching and verifying citations of Colombian Constitutional Court decisions using datos.gov.co open data, returning metadata such as magistrate, date, and relatoria URL.3Apache 2.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Angelthebestone/Normativa-colombiana-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server