> For the complete documentation index, see [llms.txt](https://developers.oxylabs.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.oxylabs.io/ai-workflows/es/mcp.md).

# Model Context Protocol (MCP)

Usa Oxylabs MCP para ofrecer a los asistentes de IA herramientas en vivo de web scraping, búsqueda y extracción mediante los productos de Oxylabs.

Model Context Protocol (MCP) es un estándar abierto para conectar asistentes de IA con herramientas y datos externos. Con las integraciones MCP de Oxylabs, asistentes como [Claude](https://claude.ai/) y [Cursor](https://www.cursor.com/) pueden acceder a datos web en vivo: extraer páginas, buscar en la web, rastrear sitios y controlar navegadores remotos.

Oxylabs ofrece integraciones MCP para dos productos:

<table><thead><tr><th width="136">Producto</th><th width="183">servidor MCP</th><th>Configuración</th></tr></thead><tbody><tr><td><a href="#web-api">Web API</a></td><td><code>oxylabs-web-api-mcp</code></td><td>Remoto (alojado por Oxylabs) o autoalojado (ejecutado por ti)</td></tr><tr><td><a href="#agent-browser">Agent Browser</a></td><td><code>hb-mcp</code></td><td>Autoalojado</td></tr></tbody></table>

{% hint style="info" %}
**Nota:** Cada producto tiene su propio servidor MCP y credenciales. Configura solo los que necesites; también se pueden combinar.
{% endhint %}

## Web API

Conecta Web API a tu agente de IA para buscar en la web, extraer páginas en el formato que elijas, extraer campos como JSON y llamar a scrapers dedicados, todo a través de una sola conexión MCP. Puedes encontrar todos los detalles en el [repositorio de GitHub de Web API MCP](https://github.com/oxylabs/web-api-mcp).

Puedes conectarte de dos maneras:

* [**MCP remoto**](#option-1-remote-mcp) – conéctate al servidor alojado y mantenido por Oxylabs. No hay nada que instalar ni actualizar.
* [**MCP autoalojado**](#option-2-self-hosted-mcp) – despliega y administra el servidor en tu propio entorno para tener más control.

<table><thead><tr><th width="160"></th><th width="288">MCP remoto</th><th>MCP autoalojado</th></tr></thead><tbody><tr><td><strong>El servidor se ejecuta en</strong></td><td>la infraestructura de Oxylabs</td><td>Tu máquina o infraestructura</td></tr><tr><td><strong>Configuración</strong></td><td>Añade la URL del servidor y tu clave de API a tu cliente</td><td>Instalar <code>uv</code>, Python y el servidor; luego configura tu cliente</td></tr><tr><td><strong>Actualizaciones y mantenimiento</strong></td><td>Gestionado por Oxylabs</td><td>Gestionado por ti</td></tr><tr><td><strong>Configuración del servidor</strong></td><td>Gestionado por Oxylabs</td><td>Configurable con variables de entorno</td></tr><tr><td><strong>Ideal para</strong></td><td>La forma más rápida de dar acceso a Web API a un agente compatible</td><td>Control total del entorno, o clientes que no pueden conectarse a servidores remotos con un encabezado personalizado</td></tr></tbody></table>

### Requisitos

* **Clave de Web API:** en el [panel de Oxylabs](https://dashboard.oxylabs.io/), crea una instancia de producto Web API, ábrela y copia la clave de API que aparece en la parte superior de la página de la instancia.
* **Para MCP remoto:** Un cliente MCP que admita servidores MCP remotos (HTTP) con encabezados personalizados, como Claude Code, Codex, Cursor, etc.
* **Para MCP autoalojado:** [**`uv`**](https://docs.astral.sh/uv/getting-started/installation/) y Python 3.10 o superior.

### Herramientas disponibles

<table><thead><tr><th width="188.30078125">Herramienta</th><th>Qué hace</th></tr></thead><tbody><tr><td><code>search</code></td><td>Busca en la web en vivo – <code>query</code>, <code>max_results</code>, <code>location</code></td></tr><tr><td><code>scrape</code></td><td>Lee una URL, Markdown por defecto, o devuelve campos con nombre como JSON – <code>url</code>, <code>format</code>, <code>location</code>, <code>device</code>, <code>run_js</code>, <code>json_prompt</code>, <code>json_schema</code></td></tr><tr><td><code>scrape_target</code></td><td>Llama a un scraper específico del objetivo – <code>endpoint</code>, <code>params</code>, <code>estructurado</code>, <code>parser</code>, <code>json_prompt</code>, <code>json_schema</code></td></tr><tr><td><code>list_scrapers</code></td><td>Enumera los endpoints de scraping disponibles, o describe uno – <code>endpoint</code></td></tr><tr><td><code>check_scrape</code></td><td>Recupera un trabajo en cola, como un scraping con renderizado de JavaScript – <code>request_id</code></td></tr><tr><td><code>read_scraped</code></td><td>Lee una página grande que se descargó al disco, en fragmentos – solo cuando el servidor se ejecuta localmente (stdio)</td></tr></tbody></table>

{% hint style="info" %}
**Nota:** Todas las herramientas son de solo lectura, así que muchos clientes pueden ejecutarlas sin pedir aprobación.
{% endhint %}

### Opción 1: MCP remoto

Conecta tu cliente al servidor alojado por Oxylabs:

```
https://mcp.oxylabs.io/web-api-mcp
```

El servidor autentica cada solicitud con tu clave de Web API, enviada como un `Authorization: Bearer` encabezado.

Establece tu clave de API como una variable de entorno en la terminal donde ejecutarás tu cliente:

```bash
export OXYLABS_WEB_API_KEY="your_api_key_here"
```

Luego añade el servidor a tu cliente:

{% tabs %}
{% tab title="Claude Code" icon="claude" %}

```bash
claude mcp add --transport http --scope user oxylabs-web-api \\
  https://mcp.oxylabs.io/web-api-mcp \\
  --header "Authorization: Bearer ${OXYLABS_WEB_API_KEY}"
```

`--scope user` hace que el servidor esté disponible en todos tus proyectos. Asegúrate de que `OXYLABS_WEB_API_KEY` esté definida en el entorno donde inicias Claude Code.
{% endtab %}

{% tab title="ChatGPT/Codex" icon="openai" %}

```bash
codex mcp add oxylabs-web-api \\
  --url https://mcp.oxylabs.io/web-api-mcp \\
  --bearer-token-env-var OXYLABS_WEB_API_KEY
```

Codex lee la clave desde la `OXYLABS_WEB_API_KEY` variable de entorno, así que debe estar definida en el entorno donde inicias Codex.
{% endtab %}

{% tab title="Cursor (+ otros)" icon="cursor" %}
Para cualquier cliente que admita servidores MCP remotos con encabezados personalizados, añade la URL del servidor y un `Authorization` encabezado a la configuración MCP del cliente. Por ejemplo, en el `mcp.json`:

```json
{
  "mcpServers": {
    "oxylabs-web-api": {
      "url": "https://mcp.oxylabs.io/web-api-mcp",
      "headers": {
        "Authorization": "Bearer ${env:OXYLABS_WEB_API_KEY}"
      }
    }
  }
}
```

Los nombres de los campos pueden variar entre clientes: consulta la documentación de tu cliente para saber cómo añadir un servidor MCP remoto con encabezados.
{% endtab %}
{% endtabs %}

{% hint style="warning" %}
**Importante:** Tu clave de API da acceso al uso de tu Web API. No subas archivos de configuración que la incluyan, y usa variables de entorno donde tu cliente las admita.
{% endhint %}

{% hint style="info" %}
**Nota:** Los clientes que solo admiten inicio de sesión OAuth para servidores remotos, como los conectores personalizados en la interfaz web de claude.ai, no pueden enviar encabezados personalizados ni conectarse al servidor MCP remoto. Usa la opción autoalojada con esos clientes.
{% endhint %}

### Opción 2: MCP autoalojado

{% hint style="info" %}
**Nota:** Los comandos remotos y autoalojados de esta página usan el mismo nombre de servidor, `oxylabs-web-api`. Si cambias de una opción a la otra, primero elimina el servidor existente de tu cliente.
{% endhint %}

Autoaloga tu servidor MCP de Web API como **Local (stdio)** proceso o un **Servidor compartido (HTTP)**:

{% tabs %}
{% tab title="Local (stdio)" %}

```bash
uv tool install git+https://github.com/oxylabs/web-api-mcp
```

Luego apunta tu cliente al `oxylabs-web-api-mcp` comando. El código fuente está disponible en el [repositorio de GitHub de Web API MCP](https://github.com/oxylabs/web-api-mcp).

<details>

<summary><strong>Claude Code</strong></summary>

```bash
claude mcp add oxylabs-web-api \\
  --env OXYLABS_WEB_API_KEY='${OXYLABS_WEB_API_KEY}' \\
  -- oxylabs-web-api-mcp
```

</details>

<details>

<summary><strong>Claude Desktop</strong></summary>

```json
{
  "mcpServers": {
    "oxylabs-web-api": {
      "command": "oxylabs-web-api-mcp",
      "env": { "OXYLABS_ENV_FILE": "/absolute/path/to/.env" }
    }
  }
}
```

</details>

<details>

<summary><strong>Cursor</strong></summary>

{% code overflow="wrap" expandable="true" %}

```json
{
  "mcpServers": {
    "oxylabs-web-api": {
      "command": "oxylabs-web-api-mcp",
      "env": { "OXYLABS_WEB_API_KEY": "${env:OXYLABS_WEB_API_KEY}" }
    }
  }
}
```

{% endcode %}

</details>

La habilidad del agente ya está integrada en el servidor. Si prefieres gestionar las habilidades por separado, Claude Code puede en su lugar tomar el [repositorio de habilidades](https://github.com/oxylabs/web-api-skills) como complemento, que conecta este servidor y las habilidades entre sí:

```bash
/plugin marketplace add oxylabs/web-api-skills
/plugin install oxylabs-web-api
```

{% endtab %}

{% tab title="Servidor compartido (HTTP)" %}
Ejecuta un servidor compartido para un equipo, o para agentes que no pueden iniciar procesos locales:

```bash
export OXYLABS_WEB_API_KEY=WEB_API_KEY
export MCP_ALLOWED_HOSTS='mcp.internal.example.com,localhost:*'
oxylabs-web-api-mcp --transport http --host 0.0.0.0 --port 8080
```

{% hint style="warning" %}
**Importante:** `MCP_ALLOWED_HOSTS` es obligatorio: enumera el nombre de host al que se conectan los clientes, o cada solicitud se rechazará con `421 Misdirected Request`. El servidor no tiene autenticación propia, así que cualquiera que pueda acceder a él puede usar la clave configurada en su entorno: mantenlo detrás de una VPN o de un ingress autenticado; nunca en Internet pública.
{% endhint %}

El endpoint es `http://<host>:8080/mcp`. Los llamadores pueden enviar su propia clave en un `Authorization: Bearer` encabezado. De lo contrario, el servidor usa `OXYLABS_WEB_API_KEY`.

A `Dockerfile` también está disponible en el [repositorio](https://github.com/oxylabs/web-api-mcp). Para ejecutar el servidor con Docker:

{% code overflow="wrap" expandable="true" %}

```bash
docker build -t oxylabs-web-api-mcp .
docker run --rm -p 8080:8080 \\
  -e OXYLABS_WEB_API_KEY \\
  -e MCP_ALLOWED_HOSTS='localhost:*,mcp.internal.example.com' \\
  oxylabs-web-api-mcp
```

{% endcode %}
{% endtab %}
{% endtabs %}

### Configuración de MCP autoalojado

<details>

<summary><strong>Tabla de variables de configuración</strong></summary>

<table><thead><tr><th width="231.22265625">Variable</th><th width="413.6328125">Descripción</th><th>Valor predeterminado</th></tr></thead><tbody><tr><td><code>OXYLABS_WEB_API_KEY</code></td><td>Clave de Web API, enviada como <code>Authorization: Bearer &#x3C;key></code>. Requerido en stdio. Por HTTP, un <code>Authorization</code> encabezado por solicitud tiene prioridad.</td><td>–</td></tr><tr><td><code>OXYLABS_BASE_URL</code></td><td>Anula la URL base de la API, por ejemplo para pasar por un proxy.</td><td><code>https://webapi.oxylabs.io</code></td></tr><tr><td><code>OXYLABS_RETRIES</code></td><td>Reintentos ante errores temporales (<code>429</code>, <code>500</code>, <code>502</code>, <code>503</code>, <code>504</code>).</td><td>2</td></tr><tr><td><code>OXYLABS_RATE_LIMIT</code></td><td>Limita el gasto del servidor, p. ej. <code>100/1h</code> o <code>50/30m</code>.</td><td>Desactivado</td></tr><tr><td><code>OXYLABS_MAX_INLINE_TOKENS</code></td><td>El contenido que supere este tamaño, en tokens, se guarda en disco (stdio) o se trunca (HTTP).</td><td>10000</td></tr><tr><td><code>OXYLABS_SPILL_DIR</code></td><td>Dónde se escriben las páginas guardadas (solo stdio).</td><td>Directorio temporal del sistema</td></tr><tr><td><code>OXYLABS_SPILL</code></td><td>Establécelo en <code>0</code> para mantener todo el contenido en línea, incluso en stdio.</td><td>1</td></tr><tr><td><code>MCP_TRANSPORT</code></td><td><code>stdio</code> o <code>http</code>.</td><td><code>stdio</code></td></tr><tr><td><code>HOST</code> / <code>PORT</code></td><td>Dirección de enlace HTTP.</td><td><code>127.0.0.1</code> / <code>8080</code></td></tr><tr><td><code>MCP_ALLOWED_HOSTS</code></td><td>Separado por comas <code>Host</code> lista permitida (solo HTTP).</td><td><code>localhost:*,127.0.0.1:*</code></td></tr><tr><td><code>MCP_ALLOWED_ORIGINS</code></td><td>Separado por comas <code>Origen</code> lista permitida para clientes de navegador (solo HTTP).</td><td>Vacío</td></tr></tbody></table>

{% hint style="info" %}
Activado `stdio`, el servidor también lee `OXYLABS_*` variables de un `.env` archivo en su directorio de trabajo, o desde el archivo establecido en `OXYLABS_ENV_FILE`. Las variables ya establecidas en el entorno tienen prioridad. La clave de API se lee en tiempo de solicitud y nunca se escribe en disco ni se registra.
{% endhint %}

</details>

## Agent Browser

Conecta Agent Browser a través de su servidor MCP `hb-mcp`, para permitir que tu asistente abra navegadores remotos, navegue por páginas, interactúe con elementos y recopile contenido usando capacidades avanzadas de navegación autónoma y [**Residential Proxy**](https://oxylabs.io/products/residential-proxy-pool) integración. Puedes encontrar todos los detalles en el [repositorio de GitHub de Agent Browser MCP](https://github.com/oxylabs/oxylabs-ab-mcp).

### Herramientas disponibles

`hb_connect` devuelve una etiqueta de sesión que pasas a las otras herramientas, para que puedas ejecutar varias sesiones en paralelo. Las sesiones duran hasta 1 hora y cuentan para tu límite de sesiones concurrentes hasta que se cierran.

<table><thead><tr><th width="227">Herramienta</th><th>Qué hace</th></tr></thead><tbody><tr><td><code>hb_connect</code></td><td>Abre una sesión – acepta parámetros de Agent Browser como <code>p_cc</code>, <code>p_device</code>, <code>p_src</code>, <code>p_fp_tag</code>, <code>session_name</code>, <code>o_profile</code>, <code>record</code>, <code>page_handler</code></td></tr><tr><td><code>hb_disconnect</code></td><td>Cierra una sesión, o todas las sesiones</td></tr><tr><td><code>hb_session_info</code></td><td>Enumera las sesiones abiertas, o muestra los detalles de una</td></tr><tr><td><code>hb_page_status</code>,<br><code>hb_page_handle</code>,<br><code>hb_classify_page</code></td><td>Trabaja con el Page Handler: lee el estado de la página, resuelve un desafío que apareció después de cargar la página (<code>hb_page_handle</code> requiere <code>page_handler=true</code>), clasifica la página actual</td></tr><tr><td><code>hb_sessions_list</code>,<br><code>hb_session_stop</code></td><td>Enumera y detén sesiones en vivo de tu cuenta</td></tr><tr><td><code>hb_recordings_list</code>,<br><code>hb_recording_url</code>,<br><code>hb_recording_delete</code></td><td>Gestiona grabaciones de sesión</td></tr><tr><td><code>hb_profiles_list</code>,<br><code>hb_profile_delete</code></td><td>Gestiona perfiles persistentes</td></tr><tr><td><code>hb_reference</code></td><td>Devuelve la referencia de parámetros y errores</td></tr><tr><td><code>browser_navigate</code></td><td>Abre una URL</td></tr><tr><td><code>browser_snapshot</code></td><td>Lee el contenido de la página</td></tr><tr><td><code>browser_click</code></td><td>Haz clic en un elemento de la captura</td></tr><tr><td><code>browser_type</code>,<br><code>browser_fill_form</code></td><td>Escribe en un campo, o completa varios campos de formulario</td></tr><tr><td><code>browser_take_screenshot</code></td><td>Toma una captura de pantalla</td></tr><tr><td><code>browser_close</code></td><td>Cierra la sesión</td></tr><tr><td>Otro <code>browser_*</code> herramientas</td><td>Pestañas, pasar el cursor, pulsaciones de teclas, espera, carga de archivos, exportación a PDF y más</td></tr></tbody></table>

### Requisitos previos

* Agent Browser `username` y `password` desde el [panel de Oxylabs](https://dashboard.oxylabs.io/).
* [Node.js](https://nodejs.org/) 20.0.0 o superior y `git`.

### Instalación

Instala el servidor desde GitHub, ya que no se publica en el `npm` registro:

{% code expandable="true" %}

```
npm install -g github:oxylabs/oxylabs-ab-mcp
```

{% endcode %}

Luego apunta tu cliente al `hb-mcp` binario:

<details>

<summary><strong>Claude Code</strong></summary>

```bash
claude mcp add oxylabs-agent-browser \\
  -e OXY_HB_USERNAME="USERNAME" \\
  -e OXY_HB_PASSWORD="PASSWORD" \\
  -- hb-mcp
```

</details>

<details>

<summary><strong>Claude Desktop o Cursor</strong></summary>

Añade esto a tu `claude_desktop_config.json` o `.mcp.json` archivo:

```json
{
  "mcpServers": {
    "oxylabs-agent-browser": {
      "command": "hb-mcp",
      "env": {
        "OXY_HB_USERNAME": "USERNAME",
        "OXY_HB_PASSWORD": "PASSWORD"
      }
    }
  }
}
```

</details>

Para omitir la instalación global, usa `npx -y github:oxylabs/oxylabs-ab-mcp` como comando en lugar de `hb-mcp`. El inicio es más lento.

#### Selección de ubicación

Pídele a tu asistente que abra el navegador en un país específico con `p_cc` parámetro, o establece un valor predeterminado para cada sesión con el `--default-params` argumento:

```json
"oxylabs-agent-browser": {
  "command": "hb-mcp",
  "args": ["--default-params", "p_cc=US"],
  "env": {
    "OXY_HB_USERNAME": "USERNAME",
    "OXY_HB_PASSWORD": "PASSWORD"
  }
}
```

Para elegir las opciones de ubicación del navegador, visita la [Selección de geolocalización y proxy](/products/agent-browser/geolocation-and-proxy-selection.md) página. Si no especificas una ubicación, se asignará una automáticamente según la disponibilidad.

## Usa varios productos juntos

Puedes ejecutar ambos servidores en el mismo cliente. Combina sus entradas bajo un solo `mcpServers` objeto.

<details>

<summary>Ejemplo</summary>

```json
{
  "mcpServers": {
    "oxylabs-web-api": {
      "command": "oxylabs-web-api-mcp",
      "env": { "OXYLABS_WEB_API_KEY": "${env:OXYLABS_WEB_API_KEY}" }
    },
    "oxylabs-agent-browser": {
      "command": "hb-mcp",
      "env": {
        "OXY_HB_USERNAME": "${env:OXY_HB_USERNAME}",
        "OXY_HB_PASSWORD": "${env:OXY_HB_PASSWORD}"
      }
    }
  }
}
```

Para usar en su lugar el servidor Remote MCP para Web API, reemplaza la `oxylabs-web-api` entrada con la entrada remota de [Opción 1](#option-1-remote-mcp), en un cliente que admite servidores remotos con encabezados.

</details>

## Verifica la configuración

1. Comprueba que tus servidores aparezcan como habilitados en la lista MCP de tu cliente (en Claude Code, ejecuta `/mcp`, o en Codex, ejecuta `codex mcp list`).
2. Envía un prompt de prueba para cada producto que configures y aprueba la llamada a la herramienta si se te solicita (p. ej., `Busca en la web "oxylabs" y muestra los 3 primeros resultados.`).

{% hint style="success" %}
**Nota:** Un servidor puede aparecer conectado y mostrar sus herramientas incluso cuando la clave de API falta o es incorrecta. La clave se comprueba cuando se ejecuta una herramienta, así que solo un prompt de prueba confirma que tu configuración funciona.
{% endhint %}

## Solución de problemas

<table><thead><tr><th width="341.37109375">Problema</th><th>Solución</th></tr></thead><tbody><tr><td>El servidor no aparece en el cliente</td><td>Asegúrate de que el JSON sea válido y luego reinicia la aplicación. Si usaste un comando, ejecútalo de nuevo y revisa la lista de servidores.</td></tr><tr><td>El servidor está conectado y las herramientas se muestran, pero las llamadas a las herramientas fallan</td><td>La clave de API solo se comprueba cuando se ejecuta una herramienta. Verifica que la clave sea correcta y que estés usando credenciales para el producto correcto: Web API usa una clave de API, y Agent Browser usa un nombre de usuario y una contraseña.</td></tr><tr><td><code>Autenticación fallida (401)</code></td><td>La clave de Web API no es válida. Cópiala de nuevo desde la parte superior de tu instancia de Web API en el <a href="https://dashboard.oxylabs.io/">panel</a>.</td></tr><tr><td rowspan="2">Mensaje de que no se proporcionó ninguna clave de Web API</td><td>Remote MCP: el <code>Authorization</code> encabezado falta, o <code>OXYLABS_WEB_API_KEY</code> está vacío en el entorno donde iniciaste el cliente: establécelo y luego reinicia el cliente. </td></tr><tr><td>Autohospedado: la clave no está configurada en el entorno del servidor.</td></tr><tr><td>El servidor Remote MCP no se conectará, o tu cliente no tiene forma de establecer un encabezado</td><td>Es posible que tu cliente solo admita inicio de sesión OAuth para servidores remotos o no admita encabezados personalizados. Usa la <a href="#option-2-self-hosted-mcp">autohospedado</a> opción en su lugar.</td></tr><tr><td>El contenido de la página se corta</td><td>Las páginas que superan el límite de tokens se truncarán cuando el servidor se ejecute sobre HTTP, lo que incluye Remote MCP. Solicita solo los datos que necesitas con <code>json_prompt</code>, o ejecuta el servidor autohospedado localmente (<code>stdio</code>), lo que guarda las páginas grandes en disco para que el agente pueda leerlas en fragmentos.</td></tr><tr><td><code>oxylabs-web-api-mcp</code>: comando no encontrado (autohospedado)</td><td>Instalar <code>uv</code> y Python 3.10 o superior, instala el servidor y asegúrate de que el <code>uv</code> directorio de herramientas esté en tu <code>PATH</code> (<code>uv tool update-shell</code>).</td></tr><tr><td><code>421 Misdirected Request</code> (servidor HTTP autohospedado)</td><td>Añade el nombre de host al que se conectan los clientes en <code>MCP_ALLOWED_HOSTS</code>.</td></tr><tr><td><code>hb-mcp</code> o <code>npx</code>: comando no encontrado</td><td>Instalar <a href="https://nodejs.org/">Node.js</a> 20.0.0 o superior y <code>git</code>, y asegúrate de que estén en tu <code>PATH</code>.</td></tr><tr><td>Agent Browser no se conectará</td><td>Verifica tus credenciales y asegúrate de que tu firewall no interfiera con las conexiones WebSocket.</td></tr><tr><td>Los menús de Cursor se ven diferentes</td><td>Editar <code>mcp.json</code> directamente – las etiquetas del menú pueden cambiar entre versiones de Cursor. Revisa los registros en <strong>Salida → Registros MCP</strong>.</td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://developers.oxylabs.io/ai-workflows/es/mcp.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
