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

Использование сервера 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
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 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.

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

  ┃                                                                                     ┃
  ┃  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), но она будет работать медленнее на пользовательском оборудовании.