Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Настройка MCP-сервера ClickHouse для работы с Ollama

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

Установка Ollama

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

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

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

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

ollama pull qwen3:8b

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

ollama run qwen3:8b

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

ollama ls
NAME                       ID              SIZE      MODIFIED
qwen3:latest               500a1f067a9f    5.2 GB    3 days ago

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

ollama show qwen3
  Model
    architecture        qwen3
    parameters          8.2B
    context length      40960
    embedding length    4096
    quantization        Q4_K_M

  Capabilities
    completion
    tools

  Parameters
    repeat_penalty    1
    stop              "<|im_start|>"
    stop              "<|im_end|>"
    temperature       0.6
    top_k             20
    top_p             0.95

  License
    Apache License
    Version 2.0, January 2004

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

Установка MCPHost

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

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

go install github.com/mark3labs/mcphost@latest

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

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

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

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

Он использует синтаксис, похожий на синтаксис стандартного файла конфигурации MCP. Вот пример конфигурации MCP-сервера ClickHouse, которую мы сохраним в файл ~/.mcphost.json:

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

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

  • local → транспорт stdio
  • remote → потоковый транспорт
  • builtin → транспорт inprocess

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

export CLICKHOUSE_HOST=sql-clickhouse.clickhouse.com
export CLICKHOUSE_USER=demo
export CLICKHOUSE_PASSWORD=""

Запуск MCPHost

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

mcphost --model ollama:qwen3

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

mcphost --model ollama:qwen3 --config ~/.mcphost.json 

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

  ┃                                                                                     ┃
  ┃  Model loaded: ollama (qwen3)                                                       ┃
  ┃   MCPHost System (09:52)                                                            ┃
  ┃                                                                                     ┃

  ┃                                                                                     ┃
  ┃  Model loaded successfully on GPU                                                   ┃
  ┃   MCPHost System (09:52)                                                            ┃
  ┃                                                                                     ┃

  ┃                                                                                     ┃
  ┃  Loaded 3 tools from MCP servers                                                    ┃
  ┃   MCPHost System (09:52)                                                            ┃
  ┃                                                                                     ┃

  Enter your prompt (Type /help for commands, Ctrl+C to quit, ESC to cancel generation)

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

  ┃                                                                                      ┃
  ┃  ## Configured MCP servers                                                           ┃
  ┃                                                                                      ┃
  ┃  1. mcp-ch                                                                           ┃
  ┃   MCPHost System (10:00)                                                             ┃

И /tools, чтобы посмотреть список доступных инструментов:

  ┃  ## Available Tools                                                                  ┃
  ┃                                                                                      ┃
  ┃  1. mcp-ch__list_databases                                                           ┃
  ┃  2. mcp-ch__list_tables                                                              ┃
  ┃  3. mcp-ch__run_select_query

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

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

Navigation