About Veriko
Veriko MCP connects the Veriko API to MCP clients for SPEI transfer validation and related operations. Its configurable profiles and risk levels control which tools are exposed, while downloads are delivered as resources rather than base64 text or automatic workspace writes.
Key features
- 01Validate SPEI transfers
- 02Query and download CEP receipts
- 03Choose tool families by profile
- 04Limit operations by risk level
- 05Export downloads as resources
- 06Preserve idempotency keys
Use cases
- 01Check a payment against Banxico CEP
- 02Review the outcome of a prior validation
- 03Download a transfer receipt
- 04Expose only read-only tools to an agent
MCP support
The server exposes Veriko API operations as MCP tools, selected by profile and risk setting. It uses stdio transport and reads the API key from VERIKO_API_KEY rather than tool arguments.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y @veriko-mx/mcpVERIKO_API_KEYSecretClave de API del integrador de Veriko. Puede omitirse para las herramientas públicas de planes.VERIKO_MCP_PROFILEPerfil de herramientas: core, all o familias separadas por coma.VERIKO_MCP_MAX_RISKMáximo riesgo anunciado: read, write o destructive.Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
5Saved tool list · updated 3d ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| async | boolean | No | |
| fecha | string | Yes | |
| monto | any | Yes | |
| emisor | string | No | |
| receptor | string | No | |
| clientRef | string | No | |
| retryPolicy | object | No | |
| retryPolicy.enabled | boolean | No | |
| retryPolicy.outcomes | array | No | |
| retryPolicy.max_retries | integer | No | |
| retryPolicy.interval_seconds | integer | No | |
| claveRastreo | string | No | |
| idempotencyKey | string | No | |
| cuentasCandidatas | array | No | |
| cuentaBeneficiaria | string | No | |
| referenciaNumerica | string | No | |
| receptorParticipante | any | No |
Details
From the project READMEVeriko MCP
Este servidor MCP conecta Veriko a ChatGPT, Cursor u otro cliente MCP: le pides al asistente, por ejemplo, que compruebe un pago en el CEP de Banxico, que te diga en qué quedó una validación anterior o que descargue el comprobante.
Cubre 68 de las 70 operaciones públicas de máquina a máquina. Lo que el asistente puede hacer aquí es lo que puede hacer una clave de API, salvo el borrado definitivo de una validación: no se anuncia como herramienta porque no se puede deshacer.
Probarlo ahora
Requiere Node.js 20 o posterior.
git clone https://github.com/veriko-mx-labs/veriko-mcp.git
cd veriko-mcp
npm ci
npm run build
Queda un servidor ejecutable en dist/index.js. Para verlo responder sin clave
de API, el perfil de planes públicos no necesita credenciales:
VERIKO_MCP_PROFILE=plans VERIKO_MCP_MAX_RISK=read node dist/index.js
El proceso se queda esperando mensajes MCP por stdin; lo normal es que lo arranque tu cliente, no tú. Esta es la configuración del host, con la ruta absoluta a la copia que acabas de construir:
{
"mcpServers": {
"veriko": {
"command": "node",
"args": ["/ruta/a/veriko-mcp/dist/index.js"],
"env": {
"VERIKO_API_KEY": "veriko_...",
"VERIKO_MCP_PROFILE": "core",
"VERIKO_MCP_MAX_RISK": "write"
}
}
}
}
La clave se obtiene en app.veriko.mx. Nunca se pasa como argumento de una
herramienta: el servidor sólo la lee de VERIKO_API_KEY, de modo que un texto
inyectado en una página que el modelo esté leyendo no puede pedírsela.
Lo que consume cuota
veriko_validate_direct y veriko_validate_ocr consumen cuota del plan y se
descuentan al aceptar la petición. Lo dice su propia descripción, porque un
bucle de un agente puede vaciar una cuota mensual en minutos. El resto del
catálogo consulta, exporta o descarga sin consumir validaciones.
Perfiles
VERIKO_MCP_PROFILE acepta core, all, una familia o varias familias
separadas por coma.
| Perfil | Herramientas anunciadas |
|---|---|
core | validar, listar, consultar y descargar CEP |
validations | ciclo completo de validaciones |
webhooks | endpoints y entregas |
catalog | bancos, calendario SPEI, BIN y estado de Banxico |
beneficiaries | lista e importación masiva |
usage | consumo, límites y exportación |
account | perfil y política de reintentos |
dashboard | resumen operativo |
plans | planes públicos |
insights | métricas agregadas |
finance | resúmenes, vistas previas y descargas |
billing | suscripción activa |
all | las 68 herramientas disponibles |
El perfil decide qué familias ve el modelo. El riesgo se controla de forma
independiente con VERIKO_MCP_MAX_RISK:
read: sólo consultas y descargas;write(predeterminado): incluye validaciones y cambios normales;destructive: agrega eliminaciones, cancelaciones, rotación de secretos y la confirmación de importaciones.
Lo que cuesta anunciar cada perfil
Anunciar una herramienta gasta contexto antes de que el modelo llame a ninguna.
Estas cifras salen del propio servidor: bytes de la respuesta tools/list, con
npm run measure:catalog. Los tokens son una estimación a 3.6 bytes por token,
no una tokenización real, y sirven para comparar perfiles entre sí.
| Perfil | Herramientas | Bytes de tools/list | Tokens estimados |
|---|---|---|---|
core | 5 | 6,645 | ~1,846 |
validations | 14 | 15,761 | ~4,378 |
webhooks | 10 | 18,945 | ~5,263 |
catalog | 5 | 2,845 | ~790 |
beneficiaries | 14 | 10,343 | ~2,873 |
usage | 7 | 3,756 | ~1,043 |
account | 3 | 1,953 | ~543 |
dashboard | 1 | 557 | ~155 |
plans | 2 | 1,017 | ~283 |
insights | 4 | 2,337 | ~649 |
finance | 7 | 6,470 | ~1,797 |
billing | 1 | 503 | ~140 |
all | 68 | 64,477 | ~17,910 |
Medido con Node 22 y riesgo destructive, para no ocultar herramientas. all
cuesta 9.7 veces lo que core; por eso el perfil predeterminado es core y se
amplía por familia cuando hace falta.
Arquitectura
- Usa el SDK oficial de JavaScript como única capa de transporte hacia la API.
El código lo importa mediante
@veriko-mx/sdk-runtime, un alias estable que permite cambiar la fuente de distribución sin reescribir el servidor. - El SDK runtime viaja incluido en el tarball del MCP.
- Anuncia herramientas según perfil y riesgo.
- Las descargas se devuelven como recursos
veriko://artifact/...; nunca como base64 dentro de texto ni como escrituras automáticas en el workspace. - Valida base64 canónico y los límites públicos antes de invocar el SDK: 12 MB para comprobantes OCR (imagen o PDF) y 20 MB para importaciones de beneficiarios. El transporte stdio admite completa una importación máxima.
- Los errores usan
error.code, estado, puntero,requestIdyretryAftercuando existen; el texto traducible de la API no se usa como contrato.
Idempotencia
Si se pasa idempotencyKey, se conserva. Si falta, el servidor calcula
veriko_mcp_v1_<sha256> sobre el operationId y los argumentos canónicos. En
entradas binarias usa el hash del contenido, no una ruta local. La misma acción
produce la misma clave; cambiar un dato relevante produce otra.
Desarrollo
npm install
npm run check
npm run check:surface
npm run measure:catalog
check:surface compara el catálogo completo contra el spec público del SDK y
fija su SHA-256. Las operaciones que el catálogo no anuncia, el borrado definitivo de una
validación, se declaran aparte en NOT_EXPOSED_OPERATIONS. Una operación nueva, retirada o escondida, un esquema de
autenticación distinto de la clave de API o cualquier cambio contractual falla
esta comprobación. El workflow de sincronización deja el PR del contrato nuevo
como borrador, con el CI corrido y un resumen del cambio en el cuerpo, para
revisión antes de aceptarlo.
La API real no se usa en las pruebas. test/server.test.ts conecta cliente y
servidor MCP en memoria con un SDK falso.
Transportes
La entrada publicada es stdio. El núcleo vive en createVerikoServer() y
no depende del transporte, de modo que un futuro Streamable HTTP puede reutilizar
catálogo, políticas, errores y recursos. Un endpoint remoto requerirá
autenticación por usuario y no se presentará como equivalente al paquete local.
Seguridad
Consulta SECURITY.md. Nunca abras issues con claves de API, payloads reales, comprobantes, números de cuenta o respuestas sin sanitizar.
Licencia
MIT.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.