Normativa Colombia MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| resolver_citaA | Ruta rápida y exacta para citas de leyes, decretos, sentencias, artículos y códigos citados por su nombre ("art. 191 del Código de Comercio"). Úsala SIEMPRE que la pregunta mencione una norma concreta: buscar_normas y buscar_por_tema son para cuando no la hay. Devuelve la identificación oficial con su enlace, la vigencia y el texto pedido, y dice contra qué norma resolvió. Solo consulta, no guarda nada. Tres modos: cita sola; citas, un lote de 1 a 20 que se agrupa por norma (cita o citas, nunca las dos); o articulos con cita apuntando a UNA norma, que se descarga una vez (con citas, articulos se ignora). validar=true cambia la respuesta a un VEREDICTO sobre la cita (validada, parcialmente validada o no validable), sin texto ni vigencia; url y formato solo valen con validar. Para las reformas de una norma usa historial_norma; para quién cita una sentencia, linea_jurisprudencial. |
| buscar_normasA | 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. |
| buscar_por_temaA | Consulta temática oficial: devuelve tema, subtema y las normas, sentencias y conceptos asociados (hasta 8 por fila). Responde desde un índice empaquetado, instantáneo y sin red; solo si el índice no tiene el término consulta el portal del Gestor. limite cuenta filas de tema/subtema, no documentos. Cada fila trae temsubid ("ts-38872") y normid: pásalos juntos, de la MISMA fila, a explicar_relacion_tema. El prefijo "ts-" es parte del id: pégalo tal cual y no lo cruces con el "sub-" ni el "tema-" de listar_catalogos, que son otras dos taxonomías del portal con los mismos números. Para una norma concreta usa resolver_cita; para buscar palabras en los resúmenes, buscar_normas. |
| listar_catalogosA | Valores válidos para los filtros de buscar_normas: tipos de documento, años, entidades y temas, más los subtemas de un tema (subtemas con tema_id), los conceptos de Función Pública (conceptos_fp con numero/anio) y el listado curado del DAFP (normas_fp). En temas el filtro es obligatorio por volumen, y sus ids llevan prefijo ("tema-24457") porque el portal tiene tres taxonomías que reutilizan los mismos números. 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 (su normograma está en buscar_normativa_tributaria), ni SUIN-Juriscol, ni las tres altas cortes. Que "DIAN" no aparezca entre las entidades no significa que no haya normativa suya: significa que el Gestor no la cataloga como entidad emisora. |
| buscar_jurisprudenciaA | Sentencias y autos de la relatoría de la Corte Constitucional (44.839 providencias, con fallos de 2026 publicados el mismo año). Es la vía para jurisprudencia constitucional: el Gestor 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 la CORTE CONSTITUCIONAL: para la Suprema usa buscar_jurisprudencia_suprema; para el Consejo de Estado, buscar_jurisprudencia_consejo_estado. |
| buscar_normativa_tributariaA | Normograma de la DIAN: decretos, resoluciones, conceptos y circulares en materia tributaria, aduanera y cambiaria, que ninguna otra herramienta cubre. Devuelve el extracto y el enlace; para leer el documento usa obtener_documento con fuente="dian". Para una ley o un decreto que ya tienes citado, también el Estatuto Tributario y sus artículos, usa resolver_cita; buscar_normas no mira este normograma. AVISO: la primera búsqueda de cada término tarda ~20 s (el portal devuelve el resultado completo y no admite tope), pero las páginas siguientes del MISMO término son instantáneas: pagina con desde en vez de lanzar búsquedas nuevas. |
| buscar_jurisprudencia_supremaA | Providencias de la Corte Suprema por sala (Tutelas, Civil, Laboral o Penal), desde 1991. NO es la Corte CONSTITUCIONAL (usa buscar_jurisprudencia) ni el Consejo de Estado (buscar_jurisprudencia_consejo_estado). Cada resultado trae las NORMAS QUE CITA (resolubles con resolver_cita) y una RUTA con la que obtener_documento con fuente="suprema" devuelve el texto. Cada llamada mira UNA sala y, si no la indicas, solo Tutelas: una pregunta civil, laboral o penal tiene que nombrar su sala; anio y magistrado acotan dentro de ella. Si la frase exacta no da nada, se repite sola con OR y la respuesta lo avisa: no pases exacto=false para eso. Busca en el texto completo sin descartar palabras comunes: usa términos distintivos. |
| buscar_jurisprudencia_consejo_estadoA | Providencias tituladas del Consejo de Estado, el supremo de lo contencioso administrativo (nulidad y restablecimiento, contratación estatal, nulidad electoral, reparación directa, conceptos de la Sala de Consulta). Para la Corte Constitucional usa buscar_jurisprudencia; para la Suprema, buscar_jurisprudencia_suprema; con un radicado concreto, resolver_cita. Cada resultado trae el problema jurídico y su respuesta, el enlace a la ficha en SAMAI y el token con el que obtener_documento (fuente="consejo") devuelve el texto. CÓMO BUSCA: con exacto=true (activado) busca la FRASE EXACTA y, si no aparece, se amplía solo a OR avisándolo; en modo OR el número de páginas mide el corpus, no la pertinencia. Avanza con pagina; limite recorta DENTRO de la página y lo que deja fuera no sale en la siguiente. |
| buscar_en_suinA | Busca en el índice del buscador de SUIN-Juriscol (MinJusticia, unos 103.000 documentos hasta 2026) por tipo, número, año, título, epígrafe, materia, sector o entidad. coleccion elige qué se busca: "normas" (por defecto: leyes, decretos, resoluciones, circulares, directivas… desde 1844), o la jurisprudencia que SUIN registra porque afectó la vigencia de alguna norma: "corte-constitucional", "consejo-estado" o "corte-suprema". Los reglamentos técnicos se buscan por materia (ej. "Bebidas alcohólicas"). Cada resultado trae el estado de vigencia de su ficha, el enlace y el id con el que obtener_documento (fuente="suin") lee el texto. NO busca dentro del articulado. vigencia, sector y materia acotan la búsqueda; para el tramo siguiente repite la misma llamada con desde = desde + limite. Ante un vacío, NO concluyas que no existe: prueba buscar_por_tema. |
| explicar_relacion_temaA | 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". |
| buscar_normativa_anhA | Resoluciones, acuerdos y circulares de la Agencia Nacional de Hidrocarburos (785 documentos): contratos de exploración y producción, regalías, fiscalización y reservas. ÚSALA para hidrocarburos y regalías; NO devuelve el texto (publica en PDF), solo el epígrafe, el PDF y la ficha. Para leyes o decretos nacionales de cualquier sector usa resolver_cita. Por defecto OCULTA los actos de personal, que son dos de cada tres; pídelos con incluir_administrativos=true si de verdad los buscas. |
| buscar_normativa_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. Devuelve título, resumen, fecha de publicación y enlace al PDF; NO el texto. Para la CREG usa buscar_resoluciones_creg; para leyes y decretos, resolver_cita. pagina cuenta en bloques de limite: no cambies limite mientras paginas. Los actos de personal se quitan DESPUÉS de traer la página, así que una página puede mostrar menos de limite sin ser la última. 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. |
| buscar_resoluciones_cregA | Resoluciones de la Comisión de Regulación de Energía y Gas: tarifas, conexión, comercialización, plantas solares y gas natural. Devuelve número, año, epígrafe, el estado según la compilación y la ruta para leer el texto con obtener_documento (fuente="creg"): es la ÚNICA fuente sectorial con texto legible aquí. Cada consulta recorre UNA compilación de UN año: texto filtra dentro de ese año (por número, año o epígrafe, nunca por el contenido), así que para una resolución antigua pasa anio aunque ya pongas su número en texto; "todas" junta vigentes y derogadas de ese mismo año. La señal de vigencia se traslada literal, no la conviertas en un sí o un no. Para la UPME usa buscar_normativa_upme; para leyes o decretos nacionales, resolver_cita. |
| listar_normativa_ambiental_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. Devuelve título, resumen y enlace de cada entrada, y avisa cuando el número del título no cuadra con el resumen. seccion elige el tema (por defecto, "leyes"); texto filtra SOLO la página que trae desde, no la sección entera, así que un vacío no es definitivo: repite sin texto para ver la página y el desde siguiente. Úsala para descubrir QUÉ normas aplican a un tema ambiental y resuelve cada una con resolver_cita; para filtrar de una vez la primera página de todas las secciones, consultar_perfil con perfil="ambiental". |
| buscar_normativa_sectorialA | Actos administrativos —resoluciones, circulares, acuerdos— de los reguladores y ministerios sectoriales que el Gestor Normativo NO cataloga; elige cuál en |
| describir_fuentesA | 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 |
| consultar_por_jerarquiaA | Busca normativa colombiana de UN nivel de autoridad y explica su carácter: vinculante, orientador o informativo. Devuelve los documentos de ese nivel con título y enlace, y el carácter del nivel. nivel decide la fuente: "jurisprudencia" busca solo en la relatoría de la Corte Constitucional (para la Suprema usa buscar_jurisprudencia_suprema; para el Consejo de Estado, buscar_jurisprudencia_consejo_estado); los demás, en el Gestor filtrado por tipo, donde texto se busca en los resúmenes, no en el articulado. Ú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, y para el texto de un artículo de la Constitución, resolver_cita. No es asesoría jurídica: verifica en el enlace. |
| analizar_conflictoA | Reúne para dos normas la EVIDENCIA de un posible conflicto. Por cada una: identificación en el Gestor, vigencia según SUIN cuando consta, nivel en la jerarquía y su carácter, y notas de reforma de cualquier artículo. Con sobre añade los pasajes de ambas que mencionan ese 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. Para confrontar el texto de dos artículos concretos usa comparar_articulos. Con formato="json" devuelve un objeto con fecha_consulta, alcance, sobre (si se pidió), evidencias (una por norma, con los mismos campos del texto) y avisos. |
| cambios_desdeA | Resume los cambios (modificación, derogación, adición) que el Gestor anota sobre LAS NORMAS QUE SE LISTAN: por norma, la acción, la norma modificadora, el artículo y la nota literal. De desde solo cuenta el año, así que "2019-12-31" incluye todo 2019, y las notas sin año se descartan. Cada cita necesita su año y se resuelve por separado: una que falla se anota y no frena a las demás. NO rastrea novedades ni descubre normas nuevas: para lo recién publicado usa buscar_diario_oficial; para la historia completa de una sola norma, incluidas las notas sin año, historial_norma. |
| comparar_articulosA | Compara el texto de un artículo entre dos normas y 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. Con con_reforma=true no hace falta la segunda norma: busca la última reforma que el portal anota al artículo, extrae el artículo de la norma modificadora y lo contrasta con el texto vigente, porque la página consolida y no publica la redacción anterior. Para ver todas las reformas de la norma usa historial_norma; para reunir evidencia de un conflicto entre dos normas enteras, analizar_conflicto. |
| consultar_perfilA | Ejecuta la consulta en la ÚNICA fuente que fija cada perfil sectorial: laboral → Gestor Normativo, tributario → DIAN, ambiental → ANLA, contratación estatal → Consejo de Estado, energía → CREG (solo el año en curso). Devuelve una línea por resultado, con el sector y la advertencia del perfil, que declara sus límites. El perfil no admite año, página ni otros filtros: para eso usa la herramienta propia de la fuente (p. ej. buscar_resoluciones_creg con anio). Solo consulta, no guarda nada. NO uses un perfil para lo que no cubre: si la materia es otra, usa buscar_normas o resolver_cita. |
| consultar_vigenciaA | Devuelve el estado de vigencia de una ley o un decreto tal como lo publica la ficha de SUIN: "Vigente", "Derogado", "Vigencia en Estudio", "Compilado" u otro. Añade un nivel de confianza. Alta: la ficha respondió. Baja: no consta, o la fuente no respondió. Nunca inventa el estado. Una sentencia como "C-337/11" no tiene vigencia: se comprueba en la relatoría de la Corte Constitucional si existe. El estado es el de la norma entera, aunque la cita nombre un artículo. Para las reformas de un artículo usa historial_norma; para su texto, resolver_cita. Si la cita no trae año y hay varias candidatas, las lista en vez de elegir. La respuesta empieza con la línea de alcance: qué fuente se consultó y cuál no. |
| historial_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. Las ordena por el año de la norma que introduce cada cambio (las notas sin año van al final, sin ordenar) y señala la última reforma ANOTADA, que no es necesariamente la que rige: el portal no siempre anota todas. articulo filtra primero; desde y limite recortan después esa lista ya ordenada, y la última reforma se calcula sobre todo lo filtrado, no sobre el tramo mostrado. Para la vigencia usa resolver_cita; para los cambios de varias normas a partir de un año, cambios_desde; para comparar el texto antes y después, comparar_articulos. Con formato="json" el objeto trae titulo, url, total, cambios, ultima_reforma y avisos. |
| buscar_unificadoA | Busca en paralelo en Gestor Normativo, Corte Constitucional, SUIN-Juriscol y DIAN, y agrega los resultados con su fuente y su enlace. Úsala cuando la consulta es abierta o por materia y no hay herramienta obvia; para una cita exacta sigue siendo mejor resolver_cita y para un tribunal concreto, su buscador propio. perfil elige las fuentes ("salud" añade INVIMA y Supersalud; "mineria", la ANM) y el orden; si pasas fuentes, esa lista manda y el perfil solo ordena. limite es POR fuente, así que el total puede multiplicarse. El estado de SUIN es el de su ficha, copiado tal cual. Cuando la fuente sirve su texto, cada resultado trae "Para leer", la llamada lista a obtener_documento. Una fuente caída se declara como fallo, no como vacío. |
| linea_jurisprudencialA | Devuelve las providencias que la relatoría registra como CITANTES de una sentencia de la Corte Constitucional (el bloque "citaciones" de su ficha oficial), con tipo, fecha, tema, la ruta para obtener_documento y el enlace. Son citas, no una línea verificada: mencionar no es reiterar y la relación puede estar incompleta. Se ordenan con las SU y las C en cabeza ANTES de aplicar limite, así que un limite bajo deja fuera primero las T y los autos; el portal no registra más de 100 y no hay paginación. Úsala cuando ya tienes la sentencia y quieres saber quién la cita. Para encontrar sentencias sobre un tema usa buscar_jurisprudencia; para leer o verificar la propia sentencia citada, resolver_cita. Solo cubre la Corte Constitucional. |
| buscar_diario_oficialA | Diarios Oficiales publicados: número, tipo de edición (Ordinaria, Extraordinaria, Especial, Oficio o Tributario) y fecha de publicación. Sirve para saber qué salió publicado y cuándo, incluso el mismo día, antes de que el Gestor Normativo lo catalogue. Filtra por número de diario, por rango de fechas y por el tipo y el número de una norma (encuentra el diario que la publicó: tipo="LEY" y numero_norma="2466" devuelve el 53.160). NO dice qué normas contiene cada diario ni trae su texto, y el PDF del diario no tiene enlace estable: para el texto de una norma usa resolver_cita; para buscarla por materia, buscar_normas. |
| obtener_documentoA | Devuelve el texto (troceado, nunca entero) de una de las ocho fuentes con texto. CADA FUENTE EXIGE LO SUYO y los parámetros de otra no valen con ella: gestor necesita id; suin, id; corte, ruta; suprema, ruta y sala; consejo, token; dian, link; creg, ruta; sectorial, entidad y url. Una combinación que no encaje se rechaza antes de salir a la red, diciendo qué falta y el ejemplo mínimo que funciona. Qué parte sale: historial (gestor) da los cambios anotados en vez del texto, del artículo si va con articulo; articulo (gestor y suin) o seccion (cortes) acotan y entonces buscar_en_texto no se aplica; desde solo avanza el troceo, no los pasajes de buscar_en_texto. Informa total/mostrado/omitido y el "desde" del trozo siguiente. ESCRIBE EN DISCO solo con entero o ruta_destino, que se imponen a todo lo anterior: dian y sectorial guardan el archivo original; las demás, texto-.txt (sin ruta_destino, en una carpeta temporal); consejo no lo admite. Nunca sobrescribe: un nombre repetido lleva sufijo. Para encontrar el documento usa antes resolver_cita o el buscador de su fuente. |
| expedienteA | Crea, agrega, lee o exporta un expediente para agrupar consultas, citas y observaciones de una investigación. No consulta ninguna fuente: guarda lo que le pasas. 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 persiste en disco y sobrevive a reinicios. El flujo empieza siempre en "crear", SIN id: devuelve el id que piden las demás; "agregar" exige campo y texto juntos; "leer" lo devuelve agrupado por sección. "exportar" escribe markdown: si ruta es un directorio crea .md dentro, el directorio padre tiene que existir, y un archivo que ya existe no se sobrescribe: se escribe al lado con sufijo numérico y la respuesta da la ruta final. Para guardar el texto de una norma usa obtener_documento. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| normas-sobre | Busca la normativa aplicable a un tema y explica por qué aplica cada una. |
| sigue-vigente | Revisa el texto en busca de derogatorias y modificaciones. |
| explicar-sencillo | Resume una norma sin jerga, para cualquier persona. |
| comparar-normas | Contrasta el alcance de dos normas. |
| aclarar-consulta | Haz las preguntas precisas antes de consultar una norma. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 28 tools
There are over a dozen search entry points, which is inherently confusing, but the descriptions go to unusual lengths to route between them (each says explicitly which tool to use instead and what it does NOT cover), so boundaries are largely explicit. A few tools like buscar_normas, buscar_por_tema and buscar_por_jerarquia could still blur for an agent, but the cross-references keep it mostly clean.
The dominant pattern is verb_noun in Spanish (buscar_*, listar_*, consultar_*, obtener_*, resolver_*, comparar_*), consistently applied. There are a few noun-only outliers (historial_norma, linea_jurisprudencial, expediente, cambios_desde) that deviate from the verb-first convention, but readability stays high and there is no case/style mixing.
28 tools is on the heavy side, and a cluster of near-parallel source-specific search tools inflates it. The count is largely justified, however, by genuinely distinct data sources (Gestor, SUIN, DIAN, three courts, CREG, ANH, UPME, ANLA, sectorial), each of which needs its own retriever since buscar_unificado only unifies four of them.
Coverage is strong for a legal-research domain: multi-source search, text retrieval, citation resolution, validity, reform history, inter-norm and inter-article comparison, conflict evidence, and a persistence layer via expediente. Gaps are minor, mainly that several sectoral sources expose only metadata/PDF (no extractable text) and there is no unified cross-source deep-text reader.