> ## 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.

# Como usar o servidor MCP do ClickHouse com o Open WebUI

> Este guia explica como configurar o Open WebUI com o servidor MCP do ClickHouse usando 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>;
};

> Este guia explica como configurar o [Open WebUI](https://github.com/open-webui/open-webui) com um servidor MCP do ClickHouse
> e conectá-lo aos conjuntos de dados de exemplo do ClickHouse.

<Steps>
  <Step title="Instalar o uv" id="install-uv">
    Você precisará instalar o [uv](https://docs.astral.sh/uv/) para seguir as instruções deste guia.
    Se não quiser usar o uv, será necessário atualizar a config do servidor MCP para usar um gerenciador de pacotes alternativo.
  </Step>

  <Step title="Iniciar o Open WebUI" id="launch-open-webui">
    Para iniciar o Open WebUI, você pode executar o seguinte comando:

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

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

  <Step title="Configurar o servidor MCP do ClickHouse" id="configure-clickhouse-mcp-server">
    Para configurar o servidor MCP do ClickHouse, precisaremos converter o servidor MCP em endpoints OpenAPI.
    Primeiro, vamos definir variáveis de ambiente que nos permitirão conectar ao playground SQL do ClickHouse:

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

    Em seguida, podemos executar `mcpo` para criar os endpoints OpenAPI:

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

    Você pode ver uma lista dos endpoints criados acessando [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 OpenAPI" size="md" width="1455" height="759" data-path="images/use-cases/AI_ML/MCP/0_endpoints.webp" />

    Para usar esses endpoints com o Open WebUI, precisamos ir até as configurações:

    <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="Configurações do Open WebUI" size="md" width="518" height="575" data-path="images/use-cases/AI_ML/MCP/1_settings.webp" />

    Clique em `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="Ferramentas do Open WebUI" size="md" width="1829" height="1190" data-path="images/use-cases/AI_ML/MCP/2_tools_page.webp" />

    Adicione [http://localhost:8000](http://localhost:8000) como URL da ferramenta:

    <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="Ferramenta do Open WebUI" size="md" width="1838" height="1201" data-path="images/use-cases/AI_ML/MCP/3_add_tool.webp" />

    Depois de fazer isso, deveremos ver um `1` ao lado do ícone da ferramenta na 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="Ferramentas disponíveis no Open WebUI" size="md" width="1495" height="229" data-path="images/use-cases/AI_ML/MCP/4_tools_available.webp" />

    Se clicarmos no ícone da ferramenta, poderemos listar as ferramentas disponíveis:

    <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 ferramentas do 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 o OpenAI" id="configure-openai">
    Por padrão, o Open WebUI funciona com modelos do Ollama, mas também podemos adicionar endpoints compatíveis com OpenAI.
    Eles são configurados pelo menu de configurações, mas desta vez precisamos clicar na aba `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="Conexões do Open WebUI" size="md" width="1824" height="1184" data-path="images/use-cases/AI_ML/MCP/6_connections.webp" />

    Vamos adicionar o endpoint e nossa chave da 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 - Adicionar OpenAI como conexão" size="md" width="1821" height="1192" data-path="images/use-cases/AI_ML/MCP/7_add_connection.webp" />

    Os modelos da OpenAI ficarão disponíveis no menu 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="Conversar com o servidor MCP do ClickHouse no Open WebUI" id="chat-to-clickhouse-mcp-server">
    Em seguida, podemos iniciar uma conversa, e o Open WebUI acionará o servidor MCP se necessário:

    <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 - Conversar com o servidor MCP do ClickHouse" size="md" width="2449" height="1839" data-path="images/use-cases/AI_ML/MCP/9_conversation.webp" />
  </Step>
</Steps>
