Official OrigoID Model Context Protocol server. Exposes every OrigoID API endpoint as an MCP tool — works with Claude Code/Desktop, Cursor, Windsurf, ChatGPT Desktop, Codex CLI, Gemini, and any MCP-compatible client.
Strong foundation with 16 well-defined tools covering Mexican identity/compliance APIs and documentation helpers. All tools have descriptions (avg 180 chars) and explicit input schemas with Zod validation. Naming follows verb_noun convention (validate_*, lookup_*, extract_*, list_*, get_*). Key strengths: parameter descriptions are detailed with format guidance (e.g., 'YYYY-MM-DD', '18-character CURP'); error types documented (CURP_DECEASED, CURP_NOT_FOUND); output structure explained (files with base64 PDFs, envelope shape). Gaps: no output schemas formally documented; no error recovery guidance in descriptions; some parameters lack min/max constraints; no tool annotations (readOnlyHint, destructiveHint); composition could be tighter (e.g., validate_curp + generate_rfc could be one tool with optional output).
Extract structured data from a Mexican CSF document. Two modes: (a) direct identifiers `rfc` + `cif`, or (b) Base64-encoded PDF in the `document` field. The schema is a oneOf — send exactly one mode.
Retrieve the official RENAPO CURP document for an 18-character CURP. Returns registration data plus `files` with the PDF as inline base64 (kind `document`). Optional `generateRfc` adds the RFC derived from the CURP. Possible types: SUCCESS, CURP_DECEASED, CURP_HOMONYMY, CURP_APOCRYPHAL, CURP_JUDICIAL_SUSPENSION, CURP_INACTIVE, CURP_NOT_FOUND.
Generate Pydantic v2 models for a single endpoint. Returns a self-contained .py file with Request, Response, Data, and Envelope classes. Free, instant, no API key required.
Generate TypeScript interfaces for a single endpoint. Returns a self-contained .ts file with Request, Response, Data, and Envelope types. Free, instant, no API key required.
Fetch the OpenAPI schema for a single endpoint. Returns the request body schema, response types, and examples. Free, instant, no API key required.
No output schemas documented. Tools return JSON envelopes but LLMs cannot see the structure of 'data' field or 'files' array. This forces LLMs to guess at response shape and risks failed downstream chaining.
No error recovery guidance in descriptions. Tools document possible error types (CURP_DECEASED, CURP_NOT_FOUND) but do not tell LLMs what to do when they occur. E.g., 'If CURP_NOT_FOUND, try lookup_curp() with demographics.'
Mutually exclusive parameters not documented. Tools like extract_csf and validate_cfdi accept oneOf patterns (rfc+cif vs document, uuid+rfcEmisor+rfcReceptor+total vs document) but descriptions do not explicitly state 'send exactly one mode' or 'these are mutually exclusive'.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | 2026-07-28+ | v2 |
Fetch a copy-paste SDK snippet for a single endpoint. Supports Node.js (@origoid/sdk), Python (origoid), and Go (sdk-go). Free, instant, no API key required.
Fetch a complete integration starter project. Returns a map of { filename: contents } representing a runnable project scaffold. Free, instant, no API key required.
Exchange the API key for a short-lived Bearer JWT. Useful when handing access to a downstream subsystem. Most workflows do NOT need this — the SDK already authenticates every call directly with the API key.
List all OrigoID API endpoints exposed by this MCP server. Returns endpoint names, titles, and descriptions. Free, instant, no API key required.
List all available integration starter projects. Each starter is a complete, runnable project scaffold (Express, FastAPI, Go CLI) with CURP validation pre-wired. Free, instant, no API key required.
Reconstruct a person's CURP from their given names, surnames, date of birth, gender, and birth-state code. Returns the CURP and full RENAPO record on a match.
Validate a SPEI transfer against Banxico and retrieve its CEP (Comprobante Electrónico de Pago). Identify the transfer with `trackingKey` OR `referenceNumber`, plus `operationDate`, bank codes, account and `amount`. For settled payments the CEP XML comes in `files` (inline base64); set `includePdf` to also get the PDF. Non-settled outcomes (returned, cancelled, settled-without-CEP) return an empty `files` array.
Validate a CFDI's current SAT status (active or canceled), cancellation status, and fiscal effect. Two modes: (a) direct identifiers `uuid` + `rfcEmisor` + `rfcReceptor` + `total`, or (b) the full CFDI as Base64 in the `document` field (XML, PDF, or PNG/JPG of the QR).
Validate a Mexican CURP (Clave Única de Registro de Población) against RENAPO. Returns the personal record on success, or a stable `type` code (CURP_DECEASED, CURP_NOT_FOUND, INVALID_REQUEST, etc.). Billable: 1 credit on a real result.
Validate an OrigoID response envelope shape. Checks that the envelope has the required fields (status, type, message, data, transactionId, processedAt, billable) and that the type code is recognized. Free, instant, no API key required.
Validate a Mexican RFC (Registro Federal de Contribuyentes) against SAT's taxpayer registry. Returns taxpayer type, status, and risk level.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All tools are read-only but this is not declared in the schema. Annotations help LLMs reason about safety and retry logic.
validate_cep has optional parameters with no min/max constraints. trackingKey, referenceNumber, operationDate, senderBankCode, receiverBankCode are all optional strings but no guidance on which combinations are required or valid formats.