# LeyChile > Cada versión de cada ley chilena, desde 1810. El corpus jurídico de Chile > (leyes, decretos con fuerza de ley, decretos, códigos, resoluciones) > reconstruido desde la Biblioteca del Congreso Nacional como un repositorio > git: una publicación legislativa = un commit. Cada norma es navegable en > cualquiera de sus versiones históricas, y cualquier par de versiones se puede > comparar palabra por palabra. Este sitio está hecho para agentes y humanos. Si eres un agente, usa el servidor MCP: es la interfaz diseñada para ti. ## MCP (recomendado) Servidor MCP remoto, Streamable HTTP, sólo lectura, sin autenticación: https://leyes.pisanvs.cl/api/mcp Herramientas disponibles: - search_laws(query, asOf?) — buscar normas en todo el corpus - search_articles(tipo, numero, query, fecha?) — buscar dentro de UNA norma - get_law(tipo, numero, fecha?) — metadatos + índice de artículos + versiones - get_article(tipo, numero, articulo, fecha?) — el texto de un artículo - list_versions(tipo, numero) — cada fecha en que la norma cambió, y qué la causó - get_raw_link(tipo, numero, asOf?) — enlaces al texto íntegro sin recortar (y al commit que lo publicó) - diff_versions(tipo, numero, desde, hasta) — qué cambió entre dos versiones (diff palabra por palabra) - get_modifications(tipo, numero) — grafo modificadora → modificada Añadirlo a Claude: Settings → Connectors → Add custom connector → https://leyes.pisanvs.cl/api/mcp Claude Code: claude mcp add --transport http leychile https://leyes.pisanvs.cl/api/mcp Nota: una norma puede tener ~350 KB de texto. get_law devuelve un índice de artículos, no el texto completo; pide los artículos de a uno con get_article, o usa search_articles para ubicar el artículo relevante primero. ## HTTP (si no hablas MCP) - https://leyes.pisanvs.cl/{tipo}/{numero} — versión vigente (HTML, server-rendered) - https://leyes.pisanvs.cl/{tipo}/{numero}/{YYYY-MM-DD} — versión histórica a esa fecha - https://leyes.pisanvs.cl/buscar?q={query} — búsqueda - https://leyes.pisanvs.cl/api/idx/commits/{idNorma} — metadatos + todas las versiones (JSON) - https://leyes.pisanvs.cl/api/text/{idNorma}/{fecha} — texto markdown reconstruido de una versión - https://leyes.pisanvs.cl/api/idx/modifies/{idNorma} — normas que ESTA modificó (JSON) - https://leyes.pisanvs.cl/api/idx/modified_by/{idNorma}— normas que modificaron a ESTA (JSON) - https://leyes.pisanvs.cl/sitemap.xml — índice de sitemaps `tipo` ∈ ley, dl, dfl, dto, cod, res, … · `numero` es el número de la norma (no el idNorma interno). Ojo: algunos numeros contienen caracteres especiales ("S/N" = sin número) — codifícalos en la URL. ## git (la fuente de verdad) Postgres y Meilisearch son modelos derivados y desechables. La fuente canónica es la rama `historial` de https://github.com/pisanvs/ley-chile: un commit por publicación legislativa. git clone -b historial https://github.com/pisanvs/ley-chile Para comparar dos versiones sin clonar nada, usa la herramienta MCP diff_versions, o pide el texto de cada fecha a https://leyes.pisanvs.cl/api/text/… y compáralos. GitHub también sirve el diff crudo añadiendo .diff a la URL del commit, pero limita y bloquea a clientes automatizados: sirve para leerlo tú, no para que dependa de ello un agente. https://github.com/pisanvs/ley-chile/commit/{sha}.diff Y el historial de una norma: git log --follow --format='%h %cs %s' -- leyes/{numero}/texto.md ## Advertencias - El texto es derivado de fuentes públicas de la BCN; no es una fuente oficial. Para efectos legales, la referencia es la Biblioteca del Congreso Nacional (https://www.leychile.cl). - Las fechas son de publicación/vigencia, no de promulgación. - Fechas pre-1970 se normalizan (git rechaza timestamps negativos); la fecha real vive en el subject del commit, no en su committer date. ## Más - Repositorio: https://github.com/pisanvs/ley-chile - Sitio: https://leyes.pisanvs.cl