【大模型实战篇】基于Claude MCP协议的智能体落地示例

【大模型实战篇】基于Claude MCP协议的智能体落地示例

        之前我们在《MCP(Model Context Protocol) 大模型智能体第一个开源标准协议》一文中,介绍了MCP的概念,虽然了解了其概念、架构、解决的问题,但还缺少具体的示例,来帮助进一步理解整套MCP框架如何落地。

        今天我们基于claude的官方例子–获取天气预报【1】,来理解MCP落地的整条链路。

        该案例是构建一个简单的MCP天气预报服务器,并将其连接到主机,即Claude for Desktop。从基本设置开始,然后逐步发展到更复杂的使用场景。

        大模型虽然能力非常强,但其弊端就是内容是过时的,这里的过时不是说内容很旧,只是表达内容具有非实时性。比如没有获取天气预报和严重天气警报的能力。因此我们将使用MCP来解决这一问题。

        构建一个服务器,该服务器提供两个工具:获取警报(get-alerts)和获取预报(get-forecast)。然后,将该服务器连接到MCP主机(在本例中为Claude for Desktop)。

        首先我们配置下环境:

        (1)安装uv


        安装完成后,会提示:

downloading uv 0.6.9 aarch64-apple-darwin

no checksums to verify
installing to /Users/nicolas/.local/bin
  uv
  uvx
everything’s installed!       











      (2)安装所需的依赖包

【大模型实战篇】基于Claude MCP协议的智能体落地示例

        (3)在server.py中构建相应的get-alerts和 get-forecast工具:


        这段代码中,最核心的其实就是@server.list_tools() 以及 @server.call_tool() 这两个注解。

@server.list_tools() – 注册用于列出可用工具的处理器

@server.call_tool() – 注册用于执行工具调用的处理器


        调用函数的逻辑也比较简单,匹配到对应的工具名称,然后抽取对应的输入参数,然后发起api的请求,对获得的结果进行处理:

【大模型实战篇】基于Claude MCP协议的智能体落地示例

      (4)服务端与客户端交互

        测试服务器与 Claude for Desktop。【2】也给出了构建MCP 客户端的教程。其中核心的逻辑如下:


        启动客户端,需要打开 Claude for Desktop 应用配置文件:

        如果该文件不存在,确保先创建出来,然后配置以下信息,以示例说明,我们uv init的是weather,所以这里mcpServers配置weather的服务,args中的路径设置为你weather的绝对路径。


        保存文件,并重新启动 Claude for Desktop。可以看到Claude for Desktop 能够识别在天气服务器中暴露的两个工具。

【大模型实战篇】基于Claude MCP协议的智能体落地示例
【大模型实战篇】基于Claude MCP协议的智能体落地示例

        然后在客户端询问天气,会提示调用get-forecast的tool:

【大模型实战篇】基于Claude MCP协议的智能体落地示例

        工具是智能体框架的重要组成部分,允许大模型与外界互动并扩展其能力。即使没有MCP协议,也是可以实现LLM智能体,只不过存在几个弊端,当有许多不同的 API 时,启用工具使用变得很麻烦,因为任何工具都需要:手动构建prompt,每当其 API 发生变化时手动更claude code 教程新【3,4】。

        如下图所示:

【大模型实战篇】基于Claude MCP协议的智能体落地示例

        MCP其实解决了当存在大量工具时,能够自动发现,并自动构建prompt。

        整体流程示例:

      (1)以总结git项目最近5次提交为例,MCP 主机(与客户端一起)将首先调用 MCP 服务器,询问有哪些工具可用。

MCP 主机:像
Claude Desktop、IDE 或其他 AI 工具等程序,希望通过
MCP 访问数据。
MCP 客户端:与服务器保持
1:1 连接 的协议客户端。

【大模型实战篇】基于Claude MCP协议的智能体落地示例

       (2)MPC 客户端接收到所列出的可用工具后,发给LLM,LLM 收到信息后,可能会选择使用某个工具。它通过主机向 MCP 服务器发送请求,然后接收结果,包括所使用的工具。

【大模型实战篇】基于Claude MCP协议的智能体落地示例

(3)LLM 收到工具处理结果(包括原始的query等信息),之后就可以向用户输出最终的答案。

【大模型实战篇】基于Claude MCP协议的智能体落地示例

总结起来,就一句话,MCP协议其实是让智能体更容易管理、发现、使用工具。

【1】For Server Developers – Model Context Protocol

【2】For Client Developers – Model Context Protocol

【3】AI Agent框架综述

【4】MCP工作原理

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/286002.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午1:48
下一篇 2026年3月16日 下午1:49


相关推荐

关注全栈程序员社区公众号