# Para agentes: la ley fiscal mexicana por MCP, sin cuenta

> Lo que un agente puede usar de Cumplida sin registrarse: un conector MCP de sólo lectura con la ley fiscal mexicana por versión y fecha y la jurisprudencia con su vigencia. La primera petición que funciona, las 8 herramientas, los límites y cómo citar.

In English: https://cumplida.com/en/agents

## Qué se puede usar sin cuenta

La biblioteca abierta de Cumplida es un servidor MCP por HTTP (Streamable HTTP) en https://mcp.cumplida.com/mcp: de sólo lectura, gratuito, sin cuenta, sin llave y sin inicio de sesión. Sirve la ley fiscal mexicana (leyes, reglamentos, RMF y anexos, RGCE, seguridad social, antilavado, tratados) con cada versión aprobada, su publicación en el DOF y su vigencia, y los precedentes de la SCJN, los Plenos y Colegiados, el TFJA y PRODECON con su vigencia y a quién obligan. No lee datos de ningún despacho ni de ningún contribuyente.

- Dirección: https://mcp.cumplida.com/mcp
- Transporte: MCP Streamable HTTP; las peticiones son POST con JSON-RPC 2.0.
- Autenticación: ninguna.
- Límites: 20 llamadas por minuto y 400 al día por conexión.
- Idioma: español; el contenido legal, tal como se publica en México.
- Términos de uso: https://cumplida.com/legal/biblioteca-abierta

## La primera petición

Cada petición funciona sola desde una terminal. La cabecera `Accept` debe nombrar `application/json` y `text/event-stream` (sin ella, el servidor contesta 406). La respuesta llega como `text/event-stream`: el resultado JSON-RPC va en la línea `data:`.

1 · initialize:

```sh
curl -sS https://mcp.cumplida.com/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"su-agente","version":"1.0"}}}'
```

2 · tools/list:

```sh
curl -sS https://mcp.cumplida.com/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
```

3 · tools/call (leer_disposicion):

```sh
curl -sS https://mcp.cumplida.com/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"leer_disposicion","arguments":{"referencia":"CFF 69-B"}}}'
```

El resultado de `tools/call` trae el texto legible en `result.content` y los datos en `result.structuredContent`. La respuesta a `initialize` trae la cabecera `Mcp-Session-Id`: un cliente de MCP la devuelve en las peticiones siguientes (un cliente alojado, como claude.ai, la necesita para que el tope cuente por conversación).

## Cómo se agrega

- claude.ai y Claude Desktop: Customize › Connectors › Add custom connector, y pegue https://mcp.cumplida.com/mcp.
- Claude Code: `claude mcp add --transport http biblioteca-cumplida https://mcp.cumplida.com/mcp`
- Otro cliente de MCP: agregue un servidor MCP remoto (HTTP) con la dirección https://mcp.cumplida.com/mcp; no requiere autenticación.
- Los pasos de cada vía: https://cumplida.com/claude#biblioteca-abierta

## Las 8 herramientas

- `normativa_vigente` · Ley vigente al día del hecho. Para encontrar la disposición que regía en una fecha, por tema («plazo para concluir una visita domiciliaria») o por referencia («CFF 46-A», «RMF 2.7.1.21»). (pide `consulta`)
- `leer_disposicion` · Leer completa una disposición. Para leer el texto completo de la versión que regía el día del hecho, con su publicación en el DOF y su vigencia, antes de afirmar algo de ella. (pide `referencia o version_id`)
- `que_cambio_en_la_norma` · Qué cambió en la norma. Para saber qué cambió en una disposición: la versión de una fecha contra la anterior, párrafo por párrafo, con el DOF de cada una y la lista de sus versiones. (pide `referencia`)
- `buscar_jurisprudencia` · Buscar precedentes. Para buscar precedentes por tema, en palabras (SCJN, Plenos, Colegiados, TFJA y PRODECON): lo obligatorio primero y sólo lo vigente. (pide `consulta`)
- `leer_precedente` · Leer un precedente. Para leer completo un precedente por su número o registro («2a./J. 22/98», «registro 2031002»), con su vigencia, a quién obliga y su cita formal, antes de citarlo. (pide `referencia`)
- `precedentes_de_un_articulo` · Precedentes de un artículo. Para reunir los precedentes que aplican o interpretan un artículo («CFF 42») y saber si el texto que interpretaron es el que rige el día del hecho. (pide `articulo`)
- `vigencia_de_un_criterio` · ¿Sigue vigente este criterio?. Para saber si un criterio sigue vigente o fue superado o interrumpido, y por cuál, antes de afirmarlo. (pide `referencia`)
- `verificar_citas` · Verificar las citas de un texto. Antes de entregar un texto que cita tesis, sentencias o artículos: coteja cada cita contra la biblioteca y devuelve su color (verde, ámbar o rojo), su porqué y la cita formal corregida. (pide `texto`)

La lista vigente, con todos sus parámetros y ejemplos, es la que devuelve `tools/list`. Las instrucciones del servidor (en la respuesta a `initialize`) dicen qué herramienta usar para qué.

## Límites y errores

- 20 llamadas por minuto y 400 al día por conexión. Ante un 429 o una respuesta «ocupado», espere lo que indique `Retry-After` y reintente.
- Las listas dicen cuántos resultados hay y cómo pedir más (`limite`, `desde`); cada error dice si conviene reintentar y qué cambiar.
- Las consultas van por POST: un GET a https://mcp.cumplida.com/mcp contesta 405 con la explicación, y https://mcp.cumplida.com/ es la guía corta del propio conector.
- El uso es gratuito y las consultas se registran sin datos personales para mejorar la biblioteca.

## Cómo citar

Cite «Cumplida · cumplida.com» con la liga del resultado y la fecha de la consulta. Cada respuesta trae su cita formal, la fuente oficial (DOF, SJF) y la vigencia. Lea el texto completo antes de afirmar algo de él y pase por `verificar_citas` antes de citar una tesis o un artículo.

## Con cuenta: Magda en el Claude del despacho

Con la cuenta del despacho, un segundo conector MCP (https://app.cumplida.com/api/mcp, con OAuth por persona) le da a Magda la cartera, las cifras y los casos de cada persona, con su rol; lee y propone, y nada de ahí presenta, firma ni paga. Cómo se conecta: https://cumplida.com/claude#con-su-cuenta

## Legible por máquina

- [Esta página en Markdown](https://cumplida.com/agentes.md)
- [La guía del propio conector](https://mcp.cumplida.com/)
- [llms.txt](https://cumplida.com/llms.txt)
- [Catálogo de APIs (RFC 9727)](https://cumplida.com/.well-known/api-catalog)
- [Ficha com.cumplida/biblioteca en el registro de MCP](https://registry.modelcontextprotocol.io/v0/servers/com.cumplida%2Fbiblioteca/versions/latest)
- [Términos de uso de la biblioteca abierta](https://cumplida.com/legal/biblioteca-abierta)
