spring-ai-alibaba-mcp-example
是 Spring AI Alibaba 项目中专门用于演示 Model Context Protocol (MCP) 功能的示例集合。MCP 是一种标准化协议,用于 AI 模型与工具、资源之间的交互。该项目提供了多种 MCP 服务的实现示例,涵盖了不同的通信方式、服务发现机制和应用场景。
主要 MCP 服务类型
1. MCP 手动集成示例 (spring-ai-alibaba-mcp-manual-example)
这个模块展示了如何手动集成 MCP 服务,包含三个子示例:
- 文件系统服务 (ai-mcp-fileserver):提供文件系统操作的 MCP 服务
- GitHub 服务 (ai-mcp-github):提供 GitHub API 访问的 MCP 服务
- SQLite 数据库服务 (sqlite):提供数据库操作的 MCP 服务
这些示例展示了如何使用 MCP Java SDK 手动构建客户端和服务器,适合需要精细控制 MCP 交互的场景。
2. MCP Starter 示例 (spring-ai-alibaba-mcp-starter-example)
这是最全面的模块,展示了使用 Spring AI Starter 快速构建 MCP 服务的方式:
服务器端:
- STDIO 服务器:基于标准输入/输出的 MCP 服务器,适合作为子进程运行
- WebFlux 服务器:基于 WebFlux 的响应式 MCP 服务器,支持 SSE 通信
客户端:
- STDIO 客户端:连接 STDIO 服务器的客户端
- WebFlux 客户端:连接 WebFlux 服务器的客户端
- Streamable 客户端:支持流式 HTTP 的客户端实现
- 恢复客户端:具有故障恢复能力的客户端
这些服务器主要提供:
- 天气预报查询(基于 OpenMeteo API)
- 空气质量信息查询
- 文本处理工具(如转大写)
3. MCP 构建示例 (spring-ai-alibaba-mcp-build-example)
这个模块展示了如何构建独立的 MCP 服务器:
- 股票查询服务器:提供股票信息查询的 MCP 服务器,可获取实时股票数据
这个示例展示了如何将 MCP 服务器打包为独立可执行文件,适合作为独立服务部署。
4. MCP Nacos 集成示例 (spring-ai-alibaba-mcp-nacos-example)
这个模块展示了 MCP 与 Nacos 服务注册发现的集成:
服务器端:
- Nacos 注册服务器:将 MCP 服务注册到 Nacos 的示例
- Nacos 网关:作为 MCP 服务的统一入口
客户端:
- Nacos 发现客户端:从 Nacos 发现并调用 MCP 服务的客户端
这个模块解决了 MCP 服务的服务发现问题,允许动态发现和调用 MCP 服务,而不需要硬编码服务地址。
5. MCP 认证示例 (spring-ai-alibaba-mcp-auth-example)
这个模块展示了 MCP 的认证和授权机制:
- RESTful 服务:提供基础的时间服务
- MCP 认证服务器:解析 RESTful 方法并提供带认证的 MCP 工具
- MCP 认证 Web 服务器:带有过滤器的 Web 服务器
- MCP 认证客户端:传递认证信息的客户端
这个模块解决了企业场景中的身份认证问题,展示了如何在 MCP 调用链中传递和验证身份信息。
6. MCP 配置示例 (spring-ai-alibaba-mcp-config-example)
这个模块展示了 MCP 服务的配置管理:
- 多源配置支持:支持从文件、数据库、Nacos 配置中心读取 MCP 服务配置
- 服务发现顺序配置:可配置服务发现的优先级
- 动态配置更新:支持配置的动态更新
这个模块解决了 MCP 服务的配置管理问题,提供了灵活的配置来源和发现机制。
技术特点和优势
- 多种通信协议支持:支持 STDIO、SSE、HTTP 等多种通信协议
- 响应式编程:基于 WebFlux 的响应式实现,支持高并发
- 服务发现:与 Nacos 集成,支持服务的动态注册和发现
- 认证授权:提供完整的认证授权解决方案
- 配置管理:支持多源配置和动态更新
- 故障恢复:提供客户端的故障恢复机制
应用场景
这些 MCP 服务示例适用于以下场景:
- AI 工具集成:将各种工具和服务通过 MCP 协议暴露给 AI 模型
- 微服务架构:在微服务架构中提供标准化的服务接口
- 企业应用:在企业环境中提供安全、可管理的服务访问
- 云原生应用:与 Nacos 等云原生组件集成,支持动态服务发现
总结来说,spring-ai-alibaba-mcp-example
项目提供了一套完整的 MCP 服务实现方案,涵盖了从基础的手动集成到高级的服务发现、认证授权和配置管理,为开发者提供了丰富的参考和实用的工具。