A simple yet powerful Python client for interacting with Model Context Protocol (MCP) servers using Ollama, allowing local LLMs to use tools.
______________________________________________________________________
奥利玛MCP客户(ollmcp)
 ](https://pypi.org/project/ollmcp/) ](https://pypi.org/project/mcp-client-for-ollama/) 
🎥 Watch this demo as an Asciinema recording
目录
- 命令行参数 - 使用示例 - 工具调用如何工作 - ✨新 代理模式
- 工具和服务器选择 - 模型选择 - 高级模型配置 - 重新加载服务器以进行开发 - 人在循环(HIL)工具执行 - ✨新 MCP提示 - 性能指标 - ✨新 历史记录管理
概述
奥利玛MCP客户(ollmcp)是一个现代的交互式终端应用程序(TUI),用于将本地Ollama LLM连接到一个或多个模型上下文协议(MCP)服务器,实现高级工具使用和工作流自动化。凭借丰富、用户友好的界面,它允许您实时管理工具、模型和服务器连接,无需编码。无论您是在构建、测试还是只是在探索LLM工具的使用,此客户端都可以通过模糊自动补全、高级模型配置、MCP服务器热重载开发和人机交互安全控制等功能简化您的工作流程。
特性
- 🤖 代理模式:当模型请求多个工具调用时,迭代工具执行,具有可配置的循环限制,以防止无限循环
- 🌐 多服务器支持:同时连接到多个MCP服务器
- 🚀 多种运输方式:支持STDIO、SSE和流式HTTP服务器连接
- 📋 MCP提示支持:通过参数收集、预览和安全回滚浏览、调用和管理来自MCP服务器的提示
- ☁️ Ollama云支持:与Ollama Cloud模型无缝协作进行工具调用,在使用本地MCP工具的同时访问强大的云托管模型
- 🎨 丰富的终端界面:具有现代风格的交互式控制台UI
- 🌊 流媒体响应:实时查看生成的模型输出
- 🛠️ 工具管理:在聊天会话期间启用/禁用特定工具或整个服务器
- 🧑💻 循环中的人类(HIL):在工具执行之前进行审查和批准,以增强控制和安全性
- 🎮 高级模型配置:微调15+个模型参数,包括上下文窗口大小、温度、采样、重复控制等
- 💬 系统提示定制:定义和编辑系统提示,以控制模型行为和角色
- 🧠 上下文窗口控件:调整上下文窗口大小(num_ctx)以处理较长的对话和复杂的任务
- 🎨 增强型工具显示:使用JSON语法突出显示工具执行的美观、结构化的可视化
- 🧠 上下文管理:使用可配置的保留设置控制对话记忆
- 🤔 思维方式:先进的推理能力,支持模型的可见思维过程(例如gpt-oss、deepseek-r1、qwen3等)
- 🗣️ 跨语言支持:与Python和JavaScript MCP服务器无缝协作
- 📜 历史记录管理:查看完整的对话历史记录,导出为JSON进行备份/分析,并导入以前的会话以保持连续性
- 🔍 自动发现:自动查找和使用Claude现有的MCP服务器配置
- 🔁 动态模型切换:在任何已安装的Olama型号之间切换,无需重新启动
- 💾 配置持久性:在会话之间保存和加载工具首选项和模型设置
- 🔄 服务器重新加载:在开发过程中热重新加载MCP服务器,而无需重新启动客户端
- ✨ 模糊自动补全:带有描述的交互式箭头键命令自动完成
- 🏷️ 动态提示:显示当前模型、思维模式和启用的工具
- 📊 性能指标:每次查询后的详细模型性能数据,包括持续时间和令牌计数
- 🔌 即插即用:可立即与符合MCP标准的工具服务器配合使用
- 🔔 更新通知:自动检测新版本何时可用
- 🖥️ 带打字机的现代CLI:分组选项、shell自动补全和改进的帮助输出
- ⏹️ 中止生成:您可以在响应流期间随时按“a”中止模型生成
需求
快速开始
选项1: 使用pip安装并运行
pip install --upgrade ollmcp
ollmcp选项2: 一步安装并运行
uvx ollmcp选项3: 从源代码安装并使用虚拟环境运行
git clone https://github.com/jonigl/mcp-client-for-ollama.git
cd mcp-client-for-ollama
uv venv && source .venv/bin/activate
uv pip install .
uv run -m mcp_client_for_ollama用法
使用默认设置运行:
ollmcp如果你不提供任何选项,客户端将使用 auto-discovery 模式从Claude的配置中查找MCP服务器。命令行参数
\[!提示\] CLI现在使用Typer现代体验:分组选项、丰富的帮助和内置的shell自动补全。高级用户可以使用短标志来实现更快的命令。要启用自动补全,请运行: ``bash ollmcp --install-completion`` 然后重新启动shell或按照打印的说明进行操作。
MCP服务器配置:
--mcp-server,-s:指向一个或多个MCP服务器脚本(.py或.js)的路径。可以多次指定。--mcp-server-url,-u:指向一个或多个SSE或流式HTTP MCP服务器的URL。可以多次指定。看 通用MCP端点路径 对于典型的端点。--servers-json,-j:具有服务器配置的JSON文件的路径。看 服务器配置格式 了解详情。--auto-discovery,-a:从Claude的默认配置文件中自动发现服务器(如果没有提供其他选项,则为默认行为)。
\[!提示\] Claude的配置文件通常位于: ~/Library/Application Support/Claude/claude_desktop_config.jsonOllama配置:
--model,-m型号:使用Olama型号。违约:qwen2.5:7b--host,-H主机:Ollama主机URL。默认值:http://localhost:11434
常规选项:
--version,-v:显示版本并退出--help,-h:显示帮助消息并退出--install-completion:为客户端安装shell自动补全脚本--show-completion:显示可用的shell完成选项
使用示例
运行客户端的最简单方法:
ollmcp\[!提示\] 这将自动发现并连接到在Claude的设置中配置的任何MCP服务器,并使用默认模型 qwen2.5:7b 或配置文件中指定的模型。连接到单个服务器:
ollmcp --mcp-server /path/to/weather.py --model llama3.2:3b
# Or using short flags:
ollmcp -s /path/to/weather.py -m llama3.2:3b连接到多个服务器:
ollmcp --mcp-server /path/to/weather.py --mcp-server /path/to/filesystem.js
# Or using short flags:
ollmcp -s /path/to/weather.py -s /path/to/filesystem.js\[!提示\] 如果未指定模型,则使用默认模型 qwen2.5:7b 将使用或配置文件中指定的模型。使用JSON配置文件:
ollmcp --servers-json /path/to/servers.json --model llama3.2:1b
# Or using short flags:
ollmcp -j /path/to/servers.json -m llama3.2:1b\[!提示\] 请参阅 服务器配置格式 有关如何构造JSON文件的详细信息,请参阅第节。
使用自定义Ollama主机:
ollmcp --host http://localhost:22545 --servers-json /path/to/servers.json --auto-discovery
# Or using short flags:
ollmcp -H http://localhost:22545 -j /path/to/servers.json -a通过URL连接到SSE或流式HTTP服务器:
ollmcp --mcp-server-url http://localhost:8000/sse --model qwen2.5:latest
# Or using short flags:
ollmcp -u http://localhost:8000/sse -m qwen2.5:latest连接到多个URL服务器:
ollmcp --mcp-server-url http://localhost:8000/sse --mcp-server-url http://localhost:9000/mcp
# Or using short flags:
ollmcp -u http://localhost:8000/sse -u http://localhost:9000/mcp混合使用本地脚本和URL服务器:
ollmcp --mcp-server /path/to/weather.py --mcp-server-url http://localhost:8000/mcp --model qwen3:1.7b
# Or using short flags:
ollmcp -s /path/to/weather.py -u http://localhost:8000/mcp -m qwen3:1.7b使用混合服务器类型的自动发现:
ollmcp --mcp-server /path/to/weather.py --mcp-server-url http://localhost:8000/mcp --auto-discovery
# Or using short flags:
ollmcp -s /path/to/weather.py -u http://localhost:8000/mcp -a交互式命令
在聊天过程中,使用以下命令:
| 命令 | 快捷方式 | 描述 |
|---|---|---|
abort | a | 在模型生成过程中,中止当前的响应生成 |
clear | cc | 清晰的对话历史和背景 |
cls | clear-screen | 清除终端屏幕 |
context | c | 切换上下文保留 |
context-info | ci | 显示上下文统计信息 |
export-history | eh | 将聊天记录导出到JSON文件 |
full-history | fh | 显示所有对话历史记录 |
help | h | 显示帮助和可用命令 |
import-history | ih | 从JSON文件导入聊天记录 |
human-in-loop | hil | 切换工具执行的人工循环确认 |
load-config | lc | 从文件加载工具和模型配置 |
loop-limit | ll | 设置最大迭代工具循环迭代次数(代理模式)。默认值:3 |
model | m | 列出并选择其他Ollama型号 |
model-config | mc | 配置高级模型参数和系统提示 |
prompts | pr | 浏览并查看所有可用的MCP提示 |
/prompt_name | - | 按名称调用特定提示(例如。, /summarize) |
quit, exit, bye | q 或 Ctrl+D | 退出客户端 |
reload-servers | rs | 使用当前配置重新加载所有MCP服务器 |
reset-config | rc | 将配置重置为默认值(启用所有工具) |
save-config | sc | 将当前工具和模型配置保存到文件 |
show-metrics | sm | 切换性能指标显示 |
show-thinking | st | 切换思维文本可见性 |
thinking-mode | tm | 在支持的模型上切换思维模式 |
show-tool-execution | ste | 切换工具执行显示可见性 |
tools | t | 打开刀具选择界面 |
工具和服务器选择
工具和服务器选择界面允许您启用或禁用特定工具:
- 进入 数字 用逗号分隔(例如。
1,3,5)切换特定工具 - 进入 范围 数字(例如。
5-8)切换多个连续工具 - 进入 S+编号 (例如。
S1)切换特定服务器中的所有工具 a或all-启用所有工具n或none-禁用所有工具d或desc-显示/隐藏工具描述j或json-出于调试目的,在启用的工具上显示详细的工具JSON模式s或save-保存更改并返回聊天q或quit-取消更改并返回聊天
模型选择
型号选择界面显示Ollama安装中的所有可用型号:
- 进入 数字 您要使用的模型
s或save-保存模型选择并返回聊天q或quit-取消模型选择并返回聊天
高级模型配置
这 model-config (mc)命令打开高级模型设置界面,允许您微调模型生成响应的方式:
系统提示
- 系统提示:设置模型的角色和行为以指导响应。
关键参数
- 系统提示:设置模型的角色和行为以指导响应。
- 上下文窗口(num_ctx):设置模型使用的聊天历史记录量。平衡内存使用和性能。
- 保留令牌:防止重要令牌被丢弃
- 最大令牌数:限制响应长度(0=自动)
- 种子:使输出可重复(随机设置为-1)
- 温度:控制随机性(0=确定性,较高=创造性)
- 顶部K/顶部P/最小P/典型P:多样性采样控制
- 重复上次N/重复处罚:减少重复
- 出席/频率处罚:鼓励新话题,减少重复
- 停止序列:自定义停车点(最多8个)
- 批量大小(num_Batch):控制请求的内部批处理;较大的值可以提高吞吐量,但会占用更多内存。
命令
- 输入参数编号
1-15编辑设置 - 进入
sp编辑系统提示 - 使用
u1,u2等来取消设置参数,或uall重置全部 h/help:显示参数详细信息和提示undo:还原更改s/save:应用更改q/quit:取消
示例配置
- 事实:
temperature: 0.0-0.3,top_p: 0.1-0.5,seed: 42 - 创意:
temperature: 1.0+,top_p: 0.95,presence_penalty: 0.2 - 减少重复:
repeat_penalty: 1.1-1.3,presence_penalty: 0.2,frequency_penalty: 0.3 - 平衡的:
temperature: 0.7,top_p: 0.9,typical_p: 0.7 - 可复制性:
seed: 42,temperature: 0.0 - 大背景:
num_ctx: 8192或更高,用于需要更多上下文的复杂对话
\[!提示\] 所有参数默认为未设置,让Ollama使用自己的优化值。使用 help 在配置菜单中查看详细信息和建议。更改将与您的配置一起保存。重新加载服务器以进行开发
这 reload-servers 命令(rs)在MCP服务器开发期间特别有用。它允许您重新加载所有连接的服务器,而无需重新启动整个客户端应用程序。
主要优势:
- 🔄 热重新加载:立即将更改应用于MCP服务器代码
- 🛠️ 开发工作流程:非常适合迭代开发和测试
- 📝 配置更新:自动获取服务器JSON配置或Claude配置中的更改
- 🎯 国家保护:在重新加载过程中保持您的工具启用/禁用首选项
- ⚡️ 节省时间:无需重新启动客户端并重新配置所有内容
何时使用:
- 修改MCP服务器实现后
- 当您在JSON文件中更新服务器配置时
- 更改Claude的MCP配置后
- 在调试过程中,确保您测试的是最新的服务器版本
只需键入 reload-servers 或 rs 在聊天界面中,客户端将:
- 断开与所有当前MCP服务器的连接
- 使用相同的参数(服务器路径、配置文件、自动发现)重新连接
- 恢复您之前启用/禁用的工具设置
- 显示更新的服务器和工具状态
此功能极大地改善了构建和测试MCP服务器时的开发体验。
人在循环(HIL)工具执行
Human in The Loop功能提供了一个额外的安全层,允许您在工具执行之前对其进行审查和批准。这对于以下情况特别有用:
- 🛡️ 安全:执行前审查潜在的破坏性操作
- 🔍 学习:了解模型想要使用什么工具以及为什么
- 🎯 控制:仅选择性执行您批准的工具
- 🚫 预防:停止执行不需要的工具调用
- 🔄 会话模式:自动批准当前查询会话的所有工具
- 🛑 查询中止:中止整个查询而不保存到历史记录
HIL确认显示
启用HIL后,您将在每次执行工具之前看到确认提示:
例子:

HIL确认选项
出现提示时,您可以从以下选项中进行选择:
- 是/是:执行此特定的工具调用
- 无:跳过此工具调用并继续查询
- s/会话:执行当前查询的此工具调用和所有后续工具调用,无需进一步提示
- d/禁用:永久禁用HIL确认(可以使用重新启用
hil命令) - a/中止:立即中止整个查询,不保存到历史记录
\[!提示\] 这 会话 当模型需要按顺序执行多个工具时,选项特别有用。您可以批准当前查询会话的所有工具,而不是单独确认每个工具,然后HIL将为下一个查询自动重置。
人在环(HIL)配置
- 默认状态:为了安全起见,默认情况下启用HIL确认
- 切换命令:使用
human-in-loop或hil打开/关闭 - 持久设置:HIL首选项与您的配置一起保存
- 快速禁用:在任何确认过程中选择“禁用”以永久关闭
- 会话自动批准:在确认过程中使用“会话”来批准当前查询的所有工具
- 查询中止:在确认过程中使用“中止”立即停止查询而不保存
- 重新启用:使用
hil随时命令重新打开确认
优点:
- 增强安全性:防止意外或不必要的工具执行
- 意识:了解模型试图执行的操作
- 选择性控制:根据具体情况选择允许哪些操作
- 柔性工作流:会话模式可实现高效的多工具查询,敏感操作可单独审批
- 清洁中止:立即停止有问题的查询,而不会污染对话历史记录
- 心灵的平静:对自动化操作的完全可见性和控制
MCP提示
MCP Prompts提供可重用的、服务器定义的对话启动器和上下文模板。服务器可以显示带有描述、所需参数和预格式化消息的提示,帮助您快速开始特定类型的对话,或将结构化上下文注入聊天。
特性
- 📋 浏览提示:查看来自连接服务器的所有可用提示,包括描述和参数要求
- ⚡️ 快速调用:使用
/prompt_name立即调用任何提示的语法 - 🔤 自动完成:类型
/通过模糊匹配查看即时建议 - 📝 参数集合:交互式提示将引导您完成所需的参数
- 👁️ 预览:注射前检查提示内容,以确保其符合您的需求
- 🎯 灵活注射:选择立即执行或仅注入(添加到历史记录中而不触发模型)
- 🧠 上下文感知:根据提示是以用户消息还是助手消息结尾自动调整行为
- 🔄 安全回滚:如果中止或遇到错误,则自动清除历史记录
- 💬 文本内容:支持基于文本的提示消息(图像/音频/资源支持即将推出)
如何使用MCP提示
浏览可用提示:
prompts # or 'pr'这将显示按服务器分组的所有提示,显示其名称、必需参数和描述。
调用提示:
/prompt_name例如,如果服务器提供“摘要”提示:
/summarize自动完成:
- 类型
/查看所有带有描述的可用提示 - 继续键入以使用模糊匹配过滤提示
- 使用箭头键导航,然后按Enter键选择
\[!提示\] 当您连接到MCP服务器时,会自动发现提示。如果服务器支持提示,它们将立即在 prompts 列表和自动完成。工作流程:
- 类型
/prompt_name或从自动补全中选择 - 如果提示需要参数,系统将提示您提供参数
- 查看显示将注射什么的提示预览
- 选择如何使用提示:
- 是/是 (默认):向模型发送提示并获得响应 - 对于以结尾的提示 用户消息:将该消息用作查询 - 对于以结尾的提示 助手消息:添加“请根据上述上下文进行响应。”作为查询 - i/注射:只需将提示添加到对话历史记录中,而无需触发模型(允许您在之后键入自己的查询) - 无:取消并返回聊天
- 提示将根据您的选择注入
- 如果在模型生成过程中中止(按“a”),更改将自动回滚
例子:
\[!警告\] 内容类型限制:MCP提示当前支持 仅文本内容。以下内容类型尚不支持,将自动跳过: - 🖼️ 图像 -提示中的图像内容 - 🎵 音频 -提示中的音频内容 - 📦 资源 -嵌入式资源内容 如果提示包含这些不受支持的类型,您将在预览期间看到警告,并且只会注入文本部分。在继续之前,请确保您的提示在没有多媒体内容的情况下仍然有意义。计划在未来的版本中提供全面的多媒体支持。
性能指标
Performance Metrics功能在每次查询后在带边框的面板中显示详细的模型性能数据。这些指标直接从Ollama的响应中显示持续时间、令牌计数和生成率。
显示的指标:
total duration:生成完整响应所花费的总时间(秒)load duration:加载模型所花费的时间(毫秒)prompt eval count:输入提示中的令牌数prompt eval duration:评估输入提示所花费的时间(毫秒)eval count:响应中生成的令牌数eval duration:生成响应令牌所花费的时间(秒)prompt eval rate:输入提示处理速度(令牌/秒)eval rate:响应令牌生成速度(令牌/秒)
例子:
性能指标配置
- 默认状态:默认情况下,为了获得更清晰的输出,指标被禁用
- 切换命令:使用
show-metrics或sm启用/禁用指标显示 - 持久设置:指标首选项与您的配置一起保存
优点:
- 性能监控:跟踪模型效率和响应时间
- 令牌跟踪:监控实际令牌消耗以供分析
- 基准测试:比较不同型号的性能
\[!注意\] 数据源:所有指标都直接来自Ollama的回应,确保准确性和可靠性。
历史记录管理
历史记录管理功能允许您查看、导出和导入对话历史记录。这有助于:
- 📜 完整历史视图:回顾当前会话中的所有对话
- 💾 出口:将对话保存为JSON文件以供备份或分析
- 📥 导入:加载以前的对话历史记录,从您中断的地方继续
- 🔄 可移植性:在会话之间共享或转移对话
历史命令
查看完整历史记录:
full-history # or 'fh'以格式化视图显示当前会话的所有对话历史记录,显示查询和响应。
导出历史记录:
export-history # or 'eh'将您当前的聊天记录导出为JSON文件。您可以指定自定义文件名或使用默认的基于时间戳的名称(例如。, ollmcp_chat_history_2026-01-05_143022.json).文件保存到 ~/.config/ollmcp/history/ 目录。该命令包括文件覆盖保护。
导入历史记录:
import-history # or 'ih'从JSON文件导入以前导出的聊天历史记录。该命令验证JSON结构以确保兼容性。导入的历史记录将添加到您当前的对话上下文中。
历史存储:
- 出口地点:
~/.config/ollmcp/history/ - 默认文件名格式:
ollmcp_chat_history_YYYY-MM-DD_HHMMSS.json - JSON格式包括具有适当结构验证的查询和响应
优点:
- 会话连续性:恢复不同会话之间的对话
- 备份:记录重要对话
- 分析:导出历史记录以供外部分析或审查
- 共享:与团队成员分享对话内容
- 测试:导入测试对话以进行开发和调试
\[!提示\] 导出时,如果不提供文件名,系统会自动生成一个带时间戳的文件名,以防止意外覆盖。
自动完成和提示功能
打字机外壳自动补全
- CLI支持通过Typer对所有选项和参数进行shell自动补全
- 要启用,请运行
ollmcp --install-completion并按照外壳的说明进行操作 - 享受所有分组和常规选项的标签完成
FZF风格自动补全
- 键入命令时进行模糊匹配
- 箭(
▶)突出最佳匹配 - 菜单中显示的命令说明
- 不区分大小写匹配,方便使用
- 集中命令列表以保持一致性
MCP提示自动完成
- 类型
/触发提示自动完成 - 提示名称和描述的模糊匹配
- 在菜单中显示提示参数和描述
- 终端宽度感知描述截断
- 箭(
▶)突出最佳匹配
上下文提示
聊天提示现在为您提供清晰的上下文信息:
- 模型:显示当前使用的Olama模型
- 思维方式:指示“思维模式”是否处于活动状态(适用于支持的型号)
- 工具:显示已启用工具的数量
示例提示:
qwen3/show-thinking/12-tools❯qwen3型号名称/show-thinking思维模式指示器(如果启用,否则/thinking或省略)/12-tools启用的工具数量(或/1-tool单数)❯提示符号
这使得在输入查询之前很容易看到您当前的上下文。
\[!提示\] 类型 / 在提示符号后,查看可用MCP提示的自动完成建议。配置管理
\[!提示\] 它将自动从以下位置加载默认配置 ~/.config/ollmcp/config.json 如果它存在的话。客户端支持在会话之间保存和加载工具配置:
- 使用时
save-config,您可以为配置提供名称或使用默认名称 - 配置存储在
~/.config/ollmcp/目录 - 默认配置另存为
~/.config/ollmcp/config.json - 命名配置另存为
~/.config/ollmcp/{name}.json
配置保存:
- 当前型号选择
- 高级模型参数(系统提示、温度、采样设置等)
- 所有工具的启用/禁用状态
- 上下文保留设置
- 思维模式设置
- 工具执行显示首选项
- 性能指标显示首选项
- 人机交互确认设置
服务器配置格式
JSON配置文件支持STDIO、SSE和Streamable HTTP服务器类型(MCP 1.10.1):
{
"mcpServers": {
"stdio-server": {
"command": "command-to-run",
"args": ["arg1", "arg2", "..."],
"env": {
"ENV_VAR1": "value1",
"ENV_VAR2": "value2"
},
"disabled": false
},
"sse-server": {
"type": "sse",
"url": "http://localhost:8000/sse",
"headers": {
"Authorization": "Bearer your-token-here"
},
"disabled": false
},
"http-server": {
"type": "streamable_http",
"url": "http://localhost:8000/mcp",
"headers": {
"X-API-Key": "your-api-key-here"
},
"disabled": false
}
}
}\[!注意\] MCP 1.10.1运输支持:客户端现在支持最新的Streamable HTTP传输,性能和可靠性得到了提高。如果您指定了一个没有类型的URL,客户端将默认使用Streamable HTTP传输。
提示:MCP服务器配置的放置位置和工作示例
一个常见的混淆点是存储MCP服务器配置文件的位置以及如何使用TUI的保存/加载功能。以下是一个简短实用的指南,对其他用户有所帮助:
- TUI的
save-config/load-config(或sc/lc)命令旨在保存 *TUI偏好* 比如你启用了哪些工具、你选择的模型、思维模式和其他客户端设置。他们不需要向客户端注册MCP服务器连接。 - 对于MCP服务器JSON文件(
mcpServers我们建议将它们保存在TUI配置目录之外或一个清晰的子文件夹中,例如:
~/.config/ollmcp/mcp-servers/config.json然后,您可以指向 ollmcp 在启动时使用该文件 -j / --servers-json.
\[!重要\] 使用基于HTTP的MCP服务器时,请使用streamable_http类型(不仅http).还要检查 通用MCP端点路径 下面是典型端点的部分。
这里有一个最小的工作示例,假设这是你的 ~/.config/ollmcp/mcp-servers/config.json:
{
"mcpServers": {
"github": {
"type": "streamable_http",
"url": "https://api.githubcopilot.com/mcp/",
"headers": {
"Authorization": "Bearer mytoken"
}
}
}
}\[!提示\] 使用GitHub MCP服务器时,请务必更换 "mytoken" 使用您的实际GitHub API令牌。有了该文件,您可以使用以下方式进行连接:
ollmcp -j ~/.config/ollmcp/mcp-servers/config.json在这里,您可以找到与此常见陷阱相关的GitHub问题:https://github.com/jonigl/mcp-client-for-ollama/issues/112#issuecomment-3446569030
演示
一个简短的演示(asciicast),应该可以帮助任何人快速复制工作设置。此示例使用 具有流式HTTP协议的MCP服务器示例 用法:

通用MCP端点路径
流式HTTP MCP服务器通常在以下位置公开MCP端点 /mcp (例如。, https://host/mcp),而SSE服务器通常使用 /sse (例如。, https://host/sse).以下是MCP规范(2025-06-18)的摘录:
服务器必须提供支持POST和GET方法的单个HTTP端点路径(以下称为MCP端点)。例如,这可能是一个类似的URLhttps://example.com/mcp.
您可以在 MCP规范版本2025-06-18-运输.
兼容型号
以下Olama型号在使用工具时表现良好:
- qwen2.5
- qwen3
- 骆驼3.1
- 骆驼3.2
- 密史脱拉风
有关具有工具使用功能的Olama型号的完整列表,请访问 Olama官方模特页面.
Ollama云模型
MCP Ollama客户端现在支持 Ollama Cloud模型,允许您在利用本地MCP工具的同时,使用具有工具调用功能的强大云托管模型。云模型可以在没有强大的本地GPU的情况下运行,从而可以访问不适合个人计算机的更大模型。
支持的Ollama Cloud型号包括:
gpt-oss:20b-cloudgpt-oss:120b-clouddeepseek-v3.1:671b-cloudqwen3-coder:480b-cloud
要将Ollama Cloud模型用于此客户端,请执行以下操作:
- 首先,拉取云模型:
ollama pull gpt-oss:120b-cloud- 使用您选择的云模型运行客户端:
ollmcp --model gpt-oss:120b-cloud\[!注意\] 模型deepseek-v3.1:671b-cloud仅在思维模式关闭时支持使用工具。您可以在中切换思维模式ollmcp通过键入以下任一内容thinking-mode或tm.
有关Ollama Cloud的更多信息,请访问 Ollama Cloud文档.
工具调用如何工作
- 客户将您的查询与可用工具列表一起发送给Ollama
- 如果Ollama决定使用工具,客户:
- 显示带有格式化参数和语法突出显示的工具执行 - 显示循环中人员确认提示(如果启用),允许您查看和批准工具调用 - 从模型响应中提取工具名称和参数 - 使用这些参数调用相应的MCP服务器(仅当批准或禁用HIL时) - 以结构化、易于阅读的格式显示工具响应 - 将工具结果发送回Ollama - 如果处于代理模式,如果模型请求更多的工具调用,则重复该过程
- 最后,客户:
- 显示包含工具结果的模型最终响应
代理模式
某些模型可能会在一次对话中请求多个工具调用。客户端支持 代理模式 这允许迭代工具执行:
- 当模型请求工具调用时,客户端执行它并将结果发送回模型
- 重复此过程,直到模型提供最终答案或达到配置的循环限制
- 您可以使用以下命令设置最大迭代次数
loop-limit(ll)命令 - 默认循环限制为
3防止无限循环
\[!注意\] 如果要阻止使用代理模式,只需将循环限制设置为 1.代理模式快速演示:

我在哪里可以找到更多MCP服务器?
您可以在官方网站上浏览MCP服务器的集合 MCP服务器存储库.
此存储库包含模型上下文协议的参考实现、社区构建的服务器以及增强LLM工具功能的其他资源。
相关项目
- Ollama MCP大桥 -Ollama前面的Python API层,自动将来自多个MCP服务器的工具添加到每个聊天请求中。该项目提供了一个透明的代理解决方案,在启动时预先加载所有MCP服务器,并将其工具无缝集成到Ollama API中。
- 带流式HTTP的MCP服务器示例 -一个演示流式HTTP协议使用的MCP服务器示例。
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
致谢
- 奥拉玛 用于本地LLM运行时
- 模型上下文协议 用于说明和示例
- 富有的 用于终端用户界面
- 类型 获得现代CLI体验
- 提示工具包 用于交互式命令行界面
- 紫外线 用于闪电般快速的Python包管理器和虚拟环境管理
- 蛔虫 用于演示录制
______________________________________________________________________
制作❤️ 通过 乔尼格尔
