sat69-mcp
MCP SAT 69 / 69-B · WATR
SAT の公開リストを照会するための Python / FastMCP 製 MCP(Model Context Protocol) サーバー:
CFF 第69-B条(EFOS) — 模擬取引:推定、反証済み、確定、有利判決。
CFF 第69条 — 確定した税務状況:確定済み、請求可能、所在不明、取消済み、免除済み。
SSC-CDMX の動員情報 MCP と同じアーキテクチャ:FastMCP はトランスポートとして stdio + Streamable HTTP、静的 Bearer へのフォールバック付き OAuth 2.1(WorkOS AuthKit)、Turso(libSQL) での永続化、オプションのダウンロードプロキシ、そして Render へのデプロイ(GitHub Actions による外部 cron)を採用。OCR は不要:SAT の CSV は構造化済みのため。
ツール
ツール | 機能 |
| RFC を検証 → リスク判定( |
| 最大 500 件の RFC を検証;重大度ごとの検出結果のみ返す。 |
| 名前/法人名による検索(FTS5、アクセント非依存)。 |
| SAT が宣言する有効性、件数、最終インポート。 |
| リストのダウンロード+同期(ハッシュによる冪等)。 |
リスク: 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 /reloadserver.py— FastMCP(stdio)+ツール+AuthKit。web.py— Starlette/uvicorn(HTTP):/health(公開)、/refreshと/reload(Bearer M2M)、/mcp(OAuth または Bearer)。pipeline.py— ダウンロード → SHA-256(変更がなければ省略)→ Latin-1 でパース → SQLite に置換 → Turso へ push。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 -qClaude Desktop / Cowork で接続(stdio)
{
"mcpServers": {
"sat69": { "command": "sat69-mcp" }
}
}(または venv が有効な状態で "command": "python", "args": ["-m", "sat69"]。)
Render へのデプロイ
render.yaml はネイティブ Python ランタイムでウェブサービスをプロビジョニングします(Docker なし):
リポジトリを GitHub にアップロードし、
render.yamlを指す Blueprint を Render で作成します。変数(
sync:falseとマーク):MCP_API_KEY(Bearer)、任意のAUTHKIT_DOMAIN+BASE_URL(OAuth)、TURSO_DATABASE_URL+TURSO_AUTH_TOKEN。MCP エンドポイント:
POST https://<servicio>.onrender.com/mcp。
認証(2つのモード、動員情報と同じ)
静的 Bearer(
MCP_API_KEY):シンプルで、/mcp、/refresh、/reloadを保護。OAuth 2.1(WorkOS AuthKit):
AUTHKIT_DOMAIN+BASE_URLを定義すると、/mcpは Dynamic Client Registration 付き OAuth に切り替わります。Bearer は引き続き M2M エンドポイントを保護します。
自動更新
.github/workflows/refresh.yml が毎日 POST /refresh を実行します(11:30 UTC ≈ 05:30 CDMX)。リポジトリのシークレット:RENDER_BASE_URL、MCP_API_KEY。手動:workflow_dispatch(force 付き)。
永続化(Turso)
ローカルの SQLite(Render では一時的な /tmp)がクエリを処理し、Turso は再デプロイ後も存続する永続ストアです。起動時に Turso から pull し、actualizar_datos または /refresh のたびに push します。TURSO_* がない場合は、純粋なローカルモードで動作します。
ダウンロードプロキシ(オプション)
FETCH_PROXY または DATAIMPULSE_* は CSV のダウンロードのみをルーティングします。テストでは SAT はデータセンターの IP をブロックしませんでした(直接ダウンロードで 200)。通常は不要ですが、同等性と耐障害性のために維持されています。
データソース(SAT・Datos Abiertos)
69-B:
Listado_Completo_69-B.csv(約 14k レコード、20 列、ヘッダーは3行目)。69:
Firmes.csv、Cancelados.csv、NoLocalizados.csv、Exigibles.csv、Sentencias.csv、Condonados.csv(約50万レコード、6列)。URL はconfig.pyにあります。
Maintenance
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
- FlicenseAqualityDmaintenanceLatin 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
- FlicenseNot gradedqualityDmaintenanceEnables querying the Colombian Business Registry (RUES) for company searches by name, location grouping, and detailed company information.
- FlicenseNot gradedqualityCmaintenanceProvides 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.
- FlicenseNot gradedqualityCmaintenanceEnables consultation of Argentine credit situations (Central de Deudores) via BCRA API, providing tools for current status, historical trends, rejected checks, and consolidated reports.
Related MCP Connectors
Simplified lookup of a person's or company's lawsuits from the CPF or CNPJ. Platform-hosted, no cred
Receita Federal: Situação Fiscal, official-source lookup. Platform-hosted, pay per query with prepai
Receita Federal PGFN: Lista de Devedores, official-source lookup. Platform-hosted, pay per query wit
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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