关于 MCP Host
MCP Host 是供用户将 Ollama 模型与一个或多个 MCP 服务配合使用的 Python 客户端。它支持 stdio 和 SSE 连接,并允许模型调用已连接服务提供的工具。
主要功能
- 01连接多个 MCP 服务
- 02支持 stdio 和 SSE 传输
- 03使用本地或远程 Ollama 后端
- 04通过大模型执行服务工具
- 05用 JSON 配置服务和模型
- 06列出已连接服务及其工具
适用场景
- 01在 Ollama 聊天会话中调用服务工具
- 02通过 stdio 或 SSE 连接服务
- 03查看已连接的服务及其工具
MCP 相关
通过 stdio 或 SSE 连接配置的 MCP 服务,并将其工具提供给 Ollama 模型调用。
详细介绍
MCP 主机
一个 Python 实现的 Model Context Protocol (MCP) 主机,可连接到 Ollama 大模型后端和 MCP 服务。
功能
- 多服务支持:连接到任意数量的 MCP 兼容服务
- 多传输类型:支持 stdio 和 SSE 传输
- Ollama 集成:无缝连接到本地 Ollama 模型
- 工具执行:启用大模型使用来自已连接服务的工具
- 简单 CLI:易于使用的命令行界面
- JSON 配置:用于服务和大模型设置的简单配置文件
需求
- Ollama 在本地或远程服务器上运行
运行 MCP 主机
python mcp_host.py
运行天气服务器 (SSE)
python weather.py
配置
MCP 主机使用 JSON 配置文件来定义:
- MCP 服务:提供工具和资源的服务
- 大模型提供商:Ollama 后端的配置
服务配置
每个服务需要:
- type:传输机制 (
stdio或sse) - 对于 stdio 服务:
- command:要运行的命令
- args:命令行参数(可选)
- env:环境变量(可选)
- 对于 SSE 服务:
- url:SSE 端点 URL
大模型提供商配置
- type:提供商类型(目前仅支持
ollama) - model:要使用的模型名称(例如
llama3、mistral等) - url:Ollama API URL(默认:
http://localhost:11434) - parameters:Ollama 的其他参数(temperature、top_p 等)
命令行选项
usage: mcp_host.py [-h] [--config CONFIG] [--model MODEL]
[--message-window MESSAGE_WINDOW]
[--provider {ollama}] [--ollama-url OLLAMA_URL]
[--ollama-model OLLAMA_MODEL] [--debug] [--save-config]
MCP Host for LLM tool interactions
options:
-h, --help show this help message and exit
--config CONFIG Path to config file (default: config.json in current directory)
--model MODEL, -m MODEL
Override model specified in config
--message-window MESSAGE_WINDOW
Number of messages to keep in context
Provider Selection:
--provider {ollama} Select LLM provider
Ollama Options:
--ollama-url OLLAMA_URL
URL for Ollama API (e.g., http://localhost:11434)
--ollama-model OLLAMA_MODEL
Ollama model to use (e.g., llama3, mistral, etc.)
Other options:
--debug Enable debug logging
--save-config Save provider options to config file
使用示例
基本用法
python mcp_host.py
调试模式
python mcp_host.py --debug
特殊命令
在聊天会话期间,可以使用以下特殊命令:
tools:列出来自已连接服务的所有可用工具servers:列出所有已连接的 MCP 服务exit或quit:结束会话
工作原理
- 启动 MCP 主机时,它连接到所有已配置的 MCP 服务
- 每个服务提供可用工具的列表
- 输入查询时,查询被发送到 Ollama 大模型
- 如果大模型决定使用工具,MCP 主机执行这些工具调用
- 结果被发送回大模型
- 大模型提供包含工具结果的最终响应
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。