# Documentación para agentes de IA

Cada página de esta documentación está disponible en un formato legible por máquina. Si desarrollas un agente de IA, una canalización de recuperación o un asistente interno que responde preguntas sobre MONEI, usa estos endpoints en lugar de extraer el HTML renderizado.

## Qué está disponible[​](#overview "Enlace directo al Qué está disponible")

| Recurso                       | URL                                        | Formato                 |
| ----------------------------- | ------------------------------------------ | ----------------------- |
| Índice de páginas             | `https://docs.monei.com/llms.txt`          | Markdown                |
| Cualquier página en Markdown  | `https://docs.monei.com/<ruta>.md`         | Markdown                |
| Negociación de Markdown       | `Accept: text/markdown` en cualquier URL   | Markdown                |
| Servidor MCP                  | Ver [Servidor MCP](#mcp)                   | MCP                     |
| API de búsqueda               | `https://docs-search.monei.com`            | JSON                    |
| Lista de URL canónicas        | `https://docs.monei.com/sitemap.xml`       | XML                     |
| Especificación de la API REST | `https://js.monei.com/api/v1/openapi.json` | OpenAPI 3               |
| Esquema GraphQL               | `https://graphql.monei.com/`               | GraphQL (introspección) |
| Colección de Postman          | `https://postman.monei.com/`               | Postman                 |

## Lee cualquier página en Markdown[​](#markdown "Enlace directo al Lee cualquier página en Markdown")

Quita la barra final de una URL de la documentación y añade `.md`. Obtienes el contenido de la página sin navegación, scripts ni marcado de diseño:

```
curl https://docs.monei.com/es/payments/refunds.md
```

Las páginas en inglés funcionan igual, sin el prefijo `/es/`:

```
curl https://docs.monei.com/payments/refunds.md
```

`https://docs.monei.com/llms.txt` enumera todas las páginas con su título, descripción y URL de Markdown, agrupadas por sección. Empieza ahí si quieres recorrer todo el corpus.

También puedes pedirla por negociación de contenido, sin cambiar la URL. Envía `Accept: text/markdown` a cualquier URL de la documentación y obtienes el Markdown de esa página; la respuesta lleva `Vary: Accept`:

```
curl -H "Accept: text/markdown" https://docs.monei.com/es/payments/refunds/
```

tip

La URL `.md` y la cabecera `Accept` son equivalentes: usa la que te resulte más cómoda. Lo que ya lleva extensión, como `/llms.txt` o `/sitemap.xml`, se sirve tal cual en ambos casos.

## Servidor MCP[​](#mcp "Enlace directo al Servidor MCP")

El índice de la documentación se publica como un servidor [Model Context Protocol](https://modelcontextprotocol.io) alojado. Apunta un cliente MCP a esta URL: no hay que obtener ninguna clave, ni crear una cuenta, ni instalar nada:

```
https://docs-mcp.monei.com/mcp
```

### Añádelo a tu cliente[​](#mcp-setup "Enlace directo al Añádelo a tu cliente")

* Claude Code
* Claude Desktop
* Cursor
* VS Code
* Otros clientes

```
claude mcp add --transport http monei-docs https://docs-mcp.monei.com/mcp
```

Comprueba que se ha registrado con `claude mcp list`.

Abre **Configuración → Conectores → Añadir conector personalizado** y pega la URL:

```
https://docs-mcp.monei.com/mcp
```

Deja vacíos los campos de autenticación: el servidor no los usa.

Añádelo a `~/.cursor/mcp.json` para todos los proyectos, o a `.cursor/mcp.json` para uno solo:

```
{

  "mcpServers": {

    "monei-docs": {

      "url": "https://docs-mcp.monei.com/mcp"

    }

  }

}
```

Añádelo a `.vscode/mcp.json` en tu espacio de trabajo. Fíjate en que VS Code usa `servers`, no `mcpServers`:

```
{

  "servers": {

    "monei-docs": {

      "type": "http",

      "url": "https://docs-mcp.monei.com/mcp"

    }

  }

}
```

La mayoría de clientes leen este formato. El transporte es HTTP en streaming, así que no hacen falta comandos ni argumentos:

```
{

  "mcpServers": {

    "monei-docs": {

      "type": "http",

      "url": "https://docs-mcp.monei.com/mcp"

    }

  }

}
```

Cuando esté conectado, pregúntale a tu agente algo que responda la documentación —«¿cómo hago un reembolso con MONEI?» o «¿qué métodos de pago admiten preautorización?»— y buscará en estas páginas en lugar de improvisar.

Expone dos herramientas:

| Herramienta                       | Qué hace                                                              |
| --------------------------------- | --------------------------------------------------------------------- |
| `algolia_search_index_monei`      | Busca en la documentación. El mismo índice que el buscador del sitio. |
| `algolia_search_for_facet_values` | Lista los valores de una faceta, como `lang` o `record_type`.         |

Los resultados son los mismos registros de DocSearch que se describen en [Estructura de la respuesta](#search-response), así que cada resultado lleva el ancla de sección que citar y una `url` cuya versión en Markdown puedes obtener (quita el `#ancla` y la barra final, y añade `.md`).

info

El servidor es de solo lectura: puede buscar en la documentación y nada más. No accede a ninguna cuenta, pago ni dato de cliente de MONEI.

## Busca en la documentación[​](#search "Enlace directo al Busca en la documentación")

El índice de la documentación lo sirve Algolia DocSearch. Consúltalo por HTTP sin credenciales: la clave de búsqueda se añade por ti en el edge:

| Parámetro         | Valor                           |
| ----------------- | ------------------------------- |
| Endpoint          | `https://docs-search.monei.com` |
| Nombre del índice | `monei`                         |

El formato de petición y respuesta es el de Algolia, así que cualquier cliente de Algolia funciona si lo apuntas a este host.

* cURL
* JavaScript
* Python

```
curl -G "https://docs-search.monei.com/1/indexes/monei" \

  --data-urlencode "query=reembolsar un pago" \

  --data-urlencode "filters=lang:es AND record_type:docs" \

  --data-urlencode "hitsPerPage=5" \

  --data-urlencode "attributesToRetrieve=url,hierarchy,content"
```

```
const params = new URLSearchParams({

  query: 'reembolsar un pago',

  filters: 'lang:es AND record_type:docs',

  hitsPerPage: '5',

  attributesToRetrieve: 'url,hierarchy,content'

});



const response = await fetch(`https://docs-search.monei.com/1/indexes/monei?${params}`);



const {hits} = await response.json();
```

```
import requests



response = requests.get(

    "https://docs-search.monei.com/1/indexes/monei",

    params={

        "query": "reembolsar un pago",

        "filters": "lang:es AND record_type:docs",

        "hitsPerPage": 5,

        "attributesToRetrieve": "url,hierarchy,content",

    },

)



hits = response.json()["hits"]
```

### Filtros[​](#search-filters "Enlace directo al Filtros")

Combina estos atributos en el parámetro `filters` para acotar una consulta:

| Atributo      | Valores                  | Úsalo para                                             |
| ------------- | ------------------------ | ------------------------------------------------------ |
| `lang`        | `en`, `es`               | Devolver un solo idioma en lugar de los dos.           |
| `record_type` | `docs`, `api`            | Separar las guías de la referencia de la API generada. |
| `type`        | `content`, `lvl1`–`lvl6` | Priorizar el texto del cuerpo sobre los títulos.       |

### Estructura de la respuesta[​](#search-response "Enlace directo al Estructura de la respuesta")

Cada resultado es un registro de DocSearch: una sección de una página, no una página completa.

* `url`: la URL canónica, con el ancla de la sección coincidente. Para obtener el Markdown, quita primero el `#ancla`, luego la barra final, y añade `.md`: `/payments/refunds/#timing` pasa a ser `/payments/refunds.md`. Si añades `.md` a la URL completa obtienes `#timing.md`, que es solo un fragmento y sigue pidiendo la página HTML.
* `hierarchy.lvl0`–`lvl6`: la jerarquía de títulos, desde la sección hasta el título coincidente.
* `content`: el texto del cuerpo de la sección, o `null` cuando el registro es un título.

Como cada resultado lleva un ancla de sección, cita la sección exacta (`/payments/refunds/#timing`) en lugar de remitir al lector a la página completa.

aviso

La búsqueda es de solo lectura y la comparte todo el mundo que use esta documentación. Almacena en caché lo que recuperes y no uses la búsqueda para replicar el corpus: `llms.txt` y las URL `.md` existen para la lectura masiva.

## Especificaciones de las API[​](#specs "Enlace directo al Especificaciones de las API")

* **OpenAPI**: `https://js.monei.com/api/v1/openapi.json` describe cada endpoint REST, cuerpo de solicitud y esquema de respuesta. Es la fuente de la [referencia de la API REST](https://docs.monei.com/es/es/apis/rest/.md).
* **GraphQL**: `https://graphql.monei.com/` acepta consultas de introspección estándar. Consulta la [referencia de la API GraphQL](https://docs.monei.com/es/es/apis/graphql/.md) y [MONEI Connect](https://docs.monei.com/es/es/monei-connect/.md) para saber a quién está dirigida.
* **Postman**: `https://postman.monei.com/` es una colección predefinida para probar la API REST.

Para llamar a cualquiera de las dos API necesitas una clave de API de tu [Panel de MONEI](https://dashboard.monei.com). Usa una clave de prueba mientras desarrollas; consulta [Pruebas y puesta en marcha](https://docs.monei.com/es/es/testing/.md).

## Rastreo[​](#crawling "Enlace directo al Rastreo")

`https://docs.monei.com/robots.txt` permite todos los rastreadores, incluidos GPTBot, ClaudeBot, Google-Extended, PerplexityBot y Amazonbot. Las rutas que no existen devuelven un HTTP 404 real, por lo que puedes confiar en que un 404 significa que la página no existe.

## Preguntas frecuentes[​](#common-questions "Enlace directo al Preguntas frecuentes")

### ¿Uso el servidor MCP o la API de búsqueda?[​](#mcp-or-api "Enlace directo al ¿Uso el servidor MCP o la API de búsqueda?")

Usa el [servidor MCP](#mcp) si tu cliente habla MCP: no necesita credenciales ni código. Usa la [API de búsqueda](#search) cuando escribas tu propia canalización de recuperación y quieras control directo sobre los filtros y la paginación. Ambos consultan el mismo índice.

### ¿Necesito una clave de API para buscar?[​](#key-public "Enlace directo al ¿Necesito una clave de API para buscar?")

No. `docs-search.monei.com` añade una clave de solo búsqueda en el edge, así que tu cliente no envía nada. Consulta el índice de la documentación y nada más: no da acceso a tu cuenta de MONEI.

### ¿Qué URL debe citar un agente?[​](#cite "Enlace directo al ¿Qué URL debe citar un agente?")

Cita la URL HTML, incluida el ancla de la sección. Es la dirección canónica que una persona puede abrir. Para leer esa página en Markdown, quita antes el ancla y la barra final, y luego añade `.md`.
