春季AI MCP游戏演示
一个Spring Boot应用程序,将游戏奖励信息作为MCP服务器公开。该项目演示了如何使用Spring AI创建MCP服务器,该服务器可以与AI助手和n8n等工作流自动化工具集成。
特性
- MCP服务器:通过MCP协议公开游戏奖励工具
- 游戏奖励API:提供棋盘游戏的详细奖励信息
- Spring Boot集成:内置Spring Boot 3.5.7和Spring AI 1.0.2
先决条件
- Java 25 或更高
- Maven 3.6+ 或使用附带的Maven Wrapper(
./mvnw) - 龙目:生成所需的注释处理器
入门指南
建设项目
# Using Maven Wrapper (recommended)
./mvnw clean package
# Or using system Maven
mvn clean package运行应用程序
# Using Maven Wrapper
./mvnw spring-boot:run
# Or run the JAR directly
java -jar target/games-0.0.1-SNAPSHOT.jar应用程序将于启动 http://localhost:8080
可用工具
获取游戏奖励
返回棋盘游戏的奖励详细信息和团队所有权信息。
参数:
gameName(String):游戏名称
- 有效选项: Monopoly, Chess, Scrabble
示例:
// Monopoly
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "getGameRewards",
"arguments": {
"gameName": "Monopoly"
}
}
}与n8n集成
此MCP服务器可以与n8n工作流自动化集成。该项目包括一个即用型n8n工作流。
n8n工作流文件
该项目包括一个完整的n8n工作流,该工作流将MCP服务器与会话式AI代理集成在一起:
n8n/games.json -完整的工作流程,包括:
- MCP客户端工具:连接到
http://host.docker.internal:8080/sse致电getGameRewards工具 - OpenAI代理:GPT驱动的会话代理,带聊天内存
- 聊天界面:用于交互式查询的基于Webhook的聊天触发器
- RAG系统:带有嵌入的矢量存储,用于检索游戏功能信息
- 数据导入:从数据文件自动导入游戏功能
n8n/games.txt -游戏功能目录包含:
- 关于扑克、二十一点、轮盘赌、老虎机和宾果游戏的信息
- 奖励分配百分比(筹码、硬币、宝石、经验值)
- 每场比赛的团队所有权
- 详细的游戏描述
该工作流程允许用户与AI助手聊天,该助手可以:
- 通过MCP服务器查询实时游戏奖励(大富翁、国际象棋、拼字游戏)
- 从RAG系统检索历史游戏功能(扑克、二十一点等)
- 保持对话背景和记忆
导入n8n工作流
- 启动Spring Boot应用程序:
./mvnw spring-boot:run- 在n8n中导入工作流:
- 打开n8n用户界面 - 首选 工作流 → 从文件导入 - 选择 n8n/games.json - 如果需要,更新MCP端点URL(默认值: http://host.docker.internal:8080/sse)
- 配置凭据:
- 添加您的OpenAI API证书 - 确保MCP服务器可以从n8n的Docker网络访问
- 激活并使用工作流:
- 工作流程提供了一个聊天界面来查询游戏信息 - 它使用MCP服务器获取实时数据,使用RAG获取历史游戏功能
快速集成步骤
如果手动设置:
- 在主机上启动应用程序
- 配置n8n HTTP请求节点以使用:
http://host.docker.internal:8080/sse - 初始化SSE连接以获取会话ID
- 向发送MCP协议消息
/mcp/message?sessionId={sessionId}
项目结构
.
├── n8n/ # n8n workflow files
│ ├── games.json # n8n workflow definition
│ └── games.txt # Game features data for RAG
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── com/clubulprogramatorilor/tools/games/
│ │ │ ├── GamesApplication.java # Main application class
│ │ │ ├── mcp/
│ │ │ │ └── McpToolConfiguration.java # MCP tool configuration
│ │ │ └── tools/
│ │ │ └── ToolsConfiguration.java # Game reward tool implementation
│ │ └── resources/
│ │ └── application.properties # Application configuration
│ └── test/
│ └── java/
│ └── com/clubulprogramatorilor/tools/games/
│ └── GamesApplicationTests.java # Application tests
├── pom.xml # Maven dependencies
└── README.md # This file依赖项
- Spring Boot 3.5.7
- 春季AI 1.0.2(MCP服务器WebVC入门版)
- 龙目 1.18.42
- Maven编译器插件 (为Java 25配置)
