Verifica RFCs contra las listas del SAT (69/69-B CFF, EFOS): veredicto de riesgo fiscal.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
One-click editor setup isn’t available for this listing yet — we don’t have a confirmed install command, and we’d rather show nothing than point your editor at the wrong package or host. Follow the project’s own setup instructions, linked above.
Servidor MCP (Model Context Protocol) en Python / FastMCP para consultar las listas públicas del SAT:
Misma arquitectura que el MCP de movilizaciones de la SSC-CDMX: FastMCP con transporte stdio + Streamable HTTP, OAuth 2.1 (WorkOS AuthKit) con fallback a bearer estático, persistencia en Turso (libSQL), proxy de descarga opcional, y despliegue en Render con cron externo (GitHub Actions). Sin OCR: los CSV del SAT ya vienen estructurados.
| Tool | Qué hace |
|---|---|
verificar_rfc | Verifica un RFC → veredicto de riesgo (CRITICO…LIMPIO). |
verificar_lote | Valida hasta 500 RFCs; devuelve sólo hallazgos por severidad. |
buscar_nombre | Búsqueda por nombre/razón social (FTS5, insensible a acentos). |
estado_datos | Vigencia declarada por el SAT, conteos y última importación. |
actualizar_datos | Descarga + sincroniza los listados (idempotente por hash). |
Riesgo: CRITICO (EFOS definitivo) · ALTO (EFOS presunto) · MEDIO (69 firme/exigible/no localizado) · BAJO (desvirtuado/sentencia favorable) · INFORMATIVO (69 cancelado/condonado) · LIMPIO.
Los resultados reflejan la última importación de los archivos públicos del SAT. No constituyen asesoría fiscal ni legal.
server.py — FastMCP (stdio) + tools + AuthKit.web.py — Starlette/uvicorn (HTTP): /health (abierto), /refresh y /reload (bearer M2M), /mcp (OAuth o bearer).pipeline.py — descarga → SHA-256 (omite si no cambió) → parse Latin-1 → reemplazo en SQLite → push a Turso.database.py — SQLite + FTS5 con triggers; RFC por índice B-tree (camino caliente).turso.py — sync durable Turso ↔ local.risk.py — normalización de RFC + árbol de veredicto (69-B manda sobre 69).(o "command": "python", "args": ["-m", "sat69"] con el venv activo.)
render.yaml provisiona el servicio web con runtime Python nativo (sin Docker):
render.yaml.sync:false): MCP_API_KEY (bearer), opcional AUTHKIT_DOMAIN+BASE_URL (OAuth), TURSO_DATABASE_URL+TURSO_AUTH_TOKEN.POST https://<servicio>.onrender.com/mcp.MCP_API_KEY): simple, protege /mcp, /refresh, /reload.AUTHKIT_DOMAIN + BASE_URL y /mcp pasa a OAuth con Dynamic Client Registration; el bearer sigue protegiendo los endpoints M2M..github/workflows/refresh.yml hace POST /refresh diario (11:30 UTC ≈ 05:30 CDMX). Secrets del repo: RENDER_BASE_URL, MCP_API_KEY. Manual: workflow_dispatch (con force).
SQLite local (efímero en Render, /tmp) atiende las consultas; Turso es el almacén durable que sobrevive redeploys. Al arrancar se hace pull de Turso; tras cada actualizar_datos//refresh se hace push. Sin TURSO_*, corre en modo local puro.
FETCH_PROXY o DATAIMPULSE_* enrutan sólo la descarga de los CSV. En pruebas el SAT no bloqueó IPs de datacenter (descargas 200 directas), así que normalmente no hace falta; se conserva por paridad y resiliencia.
Listado_Completo_69-B.csv (~14 k registros, 20 columnas, header en línea 3).Firmes.csv, Cancelados.csv, NoLocalizados.csv, Exigibles.csv, Sentencias.csv, Condonados.csv (~½ millón de registros, 6 columnas). URLs en config.py.No reviews yet — be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/sat69-listas-del-sat-69-y-69-b-del-cff)<a href="https://allmcps.com/mcp/sat69-listas-del-sat-69-y-69-b-del-cff"><img src="https://allmcps.com/api/badge/sat69-listas-del-sat-69-y-69-b-del-cff?style=directory" alt="SAT69 — Listas del SAT (69 y 69 B del CFF) on AllMCPs" /></a>