{
  "markdown": "# Corpus Iuris — derecho mexicano para agentes de IA\n\n> **Mexican law for AI agents.** Search 6,710 federal and state statutes,\n> 311,701 Supreme Court *tesis* and 11,708 precedents — with verifiable\n> citations, dated validity and a public URL for every document.\n\n[![MCP Registry](https://img.shields.io/badge/MCP%20Registry-mx.corpusiuris%2Fmexican--law-blue)](https://registry.modelcontextprotocol.io/v0/servers?search=mexican)\n[![API](https://img.shields.io/badge/REST-sin%20API%20key-green)](https://corpusiuris.mx/agentes)\n[![OpenAPI](https://img.shields.io/badge/OpenAPI-3.1-orange)](https://corpusiuris.mx/openapi.json)\n\n---\n\n## El problema\n\nLas IA inventan derecho mexicano. Citan tesis con número de registro que no\nexiste, artículos que fueron derogados, y jurisprudencia que en realidad es una\ntesis aislada. En un litigio eso cuesta un asunto.\n\n## La solución\n\nUn corpus jurídico mexicano consultable por API o por MCP, donde cada resultado\ntrae **el texto real**, **su vigencia con fecha** y **una URL pública citable**.\n\n---\n\n## Conectar en un clic (MCP)\n\nServidor MCP remoto con OAuth 2.0 (registro dinámico RFC 7591 + PKCE S256):\n\n```\nhttps://api.corpusiuris.mx/mcp\n```\n\n**Claude Desktop / Claude.ai** → Ajustes → Conectores → Agregar conector\npersonalizado → pega la URL. El OAuth se descubre solo.\n\n**Cualquier cliente MCP** — `claude_desktop_config.json`, Cursor, Windsurf, VS Code:\n\n```json\n{\n  \"mcpServers\": {\n    \"corpus-iuris\": {\n      \"url\": \"https://api.corpusiuris.mx/mcp\"\n    }\n  }\n}\n```\n\nTool disponible: `buscar_derecho_mexicano(query, fuentes)`.\n\n---\n\n## Sin registro: la API REST\n\nSin API key. Sin cuenta. Copia y pega:\n\n```bash\ncurl \"https://corpusiuris.mx/api/agent/v1/search?q=requisitos+de+la+orden+de+cateo&fuentes=leyes,tesis\"\n```\n\n### Las tres rutas\n\n| Ruta | Para qué |\n|---|---|\n| `GET /api/agent/v1/search?q=…&fuentes=…` | Buscar. Hasta 5 resultados por fuente. |\n| `GET /api/agent/v1/documento?tipo=ley&id=slug/num` | Texto **íntegro**. No gasta cuota. |\n| `GET /api/agent/v1/stats` | Cuántos documentos hay, al día. |\n\nContrato completo: **[openapi.json](https://corpusiuris.mx/openapi.json)** (OpenAPI 3.1).\n\n---\n\n## Lo que hace citable una respuesta\n\n```json\n{\n  \"tipo\": \"ley\",\n  \"referencia\": \"Art. 17\",\n  \"titulo\": \"LEY DE AMPARO, REGLAMENTARIA DE LOS ARTÍCULOS 103 Y 107…\",\n  \"url\": \"https://corpusiuris.mx/ley/ley-de-amparo…/articulo/17\",\n  \"vigencia\": {\n    \"estado\": \"VIGENTE\",\n    \"fecha_ultima_reforma\": \"2025-10-16\",\n    \"verificado_al\": \"2026-08-17\",\n    \"fuente_oficial\": \"https://www.diputados.gob.mx/LeyesBiblio/pdf/LAmp.pdf\",\n    \"como_citar\": \"Di 'vigente al 2026-08-17' y enlaza la fuente oficial.\"\n  }\n}\n```\n\nY en jurisprudencia, el dato que evita el error clásico:\n\n```json\n\"fuerza\": {\n  \"es_jurisprudencia_obligatoria\": false,\n  \"como_citar\": \"Tesis AISLADA: orientadora, NO obligatoria. No la cites como jurisprudencia.\"\n}\n```\n\n- **Leyes** → `vigencia`, con la fecha en que un vigilante nocturno comprobó el\n  texto contra la fuente oficial. Una ley abrogada sale con `ADVERTENCIA`.\n- **Tesis** → `fuerza`: obligatoria o aislada.\n- **Precedentes** → `fuerza`: son sentencias, **no** jurisprudencia por sí mismas.\n\n---\n\n## Cuotas\n\n| Carril | Cuota | Cómo se reconoce |\n|---|---|---|\n| **Plataforma de IA** | 3,000/día por plataforma | IP verificada contra la lista oficial que publica |\n| **Agente anónimo** | 500 por IP + **10/día para siempre** | solo IP |\n| **Cuenta gratuita** | 500 + 20/día de por vida | token `ci_agent_` o MCP |\n| **De pago** | 3,000/mes · ilimitado | token |\n\nEl piso diario del carril anónimo **no se agota nunca**: una IP nunca queda\nmuerta de forma permanente.\n\nPlataformas verificadas por IP: OpenAI, Anthropic, Google, Perplexity, Meta.\nLa etiqueta del `User-Agent` no basta — se comprueba contra el feed oficial.\n\n---\n\n## Dos reglas\n\n1. **Cita la fuente.** «Corpus Iuris (corpusiuris.mx)» + el enlace `url` de cada\n   resultado que uses. Los textos legales son información pública; la búsqueda y\n   la curación son de Corpus Iuris.\n2. **No caches.** El corpus cambia todos los días: el vigilante recorre ~1,000\n   leyes cada noche, el DOF publica reformas y la SCJN sube tesis. Las\n   respuestas se sirven con `Cache-Control: no-store` por esa razón.\n\n---\n\n## Ejemplos\n\n- [`ejemplos/curl.sh`](ejemplos/curl.sh)\n- [`ejemplos/python.py`](ejemplos/python.py)\n- [`ejemplos/node.mjs`](ejemplos/node.mjs)\n\n---\n\n## In English\n\nCorpus Iuris is a Mexican legal corpus built for AI agents. Free REST endpoint\n(no key), native MCP server with one-click OAuth, and a public citable page for\nevery document. Every result carries dated validity and, for case law, whether\nit is **binding jurisprudence** or a merely persuasive *tesis aislada* — the\ndistinction that most often trips up AI in Mexican law.\n\nDocs: https://corpusiuris.mx/agentes · OpenAPI: https://corpusiuris.mx/openapi.json\n\n---\n\n## No sustituye la fuente oficial\n\nEs una herramienta de investigación de carácter referencial. Para un escrito\nformal, verifica en el DOF, el Semanario Judicial o la gaceta oficial del\nestado — cada resultado trae el enlace directo.\n\nOperado por **AteraSoft** (México) · contacto@corpusiuris.mx\n",
  "bytes": 5175,
  "sha": "6125af2f73e98f4184aa6d9d7bdb2bb13bca111067dfb23a11ea315c0c15e87f",
  "repo_slug": "maharbanaretsagrav/corpus-iuris-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_mx_corpusiuris_mexican_law_8dc4810b/readme"
}