Metadata-Version: 2.4
Name: banxico-cep-mcp
Version: 1.0.3
Summary: MCP server for querying Banxico CEP (Comprobante Electrónico de Pago)
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: mcp>=1.0.0
Requires-Dist: curl-cffi>=0.7.0
Requires-Dist: parsel>=1.9.0

# banxico-cep-mcp

MCP server for querying [Banxico CEP](https://www.banxico.org.mx/cep/) (Comprobante Electrónico de Pago) to verify Mexican bank payment records.

## Installation

```bash
pip install banxico-cep-mcp
```

Requires Python >= 3.10.

## Usage

### Configure in your MCP client

```json
{
  "mcpServers": {
    "banxico-cep": {
      "command": "banxico-cep-mcp"
    }
  }
}
```

### Run directly

```bash
banxico-cep-mcp
```

## Tool

### `cep_query`

Query a single CEP record from Banxico.

| Parameter  | Required | Description                                      |
| ---------- | :------: | ------------------------------------------------ |
| `fecha`    |   Yes    | Payment date in `DD-MM-YYYY` format (e.g. `15-12-2025`) |
| `criterio` |   Yes    | CEP reference/certificate number (e.g. `3843CP04202512154771098591`) |
| `emisor`   |   Yes    | Issuer bank code (e.g. `40072`)                |
| `receptor` |   Yes    | Receiver bank code (e.g. `40012`)              |
| `monto`    |   Yes    | Amount in MXN (e.g. `140`)                     |
| `cuenta`   |    No    | Account number                                  |

### Response

```json
{
  "status": "liquidado",
  "raw_length": 12345,
  "query": {
    "fecha": "15-12-2025",
    "criterio": "3843CP04202512154771098591",
    "monto": "140",
    "emisor": "40072",
    "receptor": "40012"
  }
}
```

Possible statuses:

- `liquidado` — payment verified
- `captcha_error` — captcha triggered, rate limit likely exceeded
- `rate_limited` — max queries exceeded, session reset automatically
- `unknown` — unexpected response
- `error` — request failed, see `message` field

## Rate limiting

Built-in rate limiter: ~4 queries per 15-second window. Uses `curl-cffi` to spoof browser TLS fingerprints, reducing the chance of being flagged by Banxico's WAF.

## Development

```bash
pip install -e .
banxico-cep-mcp
```
