小巧的 MCPHost
MCPHost 可以在命令行下使用,使大型语言模型(LLM)能够通过模型上下文协议(MCP)与外部工具进行交互。目前支持 Claude 3.5 Sonnet 和 Ollama 等。本次实践使用自己架设的 DeepSeek v3 模型,跑通了 Time MCP 服务。
下载安装
使用非常方便,直接下载解压即可使用。官网提供 Windows、Linux 和 MacOS 三个系统的压缩包。
https://github.com/mark3labs/mcphost/releases/tag/v0.4.4
比如 Windows 系统,直接下载压缩包,解压到工作目录,直接就是可执行文件,在工作目录即可使用。当然也可以把工作目录放入系统 PATH 路径中,就可以在任意地方调用指令了。
其它前置需求:大约需要先安装好 uv 和 nodejs。
MCPHost 交互实践
学习 MCPHost 命令
直接在命令行下,一句话就能进行 MCP 的交互,比如在工作目录创建一个 Time MCP 配置文件 mcp.json,内容如下:
{
"mcpServers": {
"time": {
"command": "uvx",
"args": ["mcp-server-time", "--local-timezone=Asia/Shanghai"]
}
}
}
搭建一个 AI 服务器,地址是 http://192.168.1.5:1337。或者也可以用手头有的 AI API 服务,比如 OpenAI、Ollama、硅基流动、LMStudio 等提供的 API 调用服务。
MCPHost 使用一句命令就能连通 AI 服务器,启动 mcp.json 设置的 mcp-server-time,并进入交互界面:
mcphost --openai-api-key=$OPENAI_API_KEY -m openai:gpt-4o --openai-url http://192.168.1.5:1337 --config mcp.json
在交互界面就可以输入文字进行交互了,比如问它几点了。
┃ Enter your prompt (Type /help for commands, Ctrl+C to quit) ┃
查看帮助
可以用/help 看看 MCPHost 的指令帮助:
mcphost.exe -h
输出示例:
MCPHost is a CLI tool that allows you to interact with various AI models through a unified interface.
Available models can be specified using the --model flag:
- Anthropic Claude (default): anthropic:claude-3-5-sonnet-latest
- OpenAI: openai:gpt-4
- Ollama models: ollama:modelname
Example: mcphost -m ollama:qwen2.5:3b
Usage: mcphost [flags]
Flags:
--anthropic-api-key string
--anthropic-url string
--config string
--debug enable debug logging
-h, --help help for mcphost
--message-window int
-m, --model string
--openai-api-key string
--openai-url string
进入交互界面后,还可以用/help 来看交互界面下的命令:
• /help: Show this help message
• /tools: List all available tools
• /servers: List configured MCP servers
• /history: Display conversation history
• /quit: Exit the application
You can also press Ctrl+C at any time to quit.
比如用/tools 看看工具:
• time
• get_current_time
• convert_time
可以看到当前的工具是 time。
用/servers 看看服务:
# time
Command uvx
Arguments mcp-server-time --local-timezone=Asia/Shanghai
调试 mcp-server-time
用模型 claude-3-5-sonnet(模型没调通)
用 gpt-4o 模型问不出时间来。 尝试换个模型,换成 claude-3-5-sonnet。
mcphost --openai-api-key=$OPENAI_API_KEY -m openai:claude-3-5-sonnet --openai-url http://192.168.1.5:1337 --config mcp.json
这个问了问题会退出...因为是自己搭建的服务器,所以可能是这个模型不行(不通)。后来测试了一下,确实 claude-3-5-sonnet 本身没调好,普通交互就会报错(ContentLengthError: 400)。
换成 gpt-4o 或者 gpt-4,都是可以有回复的,但是无法报时,没有达到预期目标。
打开安全软件信任
同时所做的操作是将 uv cache 所在的目录(就是启动 mcp-server-time 服务所用的临时目录)在安全软件里打开信任。防止潜在的网络通信故障或进程无法启动的问题。
换成 deepseek-v3,成功!
太不容易了,最后把模型换成 deepseek-v3,终于成功了!
mcphost --openai-api-key=$OPENAI_API_KEY -m openai:deepseek-v3 --openai-url http://192.168.1.5:1337 --config mcp.json
问它几点了?
Assistant: Hi there! How can I assist you today?
You: what time is it?
Assistant: Current Time - Today is Monday, March 17, 2025.
看看,它回答出了今天的日期和时间,达到了使用 MCP 获取当前时间的预期目标。也就是说 deepseek-v3 模型是支持函数调用的!
再来看个完整的交互
E:\WorkDir\mcphost_Windows_x86_64>mcphost --openai-api-key=$OPENAI_API_KEY -m openai:deepseek-v3 --openai-url http://192.168.1.5:1337 --config mcp.json
日志输出:
2025/03/19 09:26:51 INFO Model loaded provider=openai model=deepseek-v3
2025/03/19 09:26:51 INFO Initializing server... name=time
2025/03/19 09:26:55 INFO Server connected name=time
2025/03/19 09:26:55 INFO Tools loaded server=time count=2
交互记录:
You: 请告诉我现在的时间,谢谢
Assistant: 您好!今天是 2025 年 3 月 19 日,星期三。以下是当前的时间信息...
You: 我在济宁,请告诉我当前的时间
Assistant: 您好!以下是济宁当前的时间信息:
济宁当前时间
• 日期:2025 年 3 月 19 日
• 星期:星期三
• 时间:上午 9:28:45
• 时区:CST(中国标准时间,UTC/GMT +8 小时)
Goodbye!
但是它并不是每回都能正确回答,有时候可能答不出来。也许还是要用官方建议的 claude-3-5-sonnet 模型效果会更好些。
目前测试出来支持的模型:deepseek-v3, deepseek-chat。
总结
这是一次很好的实践。
MCPHost 小巧实用,可以很方便的架起大模型和 MCP 之间的桥梁。
但是效果,尚需努力,使用 deepseek-v3 模型,离可以用,还有些距离。
测试下来支持 MCP 的模型有:deepseek-v3, llama3.2:3b, llama3.3:70b。


