Перейти к основному содержанию
Перейти к основному содержанию

Использование сервера ClickHouse MCP совместно с Ollama

В этом руководстве объясняется, как использовать сервер ClickHouse MCP совместно с Ollama.

Установите Ollama

Ollama — это библиотека для запуска больших языковых моделей (LLM) на вашем компьютере. У неё широкий выбор моделей, и ей легко пользоваться.

Вы можете скачать Ollama для Mac, Windows или Linux со страницы загрузки.

После запуска Ollama стартует локальный сервер в фоновом режиме, который вы можете использовать для запуска моделей. Либо вы можете запустить сервер вручную командой ollama serve.

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

ollama pull qwen3:8b

Это загрузит модель на ваш локальный компьютер, если её там ещё нет. После загрузки модели вы можете запустить её следующим образом:

ollama run qwen3:8b
Примечание

Только модели, которые поддерживают инструменты, будут работать с серверами MCP.

Мы можем вывести список загруженных нами моделей следующим образом:

ollama ls
ИМЯ                        ID              РАЗМЕР    ИЗМЕНЕНО
qwen3:latest               500a1f067a9f    5.2 GB    3 дня назад

Мы можем использовать следующую команду, чтобы получить дополнительную информацию о модели, которую мы скачали:

ollama show qwen3
  Модель
    архитектура        qwen3
    число параметров   8.2B
    длина контекста    40960
    длина эмбеддинга   4096
    квантование        Q4_K_M

  Возможности
    завершение
    инструменты

  Параметры
    repeat_penalty    1
    stop              "<|im_start|>"
    stop              "<|im_end|>"
    temperature       0.6
    top_k             20
    top_p             0.95

  Лицензия
    Apache License
    Version 2.0, January 2004

Из этого вывода видно, что у модели qwen3 по умолчанию чуть больше 8 миллиардов параметров.

Установите MCPHost

На момент написания этой инструкции (июль 2025 года) нет встроенной поддержки использования Ollama с MCP Servers. Однако мы можем использовать MCPHost, чтобы запускать модели Ollama с MCP Servers.

MCPHost — это приложение, написанное на Go, поэтому убедитесь, что Go установлен на вашем компьютере. Затем вы можете установить MCPHost, выполнив следующую команду:

go install github.com/mark3labs/mcphost@latest

Исполняемый файл будет установлен в ~/go/bin, поэтому нужно убедиться, что этот каталог входит в переменную окружения PATH.

Настройка сервера ClickHouse MCP

Мы можем настраивать серверы MCP с помощью MCPHost в файлах YAML или JSON. MCPHost будет искать файлы конфигурации в вашем домашнем каталоге в следующем порядке:

  1. .mcphost.yml или .mcphost.json (предпочтительно)
  2. .mcp.yml или .mcp.json (для обратной совместимости)

Используется синтаксис, аналогичный тому, что применяется в стандартном конфигурационном файле MCP. Ниже приведён пример конфигурации сервера ClickHouse MCP, который мы сохраним в файл ~/.mcphost.json:

{
  "mcpServers": {
    "mcp-ch": {
      "type": "local",
      "command": ["uv",
        "run",
        "--with",
        "mcp-clickhouse",
        "--python",
        "3.10",
        "mcp-clickhouse"
      ]
    }
  }
}

Основное отличие от стандартного конфигурационного файла MCP заключается в том, что нам нужно указать type. Этот параметр используется для указания типа транспорта, который использует сервер MCP.

  • local → транспорт stdio
  • remote → потоковый транспорт
  • builtin → внутрипроцессный (inprocess) транспорт

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

export CLICKHOUSE_HOST=sql-clickhouse.clickhouse.com
export CLICKHOUSE_USER=demo
export CLICKHOUSE_PASSWORD=""
Примечание

Теоретически вы должны иметь возможность указать эти переменные под ключом environment в конфигурационном файле MCP, но на практике это не работает.

Running MCPHost

После того как вы настроили сервер ClickHouse MCP, вы можете запустить MCPHost, выполнив следующую команду:

mcphost --model ollama:qwen3

Или, если вы хотите использовать определённый файл конфигурации:

mcphost --model ollama:qwen3 --config ~/.mcphost.json
Примечание

Если вы не укажете параметр --model, MCPHost будет искать в переменных окружения ANTHROPIC_API_KEY и использовать модель anthropic:claude-sonnet-4-20250514.

Вы должны увидеть следующий вывод:

  ┃                                                                                     ┃
  ┃  Модель загружена: ollama (qwen3)                                                   ┃
  ┃   MCPHost System (09:52)                                                            ┃
  ┃                                                                                     ┃

  ┃                                                                                     ┃
  ┃  Модель успешно загружена на GPU                                                    ┃
  ┃   MCPHost System (09:52)                                                            ┃
  ┃                                                                                     ┃

  ┃                                                                                     ┃
  ┃  Загружено 3 инструмента с MCP-серверов                                             ┃
  ┃   MCPHost System (09:52)                                                            ┃
  ┃                                                                                     ┃

  Введите запрос (введите /help для списка команд, Ctrl+C для выхода, ESC для отмены генерации)

Мы можем использовать команду /servers, чтобы вывести список MCP-серверов:

  ┃                                                                                      ┃
  ┃  ## Настроенные MCP-серверы                                                          ┃
  ┃                                                                                      ┃
  ┃  1. mcp-ch                                                                           ┃
  ┃   MCPHost System (10:00)                                                             ┃
  ┃

А команду /tools — чтобы вывести список доступных инструментов:

  ┃  ## Доступные инструменты                                                            ┃
  ┃                                                                                      ┃
  ┃  1. mcp-ch__list_databases                                                           ┃
  ┃  2. mcp-ch__list_tables                                                              ┃
  ┃  3. mcp-ch__run_select_query

После этого мы можем задавать модели вопросы о базах данных и таблицах, доступных в песочнице ClickHouse SQL.

По нашему опыту, при использовании более компактных моделей (модель qwen3 по умолчанию имеет 8 миллиардов параметров) вам нужно более точно формулировать, что вы хотите, чтобы модель сделала. Например, вам нужно будет явно попросить её вывести список баз данных и таблиц, а не сразу просить выполнить запрос к определённой таблице. Частично уменьшить эту проблему можно, используя более крупную модель (например, qwen3:14b), но она будет работать медленнее на пользовательском оборудовании.