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

> Esta guía explica cómo configurar LibreChat 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 LibreChat con un servidor MCP de ClickHouse mediante Docker
> y conectarlo a los datos de ejemplo de ClickHouse.

<Steps>
  <Step title="Instalar Docker" id="install-docker">
    Necesitarás Docker para ejecutar LibreChat y el servidor MCP. Para instalar Docker:

    1. Visita [docker.com](https://www.docker.com/products/docker-desktop)
    2. Descarga Docker Desktop para tu sistema operativo
    3. Instala Docker siguiendo las instrucciones de tu sistema operativo
    4. Abre Docker Desktop y asegúrate de que esté en funcionamiento

    <br />

    Para más información, consulta la [documentación de Docker](https://docs.docker.com/get-docker/).
  </Step>

  <Step title="Clona el repositorio de LibreChat" id="clone-librechat-repo">
    Abre una terminal (símbolo del sistema, terminal o PowerShell) y clona el
    repositorio de LibreChat con el siguiente comando:

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

  <Step title="Crear y editar el archivo .env" id="create-and-edit-env-file">
    Copie el archivo de configuración de ejemplo desde `.env.example` a `.env`:

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

    Abra el archivo `.env` en su editor de texto favorito. Verá secciones para
    varios proveedores de LLM populares, incluidos OpenAI, Anthropic, AWS Bedrock, por
    ejemplo:

    ```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=
    ```

    Reemplaza `user_provided` por tu API key del proveedor de LLM que vayas a usar.

    <Info>
      **Usar un LLM local**

      Si no tienes una API key, puedes usar un LLM local como Ollama. Verás cómo
      hacerlo más adelante en el paso ["Instalar Ollama"](#add-local-llm-using-ollama). Por ahora,
      no modifiques el archivo .env y continúa con los pasos siguientes.
    </Info>
  </Step>

  <Step title="Crea un archivo `librechat.yaml`" id="create-librechat-yaml-file">
    Ejecuta el siguiente comando para crear un archivo `librechat.yaml`:

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

    Esto crea el [archivo de configuración principal](https://www.librechat.ai/docs/configuration/librechat_yaml) de LibreChat.
  </Step>

  <Step title="Agregar ClickHouse MCP server a Docker Compose" id="add-clickhouse-mcp-server-to-docker-compose">
    A continuación, agregaremos el ClickHouse MCP server al archivo de Docker Compose de LibreChat
    para que el LLM pueda interactuar con el
    [Playground de ClickHouse SQL](https://sql.clickhouse.com/).

    Crea un archivo llamado `docker-compose.override.yml` y agrega la siguiente configuración:

    ```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
    ```

    Si quieres explorar tus propios datos, puedes hacerlo
    usando el [host, nombre de usuario y contraseña](/docs/es/get-started/setup/cloud#connect-with-your-app)
    de tu propio servicio de ClickHouse Cloud.

    <Card title="Empieza con ClickHouse Cloud" href="https://cloud.clickhouse.com/" icon="cloud">
      Si aún no tienes una cuenta de Cloud, empieza hoy mismo con ClickHouse Cloud y recibe \$300 en créditos. Al finalizar tu prueba gratuita de 30 días, puedes continuar con un plan Pay-As-You-Go o contactarnos para obtener más información sobre nuestros descuentos por volumen. Visita nuestra página de precios para conocer más detalles.
    </Card>
  </Step>

  <Step title="Configurar el servidor MCP en librechat.yaml" id="configure-mcp-server-in-librechat-yaml">
    Abre `librechat.yaml` y coloca la siguiente configuración al final del archivo:

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

    Esto configura LibreChat para conectarse al servidor MCP que se ejecuta en Docker.

    Busca la siguiente línea:

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

    Para simplificar, por ahora no será necesario autenticarse:

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

  <Step title="Añade un LLM local con Ollama (opcional)" id="add-local-llm-using-ollama">
    ### Instala Ollama

    Ve al [sitio web de Ollama](https://ollama.com/download) e instala Ollama en tu sistema.

    Una vez instalado, puedes ejecutar un modelo así:

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

    Esto descargará el modelo en tu máquina local si aún no está disponible.

    Para ver una lista de modelos, consulta la [biblioteca de Ollama](https://ollama.com/library)

    ### Configura Ollama en librechat.yaml

    Una vez que el modelo se haya descargado, configúralo en `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="Inicia todos los servicios" id="start-all-services">
    Desde la raíz de la carpeta del proyecto LibreChat, ejecuta el siguiente comando para iniciar los servicios:

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

    Espere hasta que todos los servicios estén en ejecución.
  </Step>

  <Step title="Abre LibreChat en tu navegador" id="open-librechat-in-browser">
    Una vez que todos los servicios estén en funcionamiento, abre tu navegador y ve a `http://localhost:3080/`

    Crea una cuenta gratuita de LibreChat si todavía no tienes una e inicia sesión. Ahora deberías
    ver la interfaz de LibreChat conectada al ClickHouse MCP server y, opcionalmente,
    a tu LLM local.

    En la interfaz de chat, selecciona `clickhouse-playground` como tu 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="Selecciona tu servidor MCP" size="md" width="1630" height="918" data-path="images/use-cases/AI_ML/MCP/librechat.webp" />

    Ahora puedes pedirle al LLM que explore los conjuntos de datos de ejemplo de ClickHouse. Pruébalo:

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

<Note>
  Si la opción del servidor MCP no aparece en la UI de LibreChat,
  comprueba que los permisos correctos estén configurados en tu archivo `librechat.yaml`.
</Note>

Si `use` está establecido en `false` en la sección `mcpServers` dentro de `interface`, el menú desplegable para seleccionar MCP no aparecerá en el chat:

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