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

# Usando o servidor MCP ClickHouse com o LibreChat

> Este guia explica como configurar o LibreChat com um servidor MCP 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 LibreChat com um servidor MCP ClickHouse usando Docker
> e conectá-lo aos datasets de exemplo do ClickHouse.

<Steps>
  <Step title="Instale o Docker" id="install-docker">
    Você precisará do Docker para executar o LibreChat e o servidor MCP. Para instalar o Docker:

    1. Acesse [docker.com](https://www.docker.com/products/docker-desktop)
    2. Baixe o Docker Desktop para o seu sistema operacional
    3. Instale o Docker seguindo as instruções do seu sistema operacional
    4. Abra o Docker Desktop e verifique se ele está em execução

    <br />

    Para mais informações, consulte a [documentação do Docker](https://docs.docker.com/get-docker/).
  </Step>

  <Step title="Faça um clone do repositório do LibreChat" id="clone-librechat-repo">
    Abra um terminal (Prompt de Comando, terminal ou PowerShell) e faça o clone do
    repositório do LibreChat usando o seguinte comando:

    ```bash theme={null}
    git clone https://github.com/danny-avila/LibreChat.git
    cd LibreChat
    ```
  </Step>

  <Step title="Crie e edite o arquivo `.env`" id="create-and-edit-env-file">
    Copie o arquivo de configuração de exemplo de `.env.example` para `.env`:

    ```bash theme={null}
    cp .env.example .env
    ```

    Abra o arquivo `.env` no editor de texto de sua preferência. Você verá seções para
    vários provedores populares de LLM, incluindo OpenAI, Anthropic, AWS Bedrock etc., por
    exemplo:

    ```text title=".venv" highlight={4} theme={null}
    #============#
    # Anthropic  #
    #============#
    ANTHROPIC_API_KEY=user_provided
    # ANTHROPIC_MODELS=claude-opus-4-20250514,claude-sonnet-4-20250514,claude-3-7-sonnet-20250219,claude-3-5-sonnet-20241022,claude-3-5-haiku-20241022,claude-3-opus-20240229,claude-3-sonnet-20240229,claude-3-haiku-20240307
    # ANTHROPIC_REVERSE_PROXY=
    ```

    Substitua `user_provided` pela sua API key do provedor de LLM que você quer usar.

    <Info>
      **Usando um LLM local**

      Se você não tiver uma API key, poderá usar um LLM local, como o Ollama. Você verá como
      fazer isso mais adiante na etapa ["Instalar o Ollama"](#add-local-llm-using-ollama). Por enquanto,
      não altere o arquivo .env e continue com as próximas etapas.
    </Info>
  </Step>

  <Step title="Crie um arquivo librechat.yaml" id="create-librechat-yaml-file">
    Execute o comando a seguir para criar um novo arquivo `librechat.yaml`:

    ```bash theme={null}
    cp librechat.example.yaml librechat.yaml
    ```

    Isso cria o [arquivo de configuração](https://www.librechat.ai/docs/configuration/librechat_yaml) principal do LibreChat.
  </Step>

  <Step title="Adicione o servidor MCP do ClickHouse ao Docker Compose" id="add-clickhouse-mcp-server-to-docker-compose">
    Em seguida, vamos adicionar o servidor MCP do ClickHouse ao arquivo Docker Compose do LibreChat
    para que o LLM possa interagir com o
    [playground do ClickHouse SQL](https://sql.clickhouse.com/).

    Crie um arquivo chamado `docker-compose.override.yml` e adicione a seguinte configuração a ele:

    ```yml title="docker-compose.override.yml" theme={null}
    services:
      api:
        volumes:
          - ./librechat.yaml:/app/librechat.yaml
      mcp-clickhouse:
        image: mcp/clickhouse
        container_name: mcp-clickhouse
        ports:
          - 8001:8000
        extra_hosts:
          - "host.docker.internal:host-gateway"
        environment:
          - CLICKHOUSE_HOST=sql-clickhouse.clickhouse.com
          - CLICKHOUSE_USER=demo
          - CLICKHOUSE_PASSWORD=
          - CLICKHOUSE_MCP_SERVER_TRANSPORT=sse
          - CLICKHOUSE_MCP_BIND_HOST=0.0.0.0
    ```

    Se você quiser explorar seus próprios dados, pode fazer isso
    usando o [host, nome de usuário e senha](/docs/pt-BR/get-started/setup/cloud#connect-with-your-app)
    do seu serviço ClickHouse Cloud.

    <Card title="Comece a usar o ClickHouse Cloud" href="https://cloud.clickhouse.com/" icon="cloud">
      Se você ainda não tem uma conta Cloud, comece a usar o ClickHouse Cloud hoje mesmo e receba US\$ 300 em créditos. Ao final do teste gratuito de 30 dias, continue com um plano pré-pago conforme o uso ou entre em contato conosco para saber mais sobre nossos descontos por volume. Visite nossa página de preços para mais detalhes.
    </Card>
  </Step>

  <Step title="Configure o servidor MCP no librechat.yaml" id="configure-mcp-server-in-librechat-yaml">
    Abra `librechat.yaml` e adicione a seguinte configuração ao final do arquivo:

    ```yml theme={null}
    mcpServers:
      clickhouse-playground:
        type: sse
        url: http://host.docker.internal:8001/sse
    ```

    Isso configura o LibreChat para se conectar ao servidor MCP rodando no Docker.

    Encontre a seguinte linha:

    ```text title="librechat.yaml" theme={null}
    socialLogins: ['github', 'google', 'discord', 'openid', 'facebook', 'apple', 'saml']
    ```

    Para simplificar, vamos eliminar a necessidade de autenticação por enquanto:

    ```text title="librechat.yaml" theme={null}
    socialLogins: []
    ```
  </Step>

  <Step title="Adicione um LLM local usando o Ollama (opcional)" id="add-local-llm-using-ollama">
    ### Instale o Ollama

    Acesse o [site do Ollama](https://ollama.com/download) e instale o Ollama no seu sistema.

    Depois da instalação, você pode executar um modelo assim:

    ```bash theme={null}
    ollama run qwen3:32b
    ```

    Isso baixará o modelo para sua máquina local, caso ele ainda não esteja presente.

    Para ver uma lista de modelos, consulte a [biblioteca do Ollama](https://ollama.com/library)

    ### Configure o Ollama em librechat.yaml

    Depois que o modelo for baixado, configure-o em `librechat.yaml`:

    ```text title="librechat.yaml" theme={null}
    custom:
      - name: "Ollama"
        apiKey: "ollama"
        baseURL: "http://host.docker.internal:11434/v1/"
        models:
          default:
            [
              "qwen3:32b"
            ]
          fetch: false
        titleConvo: true
        titleModel: "current_model"
        summarize: false
        summaryModel: "current_model"
        forcePrompt: false
        modelDisplayLabel: "Ollama"
    ```
  </Step>

  <Step title="Inicie todos os serviços" id="start-all-services">
    Na pasta raiz do projeto LibreChat, execute o comando a seguir para iniciar os serviços:

    ```bash theme={null}
    docker compose up
    ```

    Aguarde até que todos os serviços estejam em pleno funcionamento.
  </Step>

  <Step title="Abra o LibreChat no navegador" id="open-librechat-in-browser">
    Quando todos os serviços estiverem em execução, abra o navegador e acesse `http://localhost:3080/`

    Crie uma conta gratuita no LibreChat, caso ainda não tenha uma, e faça login. Agora você
    deverá ver a interface do LibreChat conectada ao ClickHouse MCP server e, opcionalmente,
    ao seu LLM local.

    Na interface de chat, selecione `clickhouse-playground` como seu servidor MCP:

    <Image img="https://mintcdn.com/private-7c7dfe99/F7iOqwDUBB9E2S65/images/use-cases/AI_ML/MCP/librechat.webp?fit=max&auto=format&n=F7iOqwDUBB9E2S65&q=85&s=7ee35425c42685cb0f7415cf65cd35ad" alt="Selecione seu MCP server" size="md" width="1630" height="918" data-path="images/use-cases/AI_ML/MCP/librechat.webp" />

    Agora você pode enviar um prompt ao LLM para explorar os datasets de exemplo do ClickHouse. Experimente:

    ```text title="Prompt" theme={null}
    What datasets do you have access to?
    ```
  </Step>
</Steps>

<Note>
  Se a opção de servidor MCP não aparecer na UI do LibreChat,
  verifique se as permissões adequadas estão definidas no arquivo `librechat.yaml`.
</Note>

Se `use` estiver definido como `false` na seção `mcpServers`, em `interface`, a lista suspensa para seleção de MCP não aparecerá no chat:

```yml title="librechat.yaml" theme={null}
interface:
  mcpServers:
    use: true
    share: false
    create: false
    public: false
```
