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

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

Этот гид объясняет, как использовать сервер ClickHouse MCP с Ollama.

Установка Ollama

Ollama — это библиотека для запуска Больших Языковых Моделей (LLMs) на вашем собственном компьютере. Она предлагает широкий выбор моделей и проста в использовании.

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

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

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

ollama pull qwen3:8b

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

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

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

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

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, поэтому нам нужно убедиться, что этот каталог находится в нашем пути.

Настройка сервера 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 → транспорт внутри процесса

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

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

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

Запуск 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.

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

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

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

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