Normativa Colombia MCP

Normativa Colombia MCP

Consulta normativa y jurisprudencia colombiana desde Claude, conectando con el Gestor Normativo y la Relatoría de la Corte Constitucional.

Category
Visit Server

README

Normativa Colombia — servidor MCP

npm Licencia: MIT 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 dos 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 — 49.000 sentencias y autos, actualizados a diario.

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.

  1. Descarga normativa-colombia.mcpb desde Releases.
  2. Abre Claude Desktop → Configuración → Extensiones.
  3. 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

Publicado como normativa-colombia-mcp. Requiere Node 18 o superior. No hay que clonar ni compilar nada: el paquete trae el servidor ya construido y el índice temático dentro, y no arrastra ninguna dependencia.

# 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-mcp

Casi 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) claude_desktop_config.json — en Configuración → Desarrollador → Editar configuración
Cursor .cursor/mcp.json en el proyecto, o ~/.cursor/mcp.json para todos
Windsurf ~/.codeium/windsurf/mcp_config.json
Continue El bloque mcpServers de su configuración
LM Studio Program → Install → Edit mcp.json
Agente propio Como StdioServerParameters del SDK de MCP, en Python o TypeScript

Claude Code no usa archivo; se registra por línea de comandos:

claude mcp add normativa-colombia -- npx -y normativa-colombia-mcp

VS 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-mcp

Debe 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.js

Despué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.

Qué recibe el cliente

Al conectarse, el servidor entrega 11 herramientas, 4 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 que una norma está vigente. Los clientes que respetan el campo instructions del protocolo lo aprovechan sin configurar nada.

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?»

El servidor incluye además cuatro 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 y Compara dos normas.

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 no es un dato del portal. Ni el Gestor ni la relatoría tienen un campo que diga «esta norma está derogada»: las derogatorias van escritas dentro del texto. El servidor avisa cuando detecta marcas de «Derogado» o «Modificado por», pero no puede garantizar que un artículo siga vigente. El Decreto 1083 de 2015, por ejemplo, contiene 155 notas de modificación.

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.

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 incluye un índice temático (12.054 subtemas) para responder al instante y seguir sirviendo si el portal se cae. Ese índice tiene fecha: si supera los tres meses, el servidor te lo advierte.

Para desarrolladores

npm install
npm run check             # typecheck + lint + 30 pruebas de biblioteca + 18 de extremo a extremo
npm run generar-indice    # regenera datos/indice-tematico.json (~20 MB de descarga)
npm run pack              # produce normativa-colombia.mcpb

datos/indice-tematico.json no está versionado por su tamaño: genéralo antes de empaquetar.

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.

Estructura:

Archivo Responsabilidad
src/index.ts Herramientas y prompts MCP
src/parse.ts Extracción y limpieza de HTML, troceado, canario anti-rotura
src/citas.ts Parser de citas normativas colombianas
src/http.ts Cliente HTTP con la cadena TLS completa
src/fuentes/gestor.ts Gestor Normativo (HTML)
src/fuentes/corte.ts Relatoría de la Corte Constitucional (JSON)
test/smoke.ts Pruebas de biblioteca contra las fuentes reales
test/e2e.ts Arranca el servidor y le habla por stdio, como cualquier cliente MCP

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:

  • El portal envía una cadena TLS incompleta. Su certificado lo emite «Sectigo RSA Organization Validation», pero el servidor manda el intermedio de «Domain Validation». curl lo tolera porque su bundle ya trae ese certificado; Node no. src/ca.ts incluye el intermedio correcto para completar la cadena sin desactivar la verificación. No lo cambies por rejectUnauthorized: false.
  • El canario. Si el HTML del portal cambia, los parsers lanzan CanarioError en 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.

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.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured