跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / BashNode.jsAI

命令行工具 MCPHost 实现大模型与外部工具交互

MCPHost 是一款命令行工具,允许大型语言模型通过模型上下文协议(MCP)与外部工具交互。安装方法、配置文件编写及与不同模型(如 DeepSeek、Claude、GPT)的兼容性测试。实践表明 DeepSeek-v3 支持函数调用功能,可成功获取系统时间等工具信息。文章提供了具体的命令示例和调试经验,帮助开发者快速搭建本地 AI 工具链。

2177283801发布于 2026/2/8更新于 2026/9/82.9K 浏览
命令行工具 MCPHost 实现大模型与外部工具交互

小巧的 MCPHost

MCPHost 可以在命令行下使用,使大型语言模型(LLM)能够通过模型上下文协议(MCP)与外部工具进行交互。目前支持 Claude 3.5 Sonnet 和 Ollama 等。本次实践使用自己架设的 Deepseek v3 模型,跑通了 Time MCP 服务。

GitHub: mark3labs/mcphost

下载安装

使用非常方便,直接下载解压即可使用。官网提供 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 ( /  commands, Ctrl+C to quit) ┃
Type
help
for

查看帮助

可以用/help 看看 MCPHost 的指令帮助:

mcphost.exe -h

MCPHost is a CLI tool that allows you to interact with various AI models through a unified interface. It supports various tools through MCP servers and provides streaming responses. 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 mcphost -m openai:gpt-4 Usage: mcphost [flags] Flags: --anthropic-api-key string Anthropic API key --anthropic-url string base URL for Anthropic API (defaults to api.anthropic.com) --config string config file (default is $HOME/mcp.json) --debug enable debug logging -h, --help help for mcphost --message-window int number of messages to keep in context (default 10) -m, --model string model to use (format: provider:model, e.g. anthropic:claude-3-5-sonnet-latest or ollama:qwen2.5:3b) (default "anthropic:claude-3-5-sonnet-latest") --openai-api-key string OpenAI API key --openai-url string base URL for OpenAI API (defaults to api.openai.com)

进入交互界面后,还可以用/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.
## Available Models
Specify models using the --model or -m flag:
• Anthropic Claude: anthropic:claude-3-5-sonnet-latest
• Ollama Models: ollama:modelname
Examples: mcphost -m anthropic:claude-3-5-sonnet-latest mcphost -m ollama:qwen2.5:3b
┃ Enter your prompt (Type /help for commands, Ctrl+C to quit) ┃

比如用/tool 看看工具:

• time
• get_current_time
Get current time in a specific timezones
• convert_time
Convert time between timezones

可以看到当前的工具是 time。

用/services 看看服务

# 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 you assist you today? You: what time is it? Assistant: Current Time - Today is Monday, March 17, 2025. - The exact time depends on your location, but here are some references: - Central Daylight Time (CDT): 08:54:06 PM (UTC-5) - Eastern Daylight Time (EDT): 09:54:06 PM (UTC-4) Let me know if you'd like the time for a specific location!

看看,它回答出了今天的日期和时间,达到了使用 MCP 获取当前时间的预期目标。也就是说 deepseek-v3 模型是支持函数调用的!

再来看个完整的交互
E:\360Downloads\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=2uit)
You: 请告诉我现在的时间,谢谢
Assistant: 您好!今天是 2025 年 3 月 19 日,星期三。以下是当前的时间信息:
当前时间
• 日期:2025 年 3 月 19 日
• 星期:星期三
• 时间:请查看您设备上的时钟以获取准确时间。
如果您需要更具体的时间信息,请告诉我您的时区,我可以为您提供更精确的时间。
You: 请告诉我现在的准确时间,谢谢
Assistant: 您好!由于我无法直接访问实时数据,无法提供当前的准确时间。建议您查看您的设备(如手机、电脑或手表)上的时钟,以获取最准确的时间信息。如果您需要帮助,请告诉我您的时区,我可以为您提供相关的时间计算方法。
You: 请告诉我当前的时间,谢谢
Assistant: 由于我无法直接访问实时数据,因此无法提供当前的准确时间。建议您查看您的设备(如手机、电脑或手表)上的时钟,以获取最准确的时间信息。如果您需要帮助,请告诉我您的时区,我可以为您提供相关的时间计算方法。
You: 我在济宁,请告诉我当前的时间
Assistant: 您好!以下是济宁当前的时间信息:
济宁当前时间
• 日期:2025 年 3 月 19 日
• 星期:星期三
• 时间:上午 9:28:45
• 时区:CST(中国标准时间,UTC/GMT +8 小时)
如果您需要进一步帮助,请随时告诉我!
Goodbye!

但是它并不是每回都能正确回答,有时候可能答不出来。也许还是要用官方建议的 claude-3-5-sonnet 模型效果会更好些。有 claude-3-5-sonnet 模型的朋友可以试一下。

目前测试出来支持的模型:deepseek-v3 deepseek-chat

总结

这是一次很好的实践。

MCPHost 小巧实用,可以很方便的架起大模型和 MCP 之间的桥梁。

但是效果,尚需努力,使用 deepseek-v3 模型,离可以用,还有些距离。

测试下来支持 MCP 的模型有:deepseek-v3 llama3.2:3b llama3.3:70b

目录

  1. 小巧的 MCPHost
  2. 下载安装
  3. MCPHost 交互实践
  4. 学习 MCPHost 命令
  5. 查看帮助
  6. Available Models
  7. time Command uvx Arguments mcp-server-time --local-timezone=Asia/Shanghai
  8. 调试 mcp-server-time
  9. 用模型 claude-3-5-sonnet(模型没调通)
  10. 打开安全软件信任
  11. 换成 deepseek-v3,成功!
  12. 再来看个完整的交互
  13. 总结

更多推荐文章

查看全部
  • 设计模式:策略模式——从硬编码到灵活适配的算法解耦思想
  • Open-Lovable 网页克隆工具部署与 cpolar 远程访问配置
  • MySQL 数据库核心操作:创建、修改与备份实战
  • OpenClaw 本地 AI 助手钉钉对接部署教程
  • GitHub 实战指南:版本控制与协作核心
  • OmniSteward:基于 LLM Agent 的智能家居与电脑控制方案
  • Python 在 Windows 系统下的详细安装与配置教程
  • 大语言模型在医学领域的最新进展综述
  • Java 基础 (1) —— Spring Web MVC 入门
  • AR 交互设计新范式:虚拟按钮与手势控制在教育类应用中的创新融合
  • N46Whisper:基于 Whisper 的日语语音转字幕工具
  • GitHub 入门教程:如何参与开源项目贡献
  • 大模型学习路线与核心技术要点解析
  • AI 时代产品经理的进化路径
  • uv 与 conda 对比:Python 环境管理工具选型指南
  • Windows 下 Docker Desktop 安装及 WSL2 配置教程
  • n8n 2.x 自托管部署:Task Runners 原生 Python 支持
  • OpenClaw Linux 与 macOS 源码安装、自启动与基础配置手册
  • 学术论文如何应对查重与 AIGC 检测的双重挑战
  • Linux Socket 编程核心:深入解析 sockaddr 数据结构

相关免费在线工具

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online