Skip to main content
Glama
elmatis172

validalatam-mcp

README.md
# validalatam-mcp

<!-- mcp-name: io.github.elmatis172/validalatam-mcp -->

MCP server for the **[ValidaLatam API](https://validalatam.ia-latam.app)** — validate, normalize and format Latin American tax IDs, national IDs and bank accounts: AR CUIT/CUIL/DNI/CBU/CVU, BR CPF/CNPJ, MX RFC/CURP/CLABE, CL RUT, CO NIT, PE RUC, UY CI/RUT, EC Cédula/RUC, PY RUC, IBAN.

This is a thin client: every tool call is an HTTP request to the hosted API. No validation algorithms are included here.

**API key / plans on RapidAPI: https://rapidapi.com/MatiasPengue/api/validalatam**

[English](#english) | [Español](#español)

## English

### Install
```bash
uvx --from git+https://github.com/elmatis172/validalatam-mcp validalatam-mcp
# or
pip install git+https://github.com/elmatis172/validalatam-mcp
validalatam-mcp
```
(Once published to PyPI: `uvx validalatam-mcp` / `pip install validalatam-mcp`.)

### Claude Desktop (`claude_desktop_config.json`) / Cursor (`~/.cursor/mcp.json`)
```json
{
  "mcpServers": {
    "validalatam": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/elmatis172/validalatam-mcp", "validalatam-mcp"],
      "env": { "RAPIDAPI_KEY": "optional-your-key" }
    }
  }
}
```

### Tools
- `validate_document(type, value, country?)` — `type="AUTO"` auto-detects
- `validate_batch(items)` — up to 1000 `{type, value, country?}`
- `generate_test_data(type, count, seed)` — clearly fake, check-digit-valid values
- `list_document_types()`

### Configuration
| Env var | Default | Purpose |
|---|---|---|
| `RAPIDAPI_KEY` | – | If set, calls go through RapidAPI (`validalatam.p.rapidapi.com`) |
| `VALIDALATAM_BASE_URL` | `https://validalatam.ia-latam.app` | Override API base URL |

### Docker
```bash
docker build -t validalatam-mcp . && docker run -i --rm validalatam-mcp
```

### Client SDKs
Zero-dependency clients in `sdks/python/validalatam_client.py` and `sdks/js/index.mjs`.

### Development
```bash
pip install -e ".[test]" && pytest
```

## Español

Servidor MCP para la **[API ValidaLatam](https://validalatam.ia-latam.app)**: valida, normaliza y formatea CUIT/CUIL, DNI, CBU/CVU, CPF, CNPJ, RFC, CURP, CLABE, RUT, NIT, RUC, CI, cédulas e IBAN. Es un cliente liviano: cada herramienta llama por HTTP a la API alojada; no incluye los algoritmos de validación.

**Clave de API y planes en RapidAPI: https://rapidapi.com/MatiasPengue/api/validalatam**

### Instalación
```bash
uvx --from git+https://github.com/elmatis172/validalatam-mcp validalatam-mcp
# o
pip install git+https://github.com/elmatis172/validalatam-mcp
```

### Claude Desktop / Cursor
Usá el mismo bloque JSON de arriba en `claude_desktop_config.json` o `~/.cursor/mcp.json`. `RAPIDAPI_KEY` es opcional.

### Herramientas
`validate_document`, `validate_batch`, `generate_test_data` (datos FALSOS de prueba), `list_document_types`.

## License / Licencia
MIT

TDQS

A3.6/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: single validation, batch validation, test data generation, and listing supported types. There is no overlap in functionality or ambiguity about when to use each tool.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern: validate_document, validate_batch, generate_test_data, list_document_types. The pattern is predictable and easy to understand.

Tool Count5/5

With only 4 tools, the set is well-scoped and each tool serves a clear, non-redundant purpose. The count is appropriate for a focused validation service.

Completeness5/5

The tools cover the full lifecycle of document validation: discovery of types, single validation with normalization/formatting, batch validation for bulk needs, and generation of test data. No obvious gaps exist for the stated purpose.