> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Uso del servidor MCP de ClickHouse con Open WebUI

> Esta guía explica cómo configurar Open WebUI con un servidor MCP de ClickHouse mediante Docker.

export const Image = ({img, alt, size = "lg"}) => {
  const normalizedSize = ["sm", "md", "lg"].includes(size) ? size : "lg";
  return <div className={`ch-image-${normalizedSize}`}>
      <Frame>
        <img src={img} alt={alt} />
      </Frame>
    </div>;
};

> Esta guía explica cómo configurar [Open WebUI](https://github.com/open-webui/open-webui) con un ClickHouse MCP server
> y conectarlo a los conjuntos de datos de ejemplo de ClickHouse.

<Steps>
  <Step title="Instalar uv" id="install-uv">
    Tendrás que instalar [uv](https://docs.astral.sh/uv/) para seguir las instrucciones de esta guía.
    Si no quieres usar uv, tendrás que actualizar la configuración del MCP server para usar otro gestor de paquetes.
  </Step>

  <Step title="Iniciar Open WebUI" id="launch-open-webui">
    Para iniciar Open WebUI, puedes ejecutar el siguiente comando:

    ```bash theme={null}
    uv run --with open-webui open-webui serve
    ```

    Ve a [http://localhost:8080/](http://localhost:8080/) para ver la UI.
  </Step>

  <Step title="Configurar ClickHouse MCP server" id="configure-clickhouse-mcp-server">
    Para configurar el ClickHouse MCP server, tendremos que convertir el MCP server en endpoints de Open API.
    Primero, definamos variables de entorno que nos permitirán conectarnos al Playground de SQL de ClickHouse:

    ```bash theme={null}
    export CLICKHOUSE_HOST="sql-clickhouse.clickhouse.com"
    export CLICKHOUSE_USER="demo"
    export CLICKHOUSE_PASSWORD=""
    ```

    Después, podemos ejecutar `mcpo` para crear los endpoints de Open API:

    ```bash theme={null}
    uvx mcpo --port 8000 -- uv run --with mcp-clickhouse --python 3.10 mcp-clickhouse
    ```

    Puedes ver una lista de los endpoints creados en [http://localhost:8000/docs](http://localhost:8000/docs)

    <Image img="https://mintcdn.com/private-7c7dfe99/F7iOqwDUBB9E2S65/images/use-cases/AI_ML/MCP/0_endpoints.webp?fit=max&auto=format&n=F7iOqwDUBB9E2S65&q=85&s=d7c649716695f00628ee8657fad6a8a1" alt="Endpoints de Open API" size="md" width="1455" height="759" data-path="images/use-cases/AI_ML/MCP/0_endpoints.webp" />

    Para usar estos endpoints con Open WebUI, tenemos que ir a la configuración:

    <Image img="https://mintcdn.com/private-7c7dfe99/F7iOqwDUBB9E2S65/images/use-cases/AI_ML/MCP/1_settings.webp?fit=max&auto=format&n=F7iOqwDUBB9E2S65&q=85&s=696f96fff4092e0684b83dfd4237a979" alt="Configuración de Open WebUI" size="md" width="518" height="575" data-path="images/use-cases/AI_ML/MCP/1_settings.webp" />

    Haz clic en `Tools`:

    <Image img="https://mintcdn.com/private-7c7dfe99/F7iOqwDUBB9E2S65/images/use-cases/AI_ML/MCP/2_tools_page.webp?fit=max&auto=format&n=F7iOqwDUBB9E2S65&q=85&s=d0599baa28fbebaf80301d11f2f59504" alt="Herramientas de Open WebUI" size="md" width="1829" height="1190" data-path="images/use-cases/AI_ML/MCP/2_tools_page.webp" />

    Añade [http://localhost:8000](http://localhost:8000) como URL de la herramienta:

    <Image img="https://mintcdn.com/private-7c7dfe99/F7iOqwDUBB9E2S65/images/use-cases/AI_ML/MCP/3_add_tool.webp?fit=max&auto=format&n=F7iOqwDUBB9E2S65&q=85&s=dcf958b9eb52ad1b8b19e95c2b7428e6" alt="Herramienta de Open WebUI" size="md" width="1838" height="1201" data-path="images/use-cases/AI_ML/MCP/3_add_tool.webp" />

    Una vez hecho esto, deberíamos ver un `1` junto al icono de la herramienta en la barra de chat:

    <Image img="https://mintcdn.com/private-7c7dfe99/F7iOqwDUBB9E2S65/images/use-cases/AI_ML/MCP/4_tools_available.webp?fit=max&auto=format&n=F7iOqwDUBB9E2S65&q=85&s=60726c02b459783ec9309a197520314c" alt="Herramientas disponibles en Open WebUI" size="md" width="1495" height="229" data-path="images/use-cases/AI_ML/MCP/4_tools_available.webp" />

    Si hacemos clic en el icono de la herramienta, podremos ver la lista de herramientas disponibles:

    <Image img="https://mintcdn.com/private-7c7dfe99/F7iOqwDUBB9E2S65/images/use-cases/AI_ML/MCP/5_list_of_tools.webp?fit=max&auto=format&n=F7iOqwDUBB9E2S65&q=85&s=06cbfa40d3de4e94cfd5151b39ad897f" alt="Lista de herramientas de Open WebUI" size="md" width="1373" height="711" data-path="images/use-cases/AI_ML/MCP/5_list_of_tools.webp" />
  </Step>

  <Step title="Configurar OpenAI" id="configure-openai">
    De forma predeterminada, Open WebUI funciona con modelos de Ollama, pero también podemos añadir endpoints compatibles con OpenAI.
    Estos se configuran desde el menú de configuración, pero esta vez tenemos que hacer clic en la pestaña `Connections`:

    <Image img="https://mintcdn.com/private-7c7dfe99/F7iOqwDUBB9E2S65/images/use-cases/AI_ML/MCP/6_connections.webp?fit=max&auto=format&n=F7iOqwDUBB9E2S65&q=85&s=15babadb04a4cec8f98e5ad0c5df0347" alt="Conexiones de Open WebUI" size="md" width="1824" height="1184" data-path="images/use-cases/AI_ML/MCP/6_connections.webp" />

    Añadamos el endpoint y nuestra clave de OpenAI:

    <Image img="https://mintcdn.com/private-7c7dfe99/F7iOqwDUBB9E2S65/images/use-cases/AI_ML/MCP/7_add_connection.webp?fit=max&auto=format&n=F7iOqwDUBB9E2S65&q=85&s=0404fce2bd39187a801fa14643ed6e40" alt="Open WebUI - Añadir OpenAI como conexión" size="md" width="1821" height="1192" data-path="images/use-cases/AI_ML/MCP/7_add_connection.webp" />

    Los modelos de OpenAI estarán disponibles en el menú superior:

    <Image img="https://mintcdn.com/private-7c7dfe99/F7iOqwDUBB9E2S65/images/use-cases/AI_ML/MCP/8_openai_models_more.webp?fit=max&auto=format&n=F7iOqwDUBB9E2S65&q=85&s=e829a594b93d98e3e3d52667f567d9a6" alt="Open WebUI - Modelos" size="md" width="1574" height="1248" data-path="images/use-cases/AI_ML/MCP/8_openai_models_more.webp" />
  </Step>

  <Step title="Chatear con ClickHouse MCP server desde Open WebUI" id="chat-to-clickhouse-mcp-server">
    A continuación, podremos iniciar una conversación y Open WebUI llamará al MCP server si es necesario:

    <Image img="https://mintcdn.com/private-7c7dfe99/F7iOqwDUBB9E2S65/images/use-cases/AI_ML/MCP/9_conversation.webp?fit=max&auto=format&n=F7iOqwDUBB9E2S65&q=85&s=177845ba46da7b871bd637081d7275b0" alt="Open WebUI - Chatear con ClickHouse MCP server" size="md" width="2449" height="1839" data-path="images/use-cases/AI_ML/MCP/9_conversation.webp" />
  </Step>
</Steps>
