Ollama 接 MCP:配置文件、启动与连接验证

Ollama 接 MCP,是让本地模型调用外部工具与数据源。

截至 2026-09-24,ollama-mcp-bridge 的 Quick Start 已把接入流程明确为三部分:Ollama 正常运行、MCP 配置至少包含一个服务器、桥接程序能够启动。现在值得按这套路径排查,是因为配置文件位置、相对路径解析和验证方式最容易让 MCP 看起来“已经启动”,实际却没有加载任何工具。

先选对接入方式

MCP(Model Context Protocol,模型上下文协议)是一套让 AI 应用调用外部工具的协议。Ollama 负责运行模型;MCP 服务器负责真正执行查天气、读数据库等操作;二者之间还需要一个能够发现工具并传递调用请求的连接层。

目前有两种常见路径:

方案 配置位置 启动方式 适合谁
Ollama 原生启动参数 ~/.config/ollama/mcp-config.json ollama serve --mcp-config ~/.config/ollama/mcp-config.json Ollama 版本已直接支持 MCP,且希望通过 ollama serve 加载工具
ollama-mcp-bridge 桥接 桥接程序工作目录中的 mcp-config.json 先执行 ollama serve,再执行 ollama-mcp-bridge 已有 Ollama 环境,希望把 MCP 工具暴露给模型并单独调整桥接端口

第一条路径来自 mongo-migration-tool 的 Ollama Integration 文档,文档明确给出的配置路径是 ~/.config/ollama/mcp-config.json,启动命令是:

ollama serve --mcp-config ~/.config/ollama/mcp-config.json

第二条路径来自 ollama-mcp-bridge Quick Start。桥接方案的配置默认是当前目录下的 ./mcp-config.json,也支持用 --config 指定其他文件。

不要把两个方案的配置文件混为一谈:原生参数指向的是 ~/.config/ollama/mcp-config.json,桥接方案默认读取 ./mcp-config.json。先决定采用哪条路径,再创建对应文件。

三步启动 Ollama MCP 桥接

1. 启动 Ollama

先执行:

ollama serve

桥接程序会在绑定自身端口前检查 Ollama 是否可用。若 Ollama 没有运行,桥接不会假装启动成功,而会直接暴露健康检查失败。

浏览器打开 http://localhost:11434,应能看到 Ollama 的响应。也可以执行:

curl http://localhost:11434

这里使用桥接方案时,默认 Ollama 地址就是 http://localhost:11434。如果 Ollama 位于另一台机器,应在启动桥接时显式传入对应地址。

2. 写入 mcp-config.json

在准备运行桥接程序的目录中创建 mcp-config.json。Quick Start 提供的最小验证思路是启动仓库自带的模拟天气 MCP 服务器:

{
  "mcpServers": {
    "mock-weather": {
      "command": "uv",
      "args": [
        "--directory",
        "./mock-weather-mcp-server",
        "run",
        "main.py"
      ],
      "env": {
        "MCP_LOG_LEVEL": "ERROR"
      }
    }
  }
}

其中 uv 用于运行 Python 项目,模拟天气服务器用于确认 MCP 连接链路。Quick Start 特别说明:配置中的相对路径以配置文件所在目录为基准,而不是以启动桥接程序时所在的目录为基准。因此 ./mock-weather-mcp-server 会指向 mcp-config.json 旁边的目录。

这条规则也适用于 ${workspaceFolder} 一类工作区变量。移动配置文件时,旁边的 MCP 服务器目录也会一起移动,无需把命令改成写死的绝对路径。

3. 启动桥接并确认工具已加载

执行:

ollama-mcp-bridge

默认连接参数如下:

  • Ollama 地址:http://localhost:11434
  • MCP 配置文件:./mcp-config.json
  • 桥接监听地址:0.0.0.0
  • 桥接监听端口:8000

如果配置文件不在当前目录,直接指定完整路径:

ollama-mcp-bridge --config /path/to/custom-config.json

需要同时更换 Ollama 地址、监听主机或端口时,使用:

ollama-mcp-bridge --config custom.json --host 0.0.0.0 --port 8080 --ollama-url http://remote-ollama:11434 --max-tool-rounds 10

这些参数来自 PyPI 上的 ollama-mcp-bridge 0.8.0 使用说明。--max-tool-rounds 10 控制一次工具调用允许的最大往返轮数;普通验证先使用默认值,只有模型连续调用工具时再调整。

配置文件到底放哪里

桥接方案最容易卡在路径上,可以按下面的对应关系处理:

使用方式 实际读取位置
执行 ollama-mcp-bridge 当前工作目录的 ./mcp-config.json
执行 ollama-mcp-bridge --config custom.json 命令所指定的 custom.json
Ollama 原生参数方案 ~/.config/ollama/mcp-config.json
Ollama 原生参数方案指定文件 ollama serve --mcp-config 后面的路径

先运行下面的命令确认桥接程序版本和参数是否可用:

ollama-mcp-bridge --version
ollama-mcp-bridge --help

如果 --config 或 --ollama-url 不存在,说明当前安装的不是支持这些参数的版本。应先更新到支持相应参数的版本,而不是反复改写 JSON。

另一个容易忽略的点是 JSON 本身必须完整可解析。配置文件使用标准 JSON,不支持注释;末尾多一个逗号,也会导致服务器列表加载失败。修改后先执行:

python -m json.tool mcp-config.json

没有报错并打印出格式化后的配置,才继续启动桥接。

卡住时按现象排查

Ollama 没启动

现象是桥接在启动阶段就报告健康检查失败,而不是进入监听状态。处理顺序是:先在另一个终端运行 ollama serve,再访问 http://localhost:11434;确认有响应后重新运行 ollama-mcp-bridge。

桥接启动了,但没有工具

检查 mcpServers 是否至少包含一个服务器;再确认 command 指向的程序已经安装。Quick Start 的模拟方案依赖 uv 和配套 Python 项目。可以在配置目录手动执行同一条命令:

uv --directory ./mock-weather-mcp-server run main.py

如果这条命令本身失败,先修复模拟服务器;不要先排查模型。

模型能聊天,却不调用工具

先用自然语言明确要求模型使用天气工具,而不是只问普通问题。工具未加载时,模型仍会正常回答文字,这会造成“连接成功”的错觉。还要确认模型服务实际指向桥接暴露的工具入口,而不是只连接裸 Ollama API。

Ollama 官方 JavaScript 客户端仓库说明,ollama-js 负责调用 Ollama 的聊天与 REST API。它能让程序使用 Ollama 的模型和工具调用能力,但这个库本身不是 MCP 服务器,也不会自动读取 mcp-config.json。因此,排查时要把“Ollama API 可用”和“MCP 工具已加载”分成两次验证。

端口被占用

桥接默认监听 8000。先停止占用该端口的进程,或者换端口:

ollama-mcp-bridge --port 8080

如果 Ollama 在远程机器上,则同时传入远程地址:

ollama-mcp-bridge --port 8080 --ollama-url http://192.168.1.100:11434

怎么算连接成功

成功不能只看桥接进程没有退出,需要同时满足三个可观察结果。

第一,curl http://localhost:11434 能得到 Ollama 响应,证明模型服务正常。

第二,桥接启动日志显示它已连接配置中的 MCP 服务器并收集工具。Quick Start 对启动过程的描述是:连接每个已配置的 MCP 服务器、收集其工具,然后再对外提供桥接服务。若一个工具都没收集到,先回到配置目录检查相对路径和 command。

第三,通过 Ollama 客户端发起一次明确的工具调用。桥接示例配置启动的是模拟天气服务器,因此测试时可以要求它返回天气信息。只有客户端能拿到工具执行结果,而不只是模型生成的普通文字,才算完整跑通。

排查桥接版本和完整参数,可继续查看 PyPI 项目页;若使用 Ollama 原生 --mcp-config 方式,则对照前述 mongo-migration-tool 文档确认当前版本是否提供该启动参数。

评论区

0 条评论

登录后可评论。

卷心菜 187 阅读