Java 开发玩转 MCP:从 Claude 自动化到 Spring AI Alibaba 生态整合
摘要
本文以原理与示例结合的形式讲解 Java 开发者如何基于 Spring AI Alibaba 框架玩转 MCP,主要包含以下内容。
1. 一些 MCP 基础与快速体验(熟悉的读者可以跳过此部分)
2. 如何将自己开发的 Spring 应用发布为 MCP Server,验证使用 Claude 或 Spring 应用作为客户端接入自己发布的 Java MCP Server。
- 发布 stdio 模式的 MCP Server
- 发布 SSE 模式的 MCP Server
- 开发另一个 Spring 应用作为 MCP Client 调用 MCP Server 服务
- 使用 Claude 桌面应用接入我们的 Java MCP Server
3. 如何使用自己开发的 Spring 应用调用 MCP Server,包括调用自己发布的 Java MCP Server,也包括市面上其他通用 MCP Server。
- 配置并调用 stdio 模式的 MCP Server
- 配置并调用 SSE 模式的 MCP Server
4. 如何在 Spring AI Alibaba OpemManus 实现中使用 MCP 服务。
5. 关于存量应用如何一行代码不动就可以被当作 MCP 服务被智能体调用,请关注后续文章解决方案。
Spring AI Alibaba 开源项目地址
本文外网博客地址
本示例源码地址
模型上下文协议(Model Context Protocol)入门
2024 年 11 月,Anthropic 公司搞了个挺有意思的新玩意 - Model Context Protocol(模型上下文协议)简称为 MCP 协议。简单来说,它就是给 AI 和各类工具数据之间搭了个标准化的”桥梁”,让开发者不用再为对接问题头疼了。
大模型应用可以使用别人分享的 MCP 服务来完成各种各样的工作内容,你可以从这些地方获取 MCP 服务:
- awesome-mcp-servers
- mcp.so
MCP 协议在实际的应用场景上非常广泛,列举一些比较常见的应用场景:
- 使用百度/高德地图分析旅线计算时间
- 接 Puppeteer 自动操作网页
- 使用 Github/Gitlab 让大模型接管代码仓库
- 使用数据库组件完成对 Mysql、ES、Redis 等数据库的操作
- 使用搜索组件扩展大模型的数据搜索能力
1.1 在 Claude Desktop 中体验 MCP
接下来我们使用 Claude 快速接入 Github 服务(提前申请 token),编辑一下 Claude Desktop 的配置文件:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Windows:
%APPDATA%\Claude\claude_desktop_config.json
添加如下内容,注意把<YOUR_TOKEN>替换成你自己申请的 token:
{ "mcpServers": { "github": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-github" ], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "`" } } }
重启Claude之后,可以看到已经加载了MCP对应的工具:
点开之后可以看到具体的工具内容:
此时我们就可以享受 Github 服务提供的操作仓库的能力:
从图上可以看到,通过创建仓库 test-mcp 这样的提示词,Claude 的大模型自行判断需要使用 mcp 中提供的 create_repository 能力,从而完成了仓库的创建,接下来我们打开 Github 也确实发现了这个已经创建的仓库。
通过这种方式,大模型就可以利用 MCP 接入各式各样的能力,完成各种更为复杂的工作。
1.2 MCP 的架构
MCP 主要分为 MCP 服务和 MCP 客户端:
- 客户端:一般指的是大模型应用,比如 Claude、通过 Spring AI Alibaba、Langchain 等框架开发的 AI 应用
- 服务端:连接各种数据源的服务和工具
整体架构如下:
作者:阿里云云原生
链接:https://juejin.cn/post/7494078158218100763
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

评论 0