本指南介绍如何将 ClickHouse MCP 服务器与 Ollama 配合使用。
安装 Ollama
Ollama 是一个可让你在本机运行大型语言模型 (LLM) 的库。 它提供了丰富的模型选择,而且使用起来很简单。
你可以从下载页面下载适用于 Mac、Windows 或 Linux 的 Ollama。
运行 Ollama 后,它会在后台启动一个本地服务器,你可以用它来运行模型。
或者,你也可以通过运行 ollama serve 手动启动服务器。
安装完成后,你可以像这样将模型拉取到本机:
ollama pull qwen3:8b如果本地机器上还没有该模型,这会将其拉取到本地。 下载完成后,你可以像这样运行该模型:
ollama run qwen3:8b我们可以像这样列出已下载的模型:
ollama lsNAME 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 亿。
配置 ClickHouse MCP 服务器
我们可以在 YAML 或 JSON 文件中使用 MCPHost 来配置 MCP 服务器。 MCPHost 会按以下顺序在你的主目录中查找配置文件:
.mcphost.yml或.mcphost.json(推荐).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。
type 用于表明 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) 在一定程度上缓解这个问题,但它在消费级硬件上的运行速度会更慢。