MCPHost 简介
MCPHost 是一款轻量级的命令行工具,允许大型语言模型(LLM)通过模型上下文协议(MCP)与外部工具进行交互。它支持 Claude、Ollama 以及本地部署的 DeepSeek 等多种模型。本文将记录使用 MCPHost 连接本地 AI 服务并调用 Time MCP 服务的完整实践过程。
项目地址:https://github.com/mark3labs/mcphost
安装与环境准备
MCPHost 无需复杂安装,下载对应系统的压缩包解压即可运行。官网提供了 Windows、Linux 和 macOS 版本。
以 Windows 为例,下载解压后,可执行文件即位于工作目录中。若希望在任何路径下调用,可将该目录加入系统 PATH 环境变量。
前置依赖方面,建议先安装好 uv 和 Node.js,以便后续运行 MCP Server。
配置 MCP 服务
在命令行中创建一个名为 mcp.json 的配置文件,定义要调用的外部工具。例如配置一个获取当前时间的服务:
{
"mcpServers": {
"time": {
"command": "uvx",
"args": ["mcp-server-time", "--local-timezone=Asia/Shanghai"]
}
}
}
接下来需要连接一个 AI 服务器。你可以搭建本地服务(如 http://localhost:1337),也可以使用 OpenAI、Ollama 或 LMStudio 等提供的 API 接口。
启动 MCPHost 并进入交互界面的命令如下:
mcphost --openai-api-key=$OPENAI_API_KEY -m openai:gpt-4o --openai-url http://<your_api_url>:<port> --config mcp.json
运行后,即可在终端中输入自然语言指令与模型交互,例如询问当前时间。
常用命令与调试
查看帮助
在命令行输入 -h 可查看 MCPHost 的参数说明,了解支持的模型格式及 API 配置项。
进入交互界面后,输入 /help 可查看会话内的快捷指令:
/tools: 列出所有可用工具/servers: 显示配置的 MCP 服务/history: 查看对话历史/quit: 退出程序
工具与服务检查
使用 /tools 可以确认当前加载的工具列表,例如 time 服务下的 get_current_time 功能。
使用 /servers 则能查看底层服务的启动命令和参数,便于排查配置问题。
模型兼容性测试
在实际使用中,不同模型对函数调用(Function Calling)的支持程度差异较大,这直接影响 MCP 工具的可用性。
遇到的问题
初期尝试使用 GPT-4o 时,虽然模型能正常回复,但无法正确调用时间工具。切换到 Claude 3.5 Sonnet 后,部分请求出现异常退出,经排查是本地代理配置问题导致。
此外,在 Windows 环境下,如果未将 uv 缓存目录添加到安全软件信任列表,可能会因网络通信被拦截而导致进程无法启动。遇到此类问题时,建议检查防火墙或杀毒软件的设置。
解决方案
经过多轮测试,DeepSeek-V3 表现最为稳定,能够准确识别意图并调用 MCP 工具。
mcphost --openai-api-key=$OPENAI_API_KEY -m openai:deepseek-v3 --openai-url http://<your_api_url>:<port> --config mcp.json
交互示例:
User: 请告诉我现在的时间
Assistant: 您好!今天是 2025 年 3 月 19 日,星期三。以下是当前的时间信息:
• 日期:2025 年 3 月 19 日
• 星期:星期三
• 时间:上午 9:28:45
• 时区:CST(中国标准时间,UTC/GMT +8 小时)
目前测试下来,支持 MCP 调用的模型包括 DeepSeek-V3、Llama3.2:3b 及 Llama3.3:70b 等。Claude 3.5 Sonnet 理论上效果更佳,但需确保环境配置无误。
总结
MCPHost 小巧实用,为 CLI 场景下的大模型扩展提供了便捷的桥梁。尽管在不同模型间的兼容性上仍需磨合,但它已能有效实现大模型与外部数据的连接。对于希望探索 MCP 协议的开发者,这是一个值得尝试的工具。

