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

# Использование MCP-сервера ClickHouse с LibreChat

> В этом руководстве показано, как настроить LibreChat с MCP-сервером ClickHouse с помощью 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>;
};

> В этом руководстве показано, как настроить LibreChat с MCP-сервером ClickHouse с помощью Docker
> и подключить его к демонстрационным наборам данных ClickHouse.

<Steps>
  <Step title="Установите Docker" id="install-docker">
    Для запуска LibreChat и MCP-сервера вам понадобится Docker. Чтобы установить Docker:

    1. Перейдите на [docker.com](https://www.docker.com/products/docker-desktop)
    2. Скачайте Docker Desktop для своей операционной системы
    3. Установите Docker, следуя инструкциям для своей операционной системы
    4. Откройте Docker Desktop и убедитесь, что он запущен

    <br />

    Дополнительные сведения см. в [документации Docker](https://docs.docker.com/get-docker/).
  </Step>

  <Step title="Клонируйте репозиторий LibreChat" id="clone-librechat-repo">
    Откройте терминал (командную строку или PowerShell) и клонируйте
    репозиторий LibreChat с помощью следующей команды:

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

  <Step title="Создайте и отредактируйте файл `.env`" id="create-and-edit-env-file">
    Скопируйте пример файла конфигурации из `.env.example` в `.env`:

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

    Откройте файл `.env` в любом удобном для вас текстовом редакторе. Вы увидите разделы для
    многих популярных провайдеров LLM, включая OpenAI, Anthropic, AWS Bedrock и т. д., например:

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

    Замените `user_provided` на API-ключ провайдера LLM, который вы хотите использовать.

    <Info>
      **Использование локальной LLM**

      Если у вас нет API-ключа, можно использовать локальную LLM, например Ollama. Ниже
      показано, как это сделать, на шаге ["Установка Ollama"](#add-local-llm-using-ollama). Пока
      не изменяйте файл .env и переходите к следующим шагам.
    </Info>
  </Step>

  <Step title="Создайте файл librechat.yaml" id="create-librechat-yaml-file">
    Выполните следующую команду, чтобы создать новый файл `librechat.yaml`:

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

    Это создаст основной [файл конфигурации](https://www.librechat.ai/docs/configuration/librechat_yaml) для LibreChat.
  </Step>

  <Step title="Добавьте MCP-сервер ClickHouse в Docker Compose" id="add-clickhouse-mcp-server-to-docker-compose">
    Далее добавим MCP-сервер ClickHouse в файл Docker Compose для LibreChat,
    чтобы LLM могла взаимодействовать с
    [песочницей ClickHouse SQL](https://sql.clickhouse.com/).

    Создайте файл `docker-compose.override.yml` и добавьте в него следующую конфигурацию:

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

    Если вы хотите изучить собственные данные, это можно сделать,
    используя [хост, имя пользователя и пароль](/docs/ru/get-started/setup/cloud#connect-with-your-app)
    своего сервиса ClickHouse Cloud.

    <Card title="Начать работу с ClickHouse Cloud" href="https://cloud.clickhouse.com/" icon="cloud">
      Если у вас ещё нет аккаунта Cloud, начните работу с ClickHouse Cloud уже сегодня и получите \$300 кредитов. По окончании 30-дневного бесплатного пробного периода вы сможете перейти на тариф с оплатой по мере использования или связаться с нами, чтобы узнать больше о наших скидках в зависимости от объёма. Подробности см. на странице с тарифами.
    </Card>
  </Step>

  <Step title="Настройка MCP Server в librechat.yaml" id="configure-mcp-server-in-librechat-yaml">
    Откройте `librechat.yaml` и добавьте в конец файла следующую конфигурацию:

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

    Это настраивает LibreChat для подключения к MCP-серверу, работающему в Docker.

    Найдите следующую строку:

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

    Для простоты пока отключим аутентификацию:

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

  <Step title="Добавление локальной LLM с помощью Ollama (необязательно)" id="add-local-llm-using-ollama">
    ### Установка Ollama

    Перейдите на [сайт Ollama](https://ollama.com/download) и установите Ollama для своей системы.

    После установки вы сможете запустить модель следующим образом:

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

    Это скачает модель на ваш локальный компьютер, если её там ещё нет.

    Список моделей см. в [библиотеке Ollama](https://ollama.com/library)

    ### Настройка Ollama в librechat.yaml

    После загрузки модели укажите её в `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="Запустите все сервисы" id="start-all-services">
    В корневой папке проекта LibreChat выполните следующую команду, чтобы запустить все сервисы:

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

    Подождите, пока все сервисы полностью не заработают.
  </Step>

  <Step title="Откройте LibreChat в браузере" id="open-librechat-in-browser">
    Когда все сервисы будут запущены, откройте браузер и перейдите по адресу `http://localhost:3080/`

    Создайте бесплатную учетную запись LibreChat, если у вас ее еще нет, и войдите в систему. Теперь
    вы должны увидеть интерфейс LibreChat, подключенный к MCP-серверу ClickHouse, а при желании —
    к вашей локальной LLM.

    В интерфейсе чата выберите `clickhouse-playground` в качестве 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="Выберите MCP-сервер" size="md" width="1630" height="918" data-path="images/use-cases/AI_ML/MCP/librechat.webp" />

    Теперь вы можете дать LLM промпт для изучения примерных наборов данных ClickHouse. Попробуйте:

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

<Note>
  Если параметр MCP-сервера не отображается в интерфейсе LibreChat,
  проверьте, что в файле `librechat.yaml` заданы правильные разрешения.
</Note>

Если в разделе `mcpServers` внутри `interface` для `use` установлено значение `false`, в чате не будет отображаться раскрывающийся список выбора MCP:

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