Token导航 LogoToken导航

MCP Server · AI代理

Spring AI MCP Example

Spring AI MCP示例展示了如何使用模型上下文协议(MCP)与Spring AI集成,实现AI应用对外部工具的安全访问,适用于天气查询和旅行建议等场景。

未说明官方级别未说明来源级核验工具 4
位置天气JavaSpring AIAI工具集成

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
aakhalilian
提供方
aakhalilian

工具数量

4

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Spring AI MCP Example 属于AI代理类 MCP Server,公开资料标注 4 个工具,通过传输方式未标注接入,客户端适配情况以官方文档为准,没有现成的安装命令;接入前先确认权限范围。

分类

AI代理

传输方式

未说明

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 4 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

公开资料仍需确认:安装命令

详细介绍

Spring AI MCP示例

演示如何使用的基本参考实现 模型上下文协议(MCP) 随着 春季AI该项目展示了一种客户端-服务器架构,其中MCP服务器公开天气和旅行工具,MCP客户端通过AI聊天界面使用这些工具。

什么是MCP?

模型上下文协议(MCP) 是一种协议,使人工智能应用程序能够安全地访问外部工具、资源和数据源。在这个例子中,我们演示:

  • MCP服务器:展示人工智能模型可以调用的天气和旅行相关工具
  • MCP客户端:连接到服务器并使用OpenAI与用户聊天,自动利用可用工具

项目结构

spring-ai-mcp/
├── mcp-server/          # MCP server exposing weather tools
│   └── src/main/java/dev/fusionize/
│       ├── Main.java           # Spring Boot application entry point
│       ├── Config.java         # Tool callback provider configuration
│       ├── Controller.java     # Health check endpoint
│       └── WeatherService.java # Weather and travel tools implementation
│
└── mcp-client/          # MCP client with chat interface
    └── src/main/java/dev/fusionize/
        ├── Main.java           # Spring Boot application entry point
        ├── Config.java         # MCP client and chat client configuration
        ├── ChatController.java # REST API for chat interactions
        └── ChatService.java    # Chat service using MCP tools

特性

MCP服务器工具

服务器公开了以下工具:

  1. getWeather -获取城市的当前天气信息

- 参数: city (字符串), units (字符串:“celsius”或“fahrenheit”) - 返回:天气信息,包括温度、条件、湿度和推荐项目

  1. getTravelTips -获取目的地的旅行建议和提示

- 参数: destination (字符串) - 返回:最佳参观时间、必看景点、必尝美食和旅行提示

  1. shouldPackUmbrella -根据天气情况检查你是否应该带雨伞

- 参数: city (字符串) - 返回:推荐理由和天气状况

  1. compareWeather -比较两个城市的天气

- 参数: city1 (字符串), city2 (字符串) - 返回:天气与温差的比较

先决条件

  • Java 21 或更高
  • Gradle (包括包装)
  • OpenAI API密钥 (适用于聊天客户端)

设置

  1. 克隆存储库
   git clone 
   cd spring-ai-mcp
  1. 设置OpenAI API密钥

将您的OpenAI API密钥导出为环境变量:

   export OPENAI_API_KEY=your-api-key-here

或者创建一个 .env 文件(未包含在存储库中):

   OPENAI_API_KEY=your-api-key-here

运行应用程序

步骤1:启动MCP服务器

服务器在端口上运行 8081 并通过MCP公开气象工具。

cd mcp-server
../gradlew bootRun

或者从根目录:

./gradlew :mcp-server:bootRun

您应该看到指示服务器正在运行的输出。您可以通过访问来验证它是否正常工作:

  • 健康检查:http://localhost:8081/health

步骤2:启动MCP客户端

在一个 新终端,在端口上启动客户端 8080:

cd mcp-client
../gradlew bootRun

或者从根目录:

./gradlew :mcp-client:bootRun

客户端将自动连接到MCP服务器并注册可用工具。您应该看到如下输出:

=== MCP Tools Registered ===
- getWeather: Get current weather information for a city
- getTravelTips: Get travel recommendations and tips for a destination
- shouldPackUmbrella: Check if you should pack an umbrella based on weather conditions
- compareWeather: Compare weather between two cities
============================

测试

1.检查可用工具

从MCP服务器获取所有可用工具的列表:

curl http://localhost:8080/api/tools

2.与AI聊天

人工智能现在可以使用天气工具来回答你的问题。请尝试以下示例:

获取天气信息:

curl "http://localhost:8080/api/chat?message=What's the weather like in Paris?"

获取旅行提示:

curl "http://localhost:8080/api/chat?message=Give me travel tips for Tokyo"

比较天气:

curl "http://localhost:8080/api/chat?message=Compare the weather in London and Dubai"

雨伞推荐:

curl "http://localhost:8080/api/chat?message=Should I pack an umbrella for Amsterdam?"

复杂查询:

curl "http://localhost:8080/api/chat?message=I'm planning a trip to Paris next week. What should I know about the weather and what should I pack?"

3.服务器健康检查

检查MCP服务器状态和可用工具:

curl http://localhost:8081/health

运作原理

MCP服务器流

  1. 气象服务 定义带注释的方法 @Tool Spring AI
  2. 配置 创建a ToolCallbackProvider 注册这些工具
  3. Spring AI MCP服务器通过HTTP/SSE端点自动公开这些工具 /mcp/messages
  4. 服务器在端口8081上运行,并监听MCP客户端连接

MCP客户端流

  1. 配置 创造 McpSyncClient 通过SSE连接到MCP服务器的实例
  2. SyncMcpToolcallback提供程序 包装MCP客户端,并将其工具提供给Spring AI
  3. 聊天客户端 已配置为自动使用这些工具
  4. 当用户发送消息时,AI模型(OpenAI)可以决定调用适当的工具
  5. 客户端运行在端口8080上,并为聊天交互提供REST API

通信流

User → ChatController → ChatService → ChatClient (OpenAI)
                                          ↓
                                    (AI decides to use tools)
                                          ↓
                              SyncMcpToolCallbackProvider
                                          ↓
                                    McpSyncClient (SSE)
                                          ↓
                                    MCP Server (8081)
                                          ↓
                                    WeatherService Tools

配置

服务器配置(mcp-server/src/main/resources/application.yml)

  • 端口: 8081
  • MCP端点: /mcp/messages 上海证券交易所
  • 服务器类型:同步
  • 能力:工具已启用

客户端配置(mcp-client/src/main/resources/application.yml)

  • 端口: 8080
  • OpenAI模型:gpt-4o-mini
  • MCP服务器URL: http://localhost:8081/mcp
  • 连接类型:SSE(服务器发送事件)

使用的技术

  • 弹簧靴3.5.6 -应用框架
  • 春季AI 1.0.3 -人工智能集成框架
  • 春季AI MCP -模型上下文协议支持
  • OpenAI API -AI模型提供商
  • Java 21 -程序设计语言
  • Gradle -构建工具

局限性

这是一个 基本示例 出于教育目的:

  • 天气数据是 模拟的 (在服务中硬编码)
  • 仅支持有限的一组城市
  • 无身份验证或安全功能
  • 单MCP服务器连接
  • 基本错误处理

扩展示例

要扩展此示例,您可以:

  1. 添加更多工具 -新建 @Tool 注释方法 WeatherService
  2. 连接到真实的API -用实际天气API替换模拟数据
  3. 添加多个MCP服务器 -在客户端中配置多个服务器连接
  4. 添加身份验证 -为MCP端点实施安全措施
  5. 添加持久性 -存储聊天记录或用户偏好
  6. 添加WebSocket支持 -使用WebSocket而不是SSE进行双向通信

故障排除

客户端无法连接到服务器

  • 确保服务器在端口8081上运行
  • 检查中的URL application.yml 比赛: http://localhost:8081/mcp
  • 验证防火墙设置

OpenAI API错误

  • 确保 OPENAI_API_KEY 环境变量已设置
  • 检查您的API密钥是否有效并具有信用
  • 验证网络连接

工具未出现

  • 检查服务器日志以进行工具注册
  • 验证 @Tool 存在注释
  • 确保 ToolCallbackProvider bean创建正确

许可证

这是一个参考示例项目。您可以将其作为您自己的MCP实现的起点。

贡献

这是一个基本的参考示例。请随意分叉和扩展它以满足您的需求!

______________________________________________________________________

备注:此示例演示了使用Spring AI的MCP的基本概念。对于生产使用,请考虑添加适当的错误处理、安全性、日志记录和测试。

工具与能力

工具数量

4

资源数量

0

提示词数量

0

能力标签

AI工具集成Java本地部署天气查询旅行建议SpringAIMCP协议

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

多步任务编排

把拆解、检索、执行串成一条链,模型按步骤调用工具。

长期上下文

把会话、笔记和知识放到外部存储,换个会话还能接着做。

接自有流程

把内部系统和模型连起来,让助手调用已有的工作流。

选择建议

值得选的地方

  • 只提供 4 个工具,职责集中,接入后不容易误操作。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在AI代理场景里让模型直接调用外部能力的人。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Spring AI MCP Example

MCP World · 本页

4未说明未标注1 个2026-05-17
Everything Claude Code

MCP World

0stdio有1 个2026-05-17
Filesystem 560c4363

MCP World

13未说明未标注2 个2026-05-17
Time 7365cb6d

MCP.so

2SSE有2 个2026-05-17
Server Everything (everything)

MCP World

11stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Spring AI MCP Example 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

Spring AI MCP Example 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Spring AI MCP Example 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Spring AI MCP Example 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Spring AI MCP Example 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP