Mexican Tax & Banking
Validate RFC, CURP, CLABE and NSS, read CFDI 4.0 invoices and check their SAT status.
Connector by OrtaMarco · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/ortamarco-mx-fiscal-mcp-server
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 26, 2026.
- Tools
- 9 read · 0 write · 0 deleteRead-only
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Node.js package
Tools by what they do 9
Read from the source code; the running server may list different tools.
Read 9 · Look things up without changing anything.
cfdi_batch_statuscfdi_statusgenerate_test_dataparse_cfdisat_catalog_lookupvalidate_clabevalidate_curpvalidate_nssvalidate_rfc
Network hosts it talks to 6
consultaqr.facturaelectronica.sat.gob.mx· found in codegithub.com· found in codeomawww.sat.gob.mx· found in codepruebacfdiconsultaqr.cloudapp.net· found in codeschemas.xmlsoap.org· found in codetempuri.org· found in code
Tools (9)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
cfdi_batch_statusCFDI Status at the SAT, several invoicesread-onlyDescription is built at runtime.
cfdi_statusCFDI Status at the SATread-onlyAsk the SAT whether an invoice actually exists and is still live. This queries the public `ConsultaCFDIService` SOAP endpoint — the same service the QR code printed on every Mexican invoice points at — so it needs **no credentials, no CSD and no PAC contract**. Pass either the four values the SAT keys on (issuer RFC, receiver RFC, total, UUID) or the whole `xml`, in which case they are derived from it with the same reader `parse_cfdi` uses. Deriving them from the XML is the more reliable route: the total must be formatted exactly the way the printed-representation spec demands (six decimals, …
generate_test_dataGenerate Mexican Test Dataread-onlyDescription is built at runtime.
parse_cfdiParse CFDI XMLread-onlyTurn the XML of a Mexican electronic invoice (CFDI 4.0) into structured JSON: header, issuer, receiver, every line item with its transferred and withheld taxes, the tax totals, and the Timbre Fiscal Digital (UUID, stamp date, SAT certificate number, PAC's RFC) — or `timbre: null` when the document was never stamped. Three things this does beyond reading attributes: 1. **It labels the catalogue codes.** '601' becomes 'General de Ley Personas Morales', 'G03' becomes 'Gastos en general', 'PPD' becomes 'Pago en parcialidades o diferido'. An unknown code is reported as unknown rather than guess…
sat_catalog_lookupSAT Catalogue Lookupread-onlyLook up the code tables a CFDI is written in, without downloading the SAT's spreadsheet. Nine catalogues, all bundled — this tool never touches the network. - `regimen_fiscal` (c_RegimenFiscal) — tax regime of issuer and receiver - `uso_cfdi` (c_UsoCFDI) — what the receiver does with the invoice - `forma_pago` (c_FormaPago) — cash, transfer, card, … - `metodo_pago` (c_MetodoPago) — PUE vs PPD - `tipo_comprobante` (c_TipoDeComprobante) — I/E/T/N/P - `objeto_imp` (c_ObjetoImp) — whether a line item is subject to tax (CFDI 4.0) - `impuestos` (c_Impuesto) — ISR / IVA / IEPS - `ban…
validate_clabeValidate CLABEread-onlyValidate an 18-digit CLABE (Clave Bancaria Estandarizada, Banxico Circular 3/2012) — the account number every SPEI transfer in Mexico is addressed to — and name the bank behind it. Structure: 3 digits of bank + 3 of plaza (city/branch) + 11 of account + 1 control digit. **The control digit is the part everybody gets wrong.** The weights cycle 3-7-1, and each weighted product counts only its last digit (the product modulo 10): 9 × 7 = 63 counts as 3. Implementations that borrow the Luhn habit of adding the product's digits (6 + 3 = 9) compute a different control digit — for the base 090000000…
validate_curpValidate CURPread-onlyValidate a Mexican CURP (Clave Única de Registro de Población) — the 18-character population ID issued by RENAPO — and decode everything it encodes: birth date, sex, state of birth and the century marker. The 18th character is a base-37 modulus-10 check digit over the first 17, and this checks it. Two details it gets right that a regex does not: - **The state keys are RENAPO's own.** 'DF' is Ciudad de México, 'MC' is Estado de México, 'NE' means born abroad. They do not match the INEGI or ISO 3166-2:MX codes, so a lookup against those tables silently mislabels people. - **The homoclave c…
validate_nssValidate NSS (IMSS)read-onlyValidate an 11-digit NSS (Número de Seguridad Social) issued by the IMSS, and split it into its fields: 2 digits of subdelegación, 2 of the year the holder was registered, 2 of the year of birth, 4 of serial, and a Luhn check digit over the first ten. The two year fields are informational only. The IMSS has issued numbers whose years do not line up with the holder's records, so a mismatch is not grounds to reject a number — only the check digit is. Args: - value (string): the NSS. Spaces and dashes are normalised away. - response_format ('markdown' | 'json'): output format (default 'mark…
validate_rfcValidate RFCread-onlyValidate a Mexican RFC (Registro Federal de Contribuyentes) — the SAT taxpayer ID — and break it into its parts. Works for both shapes: 13 characters for a persona física (individual) and 12 for a persona moral (company). The last character is a modulus-11 check digit over the preceding ones, and this checks it. Two SAT-issued generics are special-cased and reported as such: - **XAXX010101000** (público en general) does NOT satisfy the check-digit algorithm — the arithmetic asks for a '4' where the SAT wrote a '0'. It is valid by decree, not by maths, which is exactly why so many home-grow…
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit
- Oct 16, 2026 (13 days ago)
- Last release
- Oct 16, 2026 (13 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Registry name
io.github.OrtaMarco/mx-fiscal-mcp-server- Version
- 1.1.1
- Auth
- No auth
- Packages
- npm mx-fiscal-mcp-server
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
More from OrtaMarco
- 0.607score
SEO & GEO
OrtaMarco
Audit a page's SEO and its readiness for AI answer engines: meta, schema, robots, sitemaps, AI bots.
ConnectorAFreshness: ALocalRead-only★ 1Claude Code +5 - 0.607score
Domain Security
OrtaMarco
Audit a domain's email and web security: SPF, DKIM, DMARC, MTA-STS, DNSSEC, TLS, WHOIS.
ConnectorAFreshness: ALocalRead-only★ 1Claude Code +5
Cite this page
Mexican Tax & Banking MCP server. Agent Mart. https://agentmart.dev/connectors/ortamarco-mx-fiscal-mcp-server (last updated 2026-10-24)