> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-detect-table-modification.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Uso de ClickHouse MCP server con Open WebUI

> Esta guía explica cómo configurar Open WebUI con un ClickHouse MCP server 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 datasets de ejemplo de ClickHouse.

<Steps>
  <Step>
    ## Instalar uv

    Necesitarás 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>
    ## Iniciar 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>
    ## Configurar 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-detect-table-modification/pp61YI9DMmfgXVsV/images/use-cases/AI_ML/MCP/0_endpoints.webp?fit=max&auto=format&n=pp61YI9DMmfgXVsV&q=85&s=aa16a6c82ac5d5b989a980011a1c0de4" 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-detect-table-modification/pp61YI9DMmfgXVsV/images/use-cases/AI_ML/MCP/1_settings.webp?fit=max&auto=format&n=pp61YI9DMmfgXVsV&q=85&s=27a96b58fbab21d72274e479ec8911a4" 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-detect-table-modification/pp61YI9DMmfgXVsV/images/use-cases/AI_ML/MCP/2_tools_page.webp?fit=max&auto=format&n=pp61YI9DMmfgXVsV&q=85&s=2b3071c2901fb3daa0d61e9252e57a14" 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-detect-table-modification/pp61YI9DMmfgXVsV/images/use-cases/AI_ML/MCP/3_add_tool.webp?fit=max&auto=format&n=pp61YI9DMmfgXVsV&q=85&s=3fd5493b9ba5e58cb1d4005fae78efba" 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-detect-table-modification/pp61YI9DMmfgXVsV/images/use-cases/AI_ML/MCP/4_tools_available.webp?fit=max&auto=format&n=pp61YI9DMmfgXVsV&q=85&s=3dc06ad784894cb2a3b2b5f4937feaeb" alt="herramientas disponibles de 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-detect-table-modification/pp61YI9DMmfgXVsV/images/use-cases/AI_ML/MCP/5_list_of_tools.webp?fit=max&auto=format&n=pp61YI9DMmfgXVsV&q=85&s=f2e6dd31561cba93b848f98007231d2d" 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>
    ## Configurar OpenAI

    De forma predeterminada, Open WebUI funciona con modelos de Ollama, pero también podemos añadir endpoints compatibles con OpenAI.
    Esto se configura 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-detect-table-modification/pp61YI9DMmfgXVsV/images/use-cases/AI_ML/MCP/6_connections.webp?fit=max&auto=format&n=pp61YI9DMmfgXVsV&q=85&s=16f7771e6e98708d235c71b864a1e732" 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-detect-table-modification/pp61YI9DMmfgXVsV/images/use-cases/AI_ML/MCP/7_add_connection.webp?fit=max&auto=format&n=pp61YI9DMmfgXVsV&q=85&s=a0eb9a9abdd49e4c9d437deb0d0d0f9f" 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 entonces disponibles en el menú superior:

    <Image img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/pp61YI9DMmfgXVsV/images/use-cases/AI_ML/MCP/8_openai_models_more.webp?fit=max&auto=format&n=pp61YI9DMmfgXVsV&q=85&s=500247a28f3bc62cc924de81c575d422" 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>
    ## Chatear con ClickHouse MCP server desde Open WebUI

    Después, podremos tener una conversación y Open WebUI llamará al MCP server si es necesario:

    <Image img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/pp61YI9DMmfgXVsV/images/use-cases/AI_ML/MCP/9_conversation.webp?fit=max&auto=format&n=pp61YI9DMmfgXVsV&q=85&s=3f86fc1b65c54dec828ba243ef7993c0" 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>
