关于 MCP Client for Ollama (ollmcp)
ollmcp 是一个基于终端界面(TUI)的 Python 客户端,用于将本地 Ollama 模型连接到一个或多个 MCP 服务。它面向希望在命令行中管理 MCP 服务和模型的用户,并支持 Agent 模式与人工审批工具调用。
主要功能
- 01Agent 模式下的迭代式工具调用
- 02同时连接多个 MCP 服务
- 03支持 STDIO、SSE 与 Streamable HTTP 传输
- 04浏览与调用 MCP 工具、提示词和资源
- 05工具执行前的人工审批(HIL)
- 06运行时切换 Ollama 模型并配置模型参数
适用场景
- 01在终端中使用本地 Ollama 模型调用 MCP 工具
- 02通过命令行添加与管理 MCP 服务配置
- 03在开发过程中调试 MCP 服务并热重载
MCP 相关
该项目是 MCP 客户端,负责连接本地 MCP 服务,发现并调用其工具、提示词与资源,并可通过 ollmcp mcp add 命令管理服务配置。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
一个简单而强大的 Python 客户端,可通过 Ollama 与 Model Context Protocol(MCP)服务交互,让你借助本地大模型执行高级工具操作。
Ollama 的 MCP 客户端(ollmcp)
赞助方
请在赞助方一节了解如何将 Atlas Cloud 与 ollmcp 搭配使用
- 概述
- 功能
- 要求
- 快速开始
- 安装选项
- 故障排除
- ✨新功能 通过命令行管理 MCP 服务
- 交互式命令
- 自动补全与提示词功能
- 配置管理
- ✨新功能 按提供方划分的配置档案
- 服务配置格式
- 兼容的模型
- ✨新功能 赞助商
- 在哪里可以找到更多 MCP 服务?
- 相关项目
- 安全
- 许可证
- 致谢
概述
Ollama 的 MCP 客户端(ollmcp)是一款现代化的交互式终端应用(TUI),专为 harness engineering 打造,可将本地 Ollama 大模型连接到一个或多个 Model Context Protocol(MCP)服务。它全面支持 MCP 的核心原语(工具、提示词和资源),提供一个由你掌控、由 Agent 执行任务的受控终端环境。凭借丰富且易用的界面,你无需编写代码,即可安全地实时管理配置。无论是构建、测试还是探索,这款客户端都能通过模糊自动补全、高级模型配置、用于快速开发的 MCP 服务热重载,以及严格的 Human-in-the-Loop 安全控制等功能,简化你的工作流。
功能
- 🤖 Agent 模式:当模型请求多次调用工具时,迭代执行工具,并可配置循环次数上限;达到上限时提供交互式选项(继续、收尾或中止)
- 🌐 多服务支持:同时连接多个 MCP 服务
- 🚀 多种传输类型:支持 STDIO、SSE 和 Streamable HTTP 服务连接
- 📋 MCP 提示词支持:浏览、调用和管理 MCP 服务中的提示词,支持收集参数、预览和安全回滚
- 📦 MCP 资源支持:浏览并读取 MCP 服务中的上下文数据,包括文件、文档和结构化数据
- ☁️ Ollama Cloud 支持:可无缝使用 Ollama Cloud 模型调用工具,在使用本地 MCP 工具的同时访问强大的云端托管模型
- 🌍 多种大模型提供商:使用 Ollama(默认)或兼容 OpenAI 的提供商(OpenAI、OpenRouter、DeepSeek 等),并按提供商记住连接设置
- 🎨 丰富的终端界面:采用现代样式的交互式控制台 UI
- 🌊 流式响应:实时查看模型生成的输出
- 📝 回答显示模式:流式输出时,可在纯文本、Markdown、两者兼有或 Markdown(代码块)视图之间切换
- 🛠️ 工具管理:在聊天会话中启用或禁用特定工具或整个服务
- 🧑💻 人在回路中(HIL):在工具执行前进行审核和批准,以增强控制力和安全性
- 🎮 高级模型配置:微调 15+ 个模型参数,包括上下文窗口大小、温度、采样、重复控制等
- 💬 系统提示词自定义:定义并编辑系统提示词,以控制模型的行为和角色设定
- 🧠 上下文窗口控制:调整上下文窗口大小(num_ctx),以处理更长的对话和复杂任务
- 🎨 增强的工具显示:以精美、结构化的方式呈现工具执行过程,并提供 JSON 语法高亮
- 🧠 上下文管理:通过可配置的保留设置管理对话记忆
- 🤔 思考模式:为支持的模型(例如 gpt-oss、deepseek-r1、qwen3 等)提供高级推理能力,并显示思考过程
- 💪 推理强度级别:为支持的模型设置推理强度:自动、最低、低、中、高或 xhigh
- 🖼️ 视觉工具支持:工具返回的图像会自动转发给具备视觉能力的模型
- 🗣️ 跨语言支持:无缝使用 Python 和 JavaScript MCP 服务
- 📜 历史记录管理:查看完整对话历史、导出为 JSON 以供备份或分析,并导入之前的会话以延续对话
- 🔍 自动发现:自动查找并使用 Claude 现有的 MCP 服务配置
- 🔁 动态切换模型:无需重启即可在任意已安装的 Ollama 模型之间切换
- 💾 配置持久化:在不同会话之间保存和加载工具偏好设置及模型设置
- 🔄 服务重载:开发期间热重载 MCP 服务,无需重启客户端
- ✨ 模糊自动补全:支持交互式方向键操作的命令自动补全,并显示说明
- 🏷️ 动态提示:显示当前模型、思考模式和已启用的工具
- 📊 性能指标:每次查询后提供详细的模型性能数据,包括耗时和令牌数
- 🔌 即插即用:可立即与符合 MCP 标准的工具服务配合使用
- 🔔 更新通知:自动检测是否有新版本可用
- 🖥️ 基于 Typer 的现代命令行:提供分组的选项、Shell 自动补全和改进的帮助输出
- ⏹️ 中止生成:响应流式输出期间,随时按“a”即可中止模型生成
要求
- Python 3.11+(安装指南)
- 在本地运行的 Ollama(安装指南)
- 安装后,运行
ollama list查看可用模型。如果尚未安装任何模型,可以使用ollama pull <model_name>拉取一个。例如,ollama pull gemma4:latest。
- 安装后,运行
- UV 包管理器(安装指南)
快速开始
通过 pip 安装 ollmcp,添加 MCP 服务,然后运行客户端:
# Install ollmcp via uv
uv tool install --upgrade ollmcp
# or via pip
pip install --upgrade ollmcp
# Add an MCP server (example: playwright stdio server)
ollmcp mcp add playwright -- npx @playwright/mcp@latest
# Run the client (check optional flags with `ollmcp --help`)
ollmcp # once running, use /help for interactive commands
安装选项
选项 1: 使用 uv 安装并运行(推荐)
uv tool install --upgrade ollmcp
ollmcp
选项 2: 使用 pip 安装并运行
pip install --upgrade ollmcp
ollmcp
选项 3: 仅运行,不安装(需要 uv 包管理器)
uvx ollmcp
选项 4: 从源代码安装,并使用虚拟环境运行
git clone https://github.com/jonigl/mcp-client-for-ollama.git
cd mcp-client-for-ollama
uv run -m mcp_client_for_ollama
故障排除
Could not find a version that satisfies the requirement ollmcp (from versions: none)
这几乎总是意味着你正在使用的 Python 版本低于所需的 3.11+。这在 macOS 上很常见,因为系统 Python(/usr/bin/python3)或 Xcode 捆绑的 Python 可能是 3.9 或更旧版本。如果没有符合 requires-python >= 3.11 的版本,pip 就会过滤掉所有版本,并报告容易误导的“from versions: none”。
先检查你的版本:
python3 --version # must be 3.11 or newer
然后使用较新的 Python 安装。最简单的方法是使用 uv,它会自动为你下载合适的 Python:
uv tool install --upgrade ollmcp # recommended, installs the CLI in an isolated environment
# or, if you prefer pip, make sure to use a Python 3.11+ interpreter:
python3.11 -m pip install --upgrade ollmcp
# Then run the client:
ollmcp
请参阅安装选项。
error: externally-managed-environment (PEP 668)
在较新的 Debian/Ubuntu(Python 3.12+)上,系统 pip 会被有意锁定,以保护由操作系统管理的包,因此会阻止执行 pip install ollmcp。这是系统策略(PEP 668),并非 ollmcp 的问题。请将其安装到隔离环境中:
uv tool install --upgrade ollmcp # recommended, installs the CLI in an isolated environment
# or, if you prefer pip, use a virtual environment:
python3.11 -m venv ollmcp-env
source ollmcp-env/bin/activate
python3.11 -m pip install --upgrade ollmcp
# Then run the client:
ollmcp
请参阅安装选项。
警告
避免使用
pip install --break-system-packages ollmcp。虽然这样可行,但它会将包安装到系统 Python 中,可能会破坏操作系统依赖的包。
通过 CLI 管理 MCP 服务
ollmcp 可以直接通过命令行管理自己的 MCP 服务配置,类似于 claude mcp:
# Remote servers (Streamable HTTP or SSE)
ollmcp mcp add --transport http <name> <url>
ollmcp mcp add --transport sse <name> <url>
# Local stdio servers - everything after `--` is the command to run
ollmcp mcp add [options] <name> -- <command> [args...]
# List configured servers
ollmcp mcp list
# Remove a server
ollmcp mcp remove <name>
# For more details on options and usage, run:
ollmcp mcp --help
ollmcp mcp add --help
示例:
提示
添加一些服务后,只需运行
ollmcp,它就会自动连接到这些服务。
ollmcp mcp add --transport http github https://api.githubcopilot.com/mcp/ --header "Authorization: Bearer $YOUR_GITHUB_PAT"
ollmcp mcp add --transport stdio playwright npx @playwright/mcp@latest
ollmcp mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem /allowed-dir1 ~/allowed-dir2 # stdio transport by default
ollmcp mcp add --env API_KEY=YOUR_KEY --transport sse my-sse-server http://localhost:8000/sse
mcp add 选项
--transport、-t:stdio(默认)、sse或http。--header、-H:用于sse/http服务的 HTTP 标头,格式为"Name: Value"。可重复指定。--env、-e:用于stdio服务的环境变量,格式为KEY=value。可重复指定。--scope、-s:服务的存储位置(见下方的范围)。默认值:local。
范围
| 范围 | 加载位置 | 与团队共享 | 存储位置 |
|---|---|---|---|
local | 仅当前项目 | 否 | ~/.config/ollmcp/mcp.local.json(以项目路径为键) |
project | 仅当前项目 | 是(通过 VCS) | 项目根目录下的 .mcp.json |
user | 你的所有项目 | 否 | ~/.config/ollmcp/mcp.json |
project 范围会在项目根目录写入标准的 .mcp.json 文件,与 Claude Code 及其他支持 MCP 的工具兼容。如果多个范围中存在同名服务,其优先级为 local > project > user。
说明
通过
ollmcp mcp add添加的服务始终作为基础层加载。任何标志(--mcp-server、--mcp-server-url、--servers-json、--claude-desktop)都会在此基础上添加服务。若要包含 Claude Desktop 中的服务,请明确传入--claude-desktop。如果某个服务与通过上述标志之一提供的服务同名,目前会同时打开两个连接,但只有一个会以该名称保持活动状态。请避免在
--mcp-server/--mcp-server-url/--servers-json/--claude-desktop中重用注册表服务的名称。
命令行参数
提示
CLI 现在使用
Typer,带来更现代的使用体验:分组的选项、丰富的帮助信息,以及内置的 Shell 自动补全。高级用户可以使用短标志来加快命令执行。若要启用自动补全,请运行:ollmcp --install-completion然后重启 Shell,或按照打印出的说明操作。
MCP 服务配置:
--mcp-server、-s:一个或多个 MCP 服务脚本(.py 或 .js)的路径。可多次指定。--mcp-server-url、-u:一个或多个 SSE 或 Streamable HTTP MCP 服务的 URL。可多次指定。常见端点请参阅常见 MCP 端点路径。--servers-json、-j:包含服务配置的 JSON 文件路径。详情请参阅服务配置格式。--claude-desktop:从 Claude Desktop 的配置文件(~/Library/Application Support/Claude/claude_desktop_config.json)加载服务。与通过ollmcp mcp add添加的服务及其他标志合并。
重要
重大变更:
--auto-discovery/-a已替换为--claude-desktop。此外,通过ollmcp mcp add添加的服务现在始终会自动加载,不再是使用其他标志时会消失的后备选项。Claude Desktop 服务不会自动加载;使用--claude-desktop将其纳入。
推理提供方配置:
--model、-mMODEL:要使用的模型。默认值:如果已设置,则使用已保存配置中的模型;否则使用 Ollama 中的第一个可用模型--provider、-pPROVIDER:要使用的大模型提供方(例如ollama、openai、atlascloud、openrouter、deepseek)。默认值:ollama--host、-HHOST:大模型主机 / API 基础 URL。对于ollama提供方,默认为 Ollama 的http://localhost:11434;否则默认为该提供方自己的默认端点。--api-key、-kKEY:大模型提供方的 API 密钥。也会从$OLLMCP_API_KEY环境变量读取,该变量与提供方无关(适用于通过--provider选择的任何提供方)。通过$OLLMCP_API_KEY传入的密钥绝不会写入配置文件;只有通过--api-key传入的密钥会被保存。ollama无需密钥。
说明
当前支持的提供方:
ollama、openai、atlascloud以及任何兼容 OpenAI 的提供方(openrouter、deepseek、perplexity等)。更多提供方即将推出。
通用选项:
--version、-v:显示版本并退出--help、-h:显示帮助信息并退出--install-completion:为客户端安装 Shell 自动补全脚本--show-completion:显示可用的 Shell 补全选项
MCP 服务日志:
MCP 服务报告的所有内容都会写入 ~/.config/ollmcp/logs/<session>/<server>.log,每次运行使用一个目录,并保留最近 5 次运行的日志。除非你主动要求,否则服务打印的内容不会显示在屏幕上——否则这些内容会覆盖正在流式传输的回答。
服务通过两个渠道报告信息:其 stderr(仅限 stdio 服务,因为远程服务运行在其他位置)和 MCP 日志通知(适用于任何服务)。这两个标志只会改变屏幕上显示的内容——无论如何,日志文件都会记录所有内容:
| 写入日志文件 | 显示在屏幕上 | |
|---|---|---|
| (无标志) | 服务发送的所有内容 | 不显示服务的任何内容 |
--debug | 服务发送的所有内容 | 所有内容,实时显示 |
--log-level LEVEL | 服务发送的所有内容 | 仅显示 LEVEL 或更高级别的通知 |
--debug --log-level LEVEL | 服务发送的所有内容 | 完整 stderr + LEVEL 或更高级别的通知 |
LEVEL 可以是 debug、info、notice、warning、error、critical、alert 或 emergency。
不使用标志时,完全不会请求日志级别:服务自行决定输出什么,所有内容都会被记录。--log-level 会筛选屏幕上显示的内容,并且在服务声明支持日志记录功能时,也会将该级别发送给服务(logging/setLevel)——此类服务随后可能停止输出较低级别的日志,这些内容也就不会出现在文件中。不支持该功能的服务会继续发送所有内容,并由此处进行筛选。
服务连接失败时,错误信息会指向其日志文件:服务退出前打印的内容都在其中,而这通常就是真正的原因。
说明
ollmcp 自身报告的内容会写入
~/.config/ollmcp/logs/<session>/ollmcp.log,与服务日志文件放在一起。每次运行都会写入,无需使用--debug;当响应流提前结束时,屏幕上的警告会指向此文件。目前此功能仍在开发中:日志暂时主要记录提供方和流式传输错误,之后会逐步记录更多内容。
支持的推理提供商
警告
非 Ollama 提供商处于实验阶段。 最近才添加对 Ollama 以外提供商的支持,目前仍在逐步稳定,部分功能可能尚无法正常运行。
ollmcp 支持 Ollama 以及 any-llm 提供的所有 OpenAI 兼容提供商。使用 --provider 进行选择。通过 --api-key 或 $OLLMCP_API_KEY 提供密钥(两者均适用于任何所选提供商),也可以使用下表中对应提供商自己的环境变量。$OLLMCP_API_KEY 和提供商原生环境变量永远不会写入磁盘;只有通过 --api-key 传入的密钥才会保存到配置中。
提供商(--provider) | API 密钥环境变量 |
|---|---|
ollama(默认) | -(本地) |
atlascloud | ATLASCLOUD_API_KEY |
azureopenai | AZURE_OPENAI_API_KEY |
dashscope | DASHSCOPE_API_KEY |
databricks | DATABRICKS_TOKEN |
deepinfra | DEEPINFRA_API_KEY |
deepseek | DEEPSEEK_API_KEY |
fireworks | FIREWORKS_API_KEY |
gateway | GATEWAY_API_KEY |
inception | INCEPTION_API_KEY |
llama | LLAMA_API_KEY |
llamacpp | -(本地) |
llamafile | -(本地) |
lmstudio | LM_STUDIO_API_KEY |
minimax | MINIMAX_API_KEY |
moonshot | MOONSHOT_API_KEY |
mzai | ANY_LLM_KEY |
nebius | NEBIUS_API_KEY |
openai | OPENAI_API_KEY |
openrouter | OPENROUTER_API_KEY |
perplexity | PERPLEXITY_API_KEY |
portkey | PORTKEY_API_KEY |
qiniu | QINIU_API_KEY |
sambanova | SAMBANOVA_API_KEY |
vllm | VLLM_API_KEY |
zai | ZAI_API_KEY |
说明
本地 OpenAI 兼容服务(
ollama、llamacpp、llamafile、lmstudio、vllm)通常无需 API 密钥,可通过--host指定 ollmcp 连接它们。any-llm 提供的、不兼容 OpenAI 的提供商(例如anthropic、gemini、mistral、groq、cohere)目前尚不支持。
警告
能力检测限制: ollmcp 只会从 Ollama 读取模型的真实能力(
tools、vision、thinking)。对于所有非 Ollama 提供商,目前都假定这三项能力可用,并在模型列表和徽章中如此显示。因此,即使模型实际上不支持工具、视觉或思考,也可能会被报告为支持。如果模型缺少某项能力,尝试使用时提供商的 API 会返回错误。
API 密钥解析顺序
对于选定的提供商,ollmcp 按以下顺序解析 API 密钥,优先级从高到低:
--api-key/-k标志。$OLLMCP_API_KEY环境变量(与提供商无关,适用于你通过--provider选择的任何提供商)。- 保存在
~/.config/ollmcp/config.json中的该提供商专用密钥(仅当此前通过--api-key传入过时才存在)。 - 提供商自身的原生环境变量,由 any-llm 检测(例如
OPENAI_API_KEY、OPENROUTER_API_KEY)。
警告
已保存的提供商专用密钥(3)的优先级高于提供商的原生环境变量(4)。因此,如果你之前保存了一个错误或过期的密钥,仅设置
OPENAI_API_KEY(或等效变量)不会覆盖它。要解决此问题,请通过--api-key传入正确的密钥,或从~/.config/ollmcp/config.json中该提供商的配置项里删除过时的apiKey。
使用示例
运行客户端最简单的方法:
ollmcp
提示
这会连接通过
ollmcp mcp add注册的所有服务,并使用已保存配置文件中的模型;如果没有保存模型,则使用 Ollama 中第一个可用的模型。传入--claude-desktop还可包含 Claude Desktop 配置中的服务。
连接到单个服务:
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
提示
如果未指定
--model,则使用已保存配置文件中的模型;否则会自动选择 Ollama 中第一个可用的模型(如果没有安装模型,系统会告知你如何拉取一个)。
使用 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
# Or using short flags:
ollmcp -H http://localhost:22545 -j /path/to/servers.json
使用其他大模型提供商(OpenAI 或任何兼容 OpenAI 的 API):
ollmcp --provider openai --api-key $OPENAI_API_KEY --model gpt-5.5
# OpenAI-compatible providers (e.g. OpenRouter, DeepSeek); override the endpoint with --host if needed:
ollmcp --provider openrouter --api-key $OPENROUTER_API_KEY -m openrouter/free
提示
提供商设置(模型、主机、API 密钥)会按提供商分别记住。通过
/save-config保存后,直接运行ollmcp会恢复上次使用的提供商。详情请参阅配置管理。
通过 URL 连接到 SSE 或 Streamable 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
将 Claude Desktop 服务与其他来源的服务一同包含:
ollmcp --mcp-server /path/to/weather.py --mcp-server-url http://localhost:8000/mcp --claude-desktop
# Or using short flags:
ollmcp -s /path/to/weather.py -u http://localhost:8000/mcp --claude-desktop
工具调用的工作方式
- 客户端将你的查询和可用工具列表发送给 Ollama
- 如果 Ollama 决定使用某个工具,客户端会:
- 以格式化参数和语法高亮显示工具执行过程
- 显示人在回路确认提示词(如果已启用),供你查看并批准工具调用
- 从模型响应中提取工具名称和参数
- 使用这些参数调用相应的 MCP 服务(仅在获批或禁用 HIL 时)
- 以结构化、易读的格式显示工具响应(包括图像和不支持媒体的摘要)
- 如果工具返回了图像且当前模型支持视觉功能,则将图像附加到下一条大模型消息中;否则显示警告
- 将工具结果发送回 Ollama
- 如果处于 Agent 模式,则在模型请求更多工具调用时重复此过程
- 最后,客户端会:
- 显示包含工具结果的模型最终响应
Agent 模式
某些模型可能会在一次对话中请求多次工具调用。客户端支持 Agent 模式,允许迭代执行工具:
- 当模型请求工具调用时,客户端会执行该调用并将结果发送回模型
- 此过程会重复进行,直到模型给出最终答案或达到配置的循环上限
- 你可以使用
/loop-limit(/ll)命令设置最大迭代次数 - 默认循环上限为
7,以防止无限循环
达到循环上限时
客户端不会静默停止,而是暂停并询问你接下来要如何操作:
| 选项 | 按键 | 说明 |
|---|---|---|
| 继续 | c (默认) | 再授予一批迭代次数(与当前上限相同) |
| 指定次数 | n | 精确选择还允许多少次迭代 |
| 无限制 | u | 移除上限,持续运行,直到模型不再请求工具 |
| 收尾 | w | 让模型总结目前收集到的信息并生成最终答案——保留达到上限前收集到的所有工具结果 |
| 中止 | a | 完全丢弃本轮操作(不会保存到历史记录) |
说明
如果你想阻止使用 Agent Mode,只需将循环上限设为
1。
Agent Mode 快速演示:
交互式命令
聊天期间,使用以下命令:
重要
新: 内置交互式命令现在必须以
/开头。
- 使用
/help、/model、/tools、/prompts等。- 不再将
help或model这类不带/的命令名称作为命令执行。- 调用提示词也要使用
/,建议使用/server:prompt_name以避免冲突。

| 命令 | 快捷方式 | 描述 |
|---|---|---|
abort | a | 模型正在生成内容时,中止当前响应的生成 |
/clear、/new | /cc | 清除对话历史记录和上下文 |
/cls | /clear-screen | 清除终端屏幕 |
/context | /c | 切换上下文保留状态 |
/context-info | /ci | 显示上下文统计信息 |
/export-history | /eh | 将聊天历史记录导出到 JSON 文件 |
/full-history | /fh | 显示全部对话历史记录 |
/help | /h | 显示帮助和可用命令 |
/import-history | /ih | 从 JSON 文件导入聊天历史记录 |
/human-in-the-loop | /hil | 切换工具执行的 Human-in-the-Loop 确认 |
/load-config | /lc | 从文件加载工具和模型配置 |
/loop-limit | /ll | 设置最大迭代工具循环次数(Agent 模式)。默认值:7 |
/model | /m | 列出并选择其他 Ollama 模型 |
/model-config | /mc | 配置高级模型参数和系统提示词 |
/display-mode | /dm | 选择纯文本、Markdown、两者兼有或 Markdown(代码块)答案显示模式 |
/input-mode | /im | 选择单行或多行聊天输入模式 |
/prompts | /pr | 浏览和查看所有可用的 MCP 提示词 |
/server:prompt_name | /prompt_name | 调用提示词(建议使用限定名称) |
/resources | /res | 浏览和查看所有可用的 MCP 资源 |
@uri | - | 按 URI 读取特定资源(例如,@server://info) |
/quit、/exit、/bye | /q、Ctrl+C 或 Ctrl+D | 退出客户端 |
/reload-servers | /rs | 使用当前配置重新加载所有 MCP 服务 |
/reset-config | /rc | 将配置重置为默认值(启用所有工具) |
/save-config | /sc | 将当前工具和模型配置保存到文件 |
/show-metrics | /sm | 切换性能指标显示 |
/show-thinking | /st | 切换思考文本的可见性(默认可见) |
/thinking-mode | /tm | 在受支持的模型上切换思考模式 |
/reasoning-effort | /re | 在思考模式开启时设置推理强度级别(auto/minimal/low/medium/high/xhigh)。默认值:medium |
/show-tool-execution | /ste | 切换工具执行信息的显示状态 |
/tools | /t | 打开工具选择界面 |
MCP 工具
工具和服务选择界面可让你启用或禁用特定工具:

- 输入以逗号分隔的数字(例如
1,3,5)可切换指定工具 - 输入数字范围(例如
5-8)可切换多个连续工具 - 输入 S + 数字(例如
S1)可切换特定服务中的所有工具 a或all- 启用所有工具n或none- 禁用所有工具d或desc- 显示/隐藏工具说明j或json- 显示已启用工具的详细 JSON 架构,以便调试s或save- 保存更改并返回聊天q或quit- 取消更改并返回聊天
MCP 提示词
MCP 提示词提供由服务定义、可重复使用的对话开场白和上下文模板。服务可以公开带有说明、必需参数和预格式化消息的提示词,帮助你快速开始特定类型的对话,或向聊天中注入结构化上下文。
功能
- 📋 浏览提示词:查看已连接服务提供的所有可用提示词及其说明和参数要求
- ⚡️ 快速调用:使用斜杠语法调用提示词(推荐使用
/server:prompt_name) - 🔤 自动补全:输入
/查看提示词建议,并支持模糊匹配 - 📝 收集参数:交互式提示词会引导你填写必需参数
- 👁️ 预览:注入前检查提示词内容,确保符合你的需求
- 🎯 灵活注入:选择立即执行,或仅注入(添加到历史记录但不触发模型)
- 🧠 感知上下文:根据提示词以用户消息还是助手消息结尾,自动调整行为
- 🔄 安全回滚:中止操作或遇到错误时,自动清理历史记录
- 💬 文本内容:支持基于文本的提示词消息(即将支持图像/音频/资源)
如何使用 MCP 提示词
浏览可用提示词:
/prompts # or '/pr'
此命令会按服务分组显示所有提示词,包括名称、必填参数和描述。
调用提示词:
/server:prompt_name
例如,如果名为 docs 的服务提供了名为“summarize”的提示词:
/docs:summarize
如果某个提示词名称在已连接的服务中唯一,可以使用简写形式:
/summarize
如果多个服务提供了同名提示词,客户端会提示你使用完整形式,并建议有效的 /server:prompt_name 选项。
自动补全:
- 输入
/可查看所有可用提示词及其描述 - 继续输入可通过模糊匹配筛选提示词
- 使用方向键浏览,然后按 Enter 选择
提示
连接 MCP 服务后,系统会自动发现提示词。如果服务支持提示词,它们会立即显示在
prompts列表中,也可通过自动补全使用。
工作流:
- 输入
/server:prompt_name(推荐),或从自动补全列表中选择 - 如果提示词需要参数,系统会提示你提供参数
- 查看提示词预览,了解将注入的内容
- 选择提示词的使用方式:
- y/yes(默认):将提示词发送给模型并获取回复
- 对于以用户消息结尾的提示词:将该消息用作查询
- 对于以助手消息结尾的提示词:添加“请根据以上上下文作答。”作为查询
- i/inject:仅将提示词添加到对话历史中,不触发模型(之后你可以自行输入查询)
- n/no:取消并返回聊天
- y/yes(默认):将提示词发送给模型并获取回复
- 根据你的选择注入提示词
- 如果在模型生成过程中中止(按 'a'),更改会自动回滚
示例:

警告
内容类型限制:MCP 提示词目前仅支持文本内容。以下内容类型尚不支持,将自动跳过:
- 🖼️ 图像 - 提示词中的图像内容
- 🎵 音频 - 提示词中的音频内容
- 📦 资源 - 嵌入的资源内容
MCP 资源
MCP 资源可用于访问 MCP 服务公开的上下文数据,包括文件、文档、结构化数据等。服务可以公开带有元数据(名称、描述、MIME 类型)的资源,供你浏览并读取到对话上下文中。
功能
- 📋 浏览资源:查看已连接服务中的所有可用资源,包括 URI、名称、MIME 类型和描述
- 📖 读取资源:使用
@uri语法读取资源内容,可单独使用,也可嵌入查询中 - 📝 文本内容:全面支持基于文本的资源(Markdown、代码、日志等)
- 🖼️ 视觉图像支持:图像资源(
image/*)会自动以 base64 图像形式转发给支持视觉功能的模型 - 🎯 上下文注入:资源内容会被缓冲,并作为上下文与下一条查询一同注入
- 🔍 自动补全:输入
@可通过模糊匹配查看可用资源和模板建议 - 🛡️ 二进制安全处理:检测到非图像二进制内容(音频、视频、PDF、存档文件)时,会附带说明并安全跳过
如何使用 MCP 资源
浏览可用资源:
/resources # or '/res'
此命令会按服务列出所有资源和模板,并显示 URI、名称、MIME 类型和描述。二进制资源会标记为 [binary],模板会标记为 [template]。
读取资源:
@<uri>
例如,读取文件资源:
@file:///path/to/document.md
使用 @uri 有两种方式:
1. 独立使用(先缓冲,再查询): 单独输入 @uri。资源会被获取并缓冲。然后在下一个提示中输入查询。资源内容会自动注入为上下文。
2. 内联使用(单轮完成): 在查询文本的任意位置加入 @uri。资源会被获取,查询也会在一个步骤中立即处理。
独立使用示例:
qwen3/show-thinking/6-tools❯ @server://info
✅ Read resource 'get_server_info' (197 chars)
Preview:
This is a simple MCP server with streamable HTTP transport. It supports tools for greeting, adding numbers, generating
random numbers, and calculating BMI. It also provides a BMI calculator prompt.
1 resource(s) buffered. Type your query, or include @another_uri inline.
qwen3/show-thinking/6-tools❯ Next question here
内联使用示例:
qwen3/show-thinking/6-tools❯ summarize the key features from @server://info
✅ Read resource 'get_server_info' (197 chars)
Preview:
This is a simple MCP server with streamable HTTP transport. It supports tools for greeting, adding numbers, generating
random numbers, and calculating BMI. It also provides a BMI calculator prompt.
[model response]
提示
连接到 MCP 服务时会自动发现资源。如果服务支持资源,这些资源会立即出现在
resources列表和@自动补全中。
说明
🖼️ 支持图像(
image/*),图像会以 base64 数据的形式直接传递给支持视觉能力的模型。 二进制内容:以下资源类型不支持作为上下文,会跳过并显示说明性消息:
- 🎵 音频 -
audio/*MIME 类型- 📹 视频 -
video/*MIME 类型- 📄 PDF -
application/pdf- 🗜️ 压缩文件 -
application/zip、application/octet-stream
答案显示模式
/display-mode(/dm)命令可让你选择模型答案在流式输出期间的显示方式:
- 纯文本:以纯文本形式流式输出响应一次,不进行最终的 Markdown 重新渲染
- ✨全新 Markdown(默认):逐行流式输出格式化的 Markdown — 除末尾少量实时输出的行外,上方的行只打印一次,不会重绘,因此即使遇到表情符号或终端尺寸变化,也能保持可靠
- 两者:先流式输出纯文本,再将完整响应重新渲染为 Markdown
- Markdown(按块):一次渲染一个 Markdown 块;采用仅追加方式,每个段落、列表、表格或代码块在完成时打印一次,不会重绘,因此不会重复行
聊天时使用 /display-mode 或 /dm 打开交互式选择器。
切换模式的理由:
- 如果希望尽量减少重绘或闪烁,纯文本是干扰最少的选项
- Markdown 将逐行流式输出与连贯的 Markdown 格式结合起来;最多只有最后几行会被重绘,因此即使遇到表情符号或终端尺寸变化,异常也会受到限制
- 两者既能快速获得流式输出反馈,也能在最后获得整洁的 Markdown 渲染
- **Markdown(按块)**是在流式输出期间查看格式化 Markdown 最稳妥的方式,代价是按块而非逐行更新
提示
你选择的显示模式会通过
/save-config保存,并通过/load-config恢复,因此可以为不同的工作流保留不同的显示偏好。
输入模式
/input-mode(/im)命令用于控制聊天消息的输入方式:
- 单行(默认):输入消息后按 Enter 立即发送
- 多行:按 Enter 换行,完成后按 Esc 再按 Enter 发送整条消息。这样可以输入包含多个段落或代码块的复杂消息。
- 多行模式下,Ctrl+J 也可插入换行,作为在各类终端中都可靠的备用方式
聊天时使用 /input-mode 或 /im 打开交互式选择器。
重要
多行发送快捷键可能因终端模拟器和操作系统的键盘处理方式而异。此客户端在多行模式下使用 先按 Esc,再按 Enter 作为通用提交快捷键。某些终端可能支持 Shift+Enter 和 Meta+Enter,但无法保证一定可用。
模型选择
模型选择界面会显示 Ollama 安装中所有可用的模型:

- 输入要使用的模型编号
s或save- 保存模型选择并返回聊天q或quit- 取消模型选择并返回聊天
高级模型配置
/model-config (/mc) 命令会打开高级模型设置界面,让你微调模型生成回复的方式:

系统提示词
- 系统提示词:设置模型的角色和行为,以引导回复。
关键参数
- 上下文窗口(num_ctx):设置模型使用多少聊天历史记录。请平衡上下文长度与内存使用量和性能。
- 保留令牌数:防止重要令牌被丢弃
- 最大令牌数:限制回复长度(0 = 自动)
- 随机种子:使输出可复现(设为 -1 表示随机)
- 温度:控制随机性(0 = 确定性,值越高越有创造性)
- Top K / Top P / Min P / Typical P:控制采样多样性
- 重复次数 / 重复惩罚:减少重复
- 存在惩罚/频率惩罚:鼓励讨论新主题,减少重复
- 停止序列:自定义停止点(最多 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查看详情和建议。更改会随配置一同保存。
思考模式与推理力度
使用 /thinking-mode (/tm) 启用思考模式,以激活受支持模型的扩展推理(例如 qwen3、deepseek-r1、支持扩展思考的 Claude)。使用 /show-thinking (/st) 切换是否在回复中显示推理过程。
使用 /reasoning-effort (/re) 控制思考模式开启时模型投入多少推理力度:
| 级别 | 描述 |
|---|---|
auto | 提供方的默认力度(推荐用于云端) |
minimal | 速度最快,推理最少 |
low | 轻度推理 |
medium | 均衡 — 默认 |
high | 更深入的推理 |
xhigh | 最大推理力度 |
说明
某些提供方或模型可能会忽略推理力度设置。
开发时重新加载服务
/reload-servers 命令(/rs)在开发 MCP 服务时尤其有用。它可以重新加载所有已连接的服务,而无需重启整个客户端应用程序。
主要优势:
- 🔄 热重载:立即应用对 MCP 服务代码所做的更改
- 🛠️ 开发工作流:非常适合迭代开发和测试
- 📝 配置更新:自动获取服务 JSON 配置或 Claude 配置中的更改
- 🎯 状态保留:重新加载后保留你对工具启用/禁用状态的偏好
- ⚡️ 节省时间:无需重启客户端并重新配置所有内容
适用场景:
- 修改 MCP 服务实现后
- 更新 JSON 文件中的服务配置后
- 更改 Claude 的 MCP 配置后
- 调试时,确保测试的是最新版本的服务
只需在聊天界面中输入 /reload-servers 或 /rs,客户端就会:
- 断开与所有当前 MCP 服务的连接
- 使用相同参数重新连接(通过
ollmcp mcp add添加的服务、服务路径、配置文件、--claude-desktop) - 恢复之前的工具启用/禁用设置
- 显示更新后的服务和工具状态
此功能可显著改善构建和测试 MCP 服务时的开发体验。
人在回路(HIL)工具执行
人在回路功能提供了额外的安全保障,让你可以在工具执行前进行审核和批准。此功能尤其适用于:
- 🛡️ 安全性:在执行可能造成破坏的操作前进行审核
- 🔍 了解情况:了解模型想要使用哪些工具以及原因
- 🎯 控制:仅执行你批准的工具
- 🚫 防止误操作:阻止不需要的工具调用执行
- 🔄 会话模式:自动批准当前查询会话中的所有工具
- 🛑 中止查询:中止整个查询,且不保存到历史记录
HIL 确认提示
启用 HIL 后,每次执行工具前都会看到确认提示:
示例:

HIL 确认选项
出现提示时,你可以选择以下选项:
- y/yes:执行此工具调用
- n/no:跳过此工具调用并继续查询
- s/session:执行此工具调用,以及当前查询中后续的所有工具调用,期间不再提示
- d/disable:永久禁用 HIL 确认(可使用
/hil命令重新启用) - a/abort:立即中止整个查询,且不保存到历史记录
提示
当模型需要按顺序执行多个工具时,session 选项尤其有用。你无需逐个确认,而是可以批准当前查询会话中的所有工具;HIL 会在下次查询时自动重置。
Human-in-the-Loop(HIL)配置
- 默认状态:为确保安全,默认启用 HIL 确认
- 切换命令:使用
/human-in-the-loop或/hil开启或关闭 - 持久化设置:HIL 偏好设置会随配置一同保存
- 快速禁用:在任意确认过程中选择“disable”,即可永久关闭
- 会话自动批准:在确认过程中选择“session”,即可批准当前查询使用的所有工具
- 中止查询:在确认过程中选择“abort”,即可立即停止查询且不保存
- 重新启用:随时使用
/hil命令重新开启确认
优势:
- 增强安全性:防止意外或不必要的工具执行
- 了解操作:了解模型尝试执行的操作
- 选择性控制:逐项选择允许执行的操作
- 灵活的工作流:使用会话模式高效处理涉及多个工具的查询,对敏感操作单独审批
- 干净地中止:立即停止有问题的查询,不会污染对话历史
- 安心无忧:全面了解并控制自动化操作
性能指标
性能指标功能会在每次查询后,在带边框的面板中显示详细的模型性能数据。这些指标直接取自 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 格式包含查询和响应,并会进行适当的结构验证
优点:
- 会话连续性:在不同会话之间继续对话
- 备份:保留重要对话的记录
- 分析:导出历史记录以供外部分析或审查
- 共享:与团队成员共享对话上下文
- 测试:导入测试对话,用于开发和调试
提示
导出时,如果你没有提供文件名,系统会自动生成带时间戳的文件名,以防止意外覆盖。
自动补全和提示词功能
Typer Shell 自动补全
- CLI 通过 Typer 支持所有选项和参数的 Shell 自动补全
- 要启用此功能,请运行
ollmcp --install-completion,并按照对应 Shell 的说明操作 - 通过 Tab 补全所有分组和常规选项
FZF 风格的自动补全
- 为命令和提示词提供斜杠命名空间自动补全(
/) - 菜单中显示命令说明
- 不区分大小写匹配,使用更方便
- 集中管理命令列表,确保一致性
- 有意让纯文本查询输入不受操作自动补全干扰
MCP 提示词自动补全
- 输入
/以触发提示词自动补全 - 根据提示词名称和说明进行模糊匹配
- 支持限定格式的提示词引用,例如
/server:prompt_name - 菜单中显示提示词说明
- 提示词参数会在调用提示词时收集(不会显示在自动补全列表中)
- 根据终端宽度截断说明
上下文提示符
聊天提示符现在会一目了然地显示清晰的上下文信息:
- 模型:显示当前使用的 Ollama 模型
- 思考模式:指示“思考模式”是否已启用(适用于支持该模式的模型)
- 工具:显示已启用工具的数量
提示符示例:
qwen3/show-thinking/12-tools❯
qwen3模型名称/show-thinking思考模式指示符(如果已启用;否则显示/thinking或不显示)/12-tools已启用工具的数量(单数时显示/1-tool)❯提示符号
这样,你在输入查询前就能轻松查看当前上下文。
提示
在提示符号后输入
/,即可查看可用 MCP 提示词的自动补全建议。
配置管理
提示
不带任何标志运行
ollmcp时,如果默认配置~/.config/ollmcp/config.json存在,系统会自动加载该配置。
客户端会在不同会话之间保存并加载你的偏好设置:
- 使用
/save-config时,你可以为配置指定名称,也可以使用默认名称 - 配置存储在
~/.config/ollmcp/目录中 - 默认配置保存为
~/.config/ollmcp/config.json - 命名配置保存为
~/.config/ollmcp/{name}.json
每个提供商的配置文件
连接设置按提供商分别存储,因此切换提供商时绝不会复用其他提供商的模型、主机或 API 密钥。每个提供商都有自己的:
- 模型选择
- 主机 / API 基础 URL
- API 密钥
配置还会记录一个 defaultProvider。运行 ollmcp 且未指定 --provider 标志时,它会加载该提供商的配置文件;全新安装时默认使用 ollama。每次执行 /save-config 时,当前使用的提供商都会成为新的默认提供商,因此直接运行 ollmcp 就会恢复到上次使用的提供商。随时传入 --provider <name>,即可切换到(并加载)其他提供商的配置文件;--model / --host / --api-key 则会覆盖本次运行中保存的值。
说明
只有通过
--api-key传入的密钥会以纯文本形式存储在~/.config/ollmcp/config.json中。通过$OLLMCP_API_KEY环境变量或提供商原生环境变量(例如OPENROUTER_API_KEY)提供的密钥绝不会写入磁盘;如果不希望密钥被持久保存,请使用其中一种方式。
以下设置会由所有提供商共享:
- 高级模型参数(系统提示词、温度、采样设置等)
- 所有工具的启用/禁用状态
- 上下文保留设置
- 思考模式设置
- 答案显示模式偏好
- 工具执行显示偏好
- 性能指标显示偏好
- 人在回路确认设置
~/.config/ollmcp/config.json 示例:
{
"defaultProvider": "openai",
"providers": {
"ollama": { "host": "http://localhost:11434", "model": "qwen3:1.7b", "apiKey": "" },
"openai": { "host": "", "model": "gpt-5.5", "apiKey": "sk-..." }
},
"enabledTools": {},
"modelConfig": {},
"...": "shared settings"
}
提示
较旧的扁平配置文件(顶层包含
host/model/provider/apiKey)会在首次运行此版本时自动迁移,并在下次执行/save-config时改写为按提供商划分的格式。
服务配置格式
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": true
},
"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
然后,你可以在启动时通过 -j / --servers-json 将该文件传给 ollmcp。
重要
对于基于 HTTP 的 MCP 服务,
"type": "http"、"streamable-http"和"streamable_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 issue:https://github.com/jonigl/mcp-client-for-ollama/issues/112#issuecomment-3446569030
演示
一段简短的演示(asciicast),可帮助任何人快速复现可用配置。此示例使用了一个采用 streamable HTTP 协议的 MCP 服务示例:
常见 MCP 端点路径
流式 HTTP MCP 服务通常会将 MCP 端点设为 /mcp(例如,https://host/mcp),而 SSE 服务通常使用 /sse(例如,https://host/sse)。以下摘录自 MCP 规范(2025-06-18):
服务端 MUST 提供一个同时支持 POST 和 GET 方法的 HTTP 端点路径(下文称为 MCP 端点)。例如,该路径可以是 https://example.com/mcp 这样的 URL。
更多详情请参阅 MCP 规范版本 2025-06-18 - 传输。
说明
远程 MCP 服务的 HTTPS 证书会根据你的操作系统信任存储进行验证,而不是根据
certifi证书包进行验证。如果 MCP 服务位于私有或企业 CA 后面,或者你在没有系统 CA 存储的精简容器中运行 ollmcp,TLS 握手就会失败,而且错误信息不会提及 ollmcp。将SSL_CERT_FILE(证书包文件)或SSL_CERT_DIR(目录)指向你的 CA 即可解决此问题:export SSL_CERT_FILE=/path/to/corporate-ca.pem
兼容的模型
以下 Ollama 模型适用于工具调用:
- gemma4
- qwen3.5
- lfm2.5-thinking
- llama3.2
- mistral
如需查看支持工具调用的完整 Ollama 模型列表,请访问 Ollama 官方模型页面。
如需查看也能处理工具返回图像的模型,请参阅 Ollama 视觉模型页面。
Ollama Cloud 模型
Ollama MCP 客户端现已支持 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 文档。
赞助商
本项目由以下赞助商支持:
Atlas Cloud
Atlas Cloud 是一个全模态 AI 推理平台——通过统一的 AI API,为视频、图像和大模型工作负载提供对 300 多个精选模型的统一访问。
它开箱即用地兼容 ollmcp:
ollmcp --provider atlascloud --api-key YOUR_ATLASCLOUD_API_KEY
# or export the key once and skip the flag:
export ATLASCLOUD_API_KEY=YOUR_ATLASCLOUD_API_KEY
ollmcp --provider atlascloud
流式传输和工具调用均受支持,你可以通过交互式 /model 命令浏览并选择 Atlas Cloud 的任意模型。
成为赞助商
想让你的 Logo 出现在这里吗?通过 GitHub Sponsors 支持本项目 ❤️
在哪里可以找到更多 MCP 服务?
你可以在官方 MCP 服务仓库中浏览 MCP 服务集合。
该仓库包含模型上下文协议的参考实现、社区构建的服务,以及用于增强大模型工具能力的其他资源。
相关项目
- Ollama MCP Bridge - 一个位于 Ollama 前端的 Python API 层,可自动将多个 MCP 服务中的工具添加到每个聊天请求中。本项目提供透明的代理解决方案,可在启动时预加载所有 MCP 服务,并将其工具无缝集成到 Ollama API 中。
- MCP Server with Streamable HTTP Example - 一个 MCP 服务示例,演示如何使用可流式传输的 HTTP 协议。
安全
你连接的 MCP 服务由你信任,其工具和资源的响应会作为不可信内容传递给模型。有关信任模型、如何处理间接提示词注入以及如何报告漏洞,请参阅 SECURITY.md。
许可证
本项目采用 MIT License 许可,详情请参阅 LICENSE 文件。
致谢
- Ollama 提供本地大模型运行时
- Model Context Protocol 提供规范和示例
- any-llm 提供连接多个大模型提供商的统一接口
- Rich 提供终端用户界面
- Typer 提供现代化的命令行体验
- Prompt Toolkit 提供交互式命令行界面
- uv 提供快速的 Python 包管理器和虚拟环境管理功能
- Asciinema 提供演示录制
由 jonigl 倾情打造 ❤️
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。