Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

为 Ollama 配置 ClickHouse MCP 服务器

本指南介绍如何将 ClickHouse MCP 服务器与 Ollama 配合使用。

安装 Ollama

Ollama 是一个可让你在本机运行大型语言模型 (LLM) 的库。 它提供了丰富的模型选择,而且使用起来很简单。

你可以从下载页面下载适用于 Mac、Windows 或 Linux 的 Ollama。

运行 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 模型参数略多于 80 亿。

安装 MCPHost

在撰写本文时 (2025 年 7 月) ,尚无可将 Ollama 与 MCP 服务器配合使用的原生功能。 不过,我们可以使用 MCPHost 让 Ollama 模型与 MCP 服务器配合运行。

MCPHost 是一个 Go 应用程序,因此你需要确保本机已安装 Go。 然后,你可以运行以下命令来安装 MCPHost:

go install github.com/mark3labs/mcphost@latest

该可执行文件会安装到 ~/go/bin 下,因此需要确保该目录已加入 PATH。

配置 ClickHouse MCP 服务器

我们可以在 YAML 或 JSON 文件中使用 MCPHost 来配置 MCP 服务器。 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 配置文件相比,主要区别在于需要指定一个 typetype 用于表明 MCP 服务器使用的传输类型。

  • local → stdio 传输
  • remote → 流式传输
  • builtin → 进程内传输

我们还需要配置以下环境变量:

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

运行 MCPHost

完成 ClickHouse MCP 服务器配置后,可通过运行以下命令启动 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 Playground 中可用的数据库/表向模型提问。

根据我们的经验,使用较小的模型时 (默认的 qwen3 模型有 80 亿个参数) ,你需要更明确地说明希望它做什么。 例如,你需要明确要求它列出数据库和表,而不是一开始就让它查询某个特定的表。 你可以通过使用更大的模型 (例如 qwen3:14b) 在一定程度上缓解这个问题,但它在消费级硬件上的运行速度会更慢。

Navigation