Skip to main content
Glama

MCP SAT 69 / 69-B · WATR

Сервер MCP (Model Context Protocol) на Python / FastMCP для запросов к публичным спискам SAT:

  • Статья 69-B CFF (EFOS) — симулированные операции: предполагаемые, опровергнутые, окончательные, благоприятное судебное решение.

  • Статья 69 CFF — окончательный налоговый статус: вступившие в силу, подлежащие взысканию, не найденные, аннулированные, прощённые.

Та же архитектура, что и у MCP мобилизаций SSC-CDMX: FastMCP с транспортом stdio + Streamable HTTP, OAuth 2.1 (WorkOS AuthKit) с запасным вариантом на статический bearer, хранение в Turso (libSQL), опциональный прокси для загрузки и развёртывание на Render с внешним cron (GitHub Actions). Без OCR: CSV-файлы SAT уже поставляются структурированными.

Инструменты

Инструмент

Что делает

verificar_rfc

Проверяет RFC → вердикт о риске (CRITICOLIMPIO).

verificar_lote

Проверяет до 500 RFC; возвращает только находки по серьёзности.

buscar_nombre

Поиск по имени/фирменному наименованию (FTS5, без учёта диакритики).

estado_datos

Заявленная SAT актуальность, счётчики и последний импорт.

actualizar_datos

Загружает и синхронизирует списки (идемпотентно по хэшу).

Риск: CRITICO (EFOS окончательный) · ALTO (EFOS предполагаемый) · MEDIO (69 вступивший в силу / подлежащий взысканию / не найденный) · BAJO (опровергнутый / благоприятное судебное решение) · INFORMATIVO (69 аннулированный / прощённый) · LIMPIO.

Результаты отражают последний импорт публичных файлов SAT. Они не являются налоговой или юридической консультацией.

Related MCP server: rues

Архитектура

CSV del SAT (Latin-1)                     ┌────────── FastMCP ──────────┐
   │  fetcher (httpx + proxy opcional)    │ verificar_rfc / _lote        │
   ▼                                      │ buscar_nombre / estado_datos │
 pipeline (parse 69 / 69b)  ──►  SQLite ──┤ actualizar_datos             │
   │   (FTS5 unicode61, triggers)  ▲  │   └──────────┬──────────────────┘
   ▼                               │  │   stdio (server.py) + HTTP (web.py)
 Turso (libSQL, durable) ◄── push  │  └► pull al arranque      │
                                   └─────────────────── /health /refresh /reload
  • server.py — FastMCP (stdio) + инструменты + AuthKit.

  • web.py — Starlette/uvicorn (HTTP): /health (открытый), /refresh и /reload (bearer M2M), /mcp (OAuth или bearer).

  • pipeline.py — загрузка → SHA-256 (пропускает, если не изменился) → разбор Latin-1 → замена в SQLite → push в Turso.

  • database.py — SQLite + FTS5 с триггерами; RFC по индексу B-tree (горячий путь).

  • turso.py — устойчивая синхронизация Turso ↔ локально.

  • risk.py — нормализация RFC + дерево вердикта (69-B имеет приоритет над 69).

Локальная установка

cd sat69-mcp
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"

# Primera ingesta (descarga ~22 MB; el 69 son ~½ millón de filas)
python -c "from sat69 import database as db, config; db.init_db(config.settings.db_path)"
python -c "from sat69.pipeline import process_import; print(process_import())"

# Probar
pytest -q

Подключение в Claude Desktop / Cowork (stdio)

{
  "mcpServers": {
    "sat69": { "command": "sat69-mcp" }
  }
}

(или "command": "python", "args": ["-m", "sat69"] с активным venv.)

Развёртывание на Render

render.yaml создаёт веб-сервис с нативным Python runtime (без Docker):

  1. Загрузите репозиторий на GitHub и создайте Blueprint в Render, указывающий на render.yaml.

  2. Переменные (помеченные sync:false): MCP_API_KEY (bearer), опционально AUTHKIT_DOMAIN+BASE_URL (OAuth), TURSO_DATABASE_URL+TURSO_AUTH_TOKEN.

  3. MCP endpoint: POST https://<servicio>.onrender.com/mcp.

Auth (два режима, как и у мобилизаций)

  • Статический bearer (MCP_API_KEY): простой, защищает /mcp, /refresh, /reload.

  • OAuth 2.1 (WorkOS AuthKit): задайте AUTHKIT_DOMAIN + BASE_URL, и /mcp переходит на OAuth с Dynamic Client Registration; bearer по-прежнему защищает M2M endpoints.

Автоматическое обновление

.github/workflows/refresh.yml выполняет POST /refresh ежедневно (11:30 UTC ≈ 05:30 CDMX). Секреты репозитория: RENDER_BASE_URL, MCP_API_KEY. Вручную: workflow_dispatchforce).

Хранение данных (Turso)

Локальный SQLite (эфемерный на Render, /tmp) обслуживает запросы; Turso — это долговременное хранилище, которое переживает редеплои. При запуске выполняется pull из Turso; после каждого actualizar_datos//refresh выполняется push. Без TURSO_* сервис работает в чисто локальном режиме.

Прокси для загрузки (опционально)

FETCH_PROXY или DATAIMPULSE_* маршрутизируют только загрузку CSV. В ходе тестов SAT не блокировал IP-адреса дата-центров (прямые загрузки возвращали 200), так что обычно это не требуется; функциональность сохранена для паритета и отказоустойчивости.

Источники данных (SAT · Datos Abiertos)

  • 69-B: Listado_Completo_69-B.csv (~14 тыс. записей, 20 колонок, заголовок в строке 3).

  • 69: Firmes.csv, Cancelados.csv, NoLocalizados.csv, Exigibles.csv, Sentencias.csv, Condonados.csv (~½ млн записей, 6 колонок). URL-адреса в config.py.

A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    Latin American business compliance suite — 28 tools for tax ID validation (CPF, CNPJ, RFC, RUT, CUIT, NIT), banking (PIX, CLABE, CBU), VAT rules, e-invoicing (NF-e, CFDI, DTE), holidays, and labor calendar across Brazil, Mexico, Chile, Argentina, and Colombia.
    28
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables querying the Colombian Business Registry (RUES) for company searches by name, location grouping, and detailed company information.
  • F
    license
    Not graded
    quality
    C
    maintenance
    Provides business intelligence, compliance tools, and economic data for Latin America, including Brazilian company lookups, tax ID validation for multiple countries, and economic indicators from official government sources.
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables consultation of Argentine credit situations (Central de Deudores) via BCRA API, providing tools for current status, historical trends, rejected checks, and consolidated reports.

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/edbror/sat69-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server