内容
# 🏏 体育MCP服务器
基于Spring Boot的模型上下文协议(MCP)服务器,提供可供AI访问的体育数据分析工具。本项目演示了如何使用Claude Desktop、Gemini等MCP兼容客户端与体育数据进行交互,包括球员、队伍、比赛、锦标赛和统计数据。
---
## 🚀 功能特点
- 使用Spring AI MCP实现MCP服务器
- 板球队伍管理
- 球员信息与统计
- 比赛数据管理
- 锦标赛管理
- AI工具集成
- MongoDB数据存储
- 样本板球数据集初始化
- 为AI客户端提供MCP工具
---
## 🏗️ 技术栈
- Java 21
- Spring Boot 3.x
- Spring AI MCP
- MongoDB
- Maven
- Lombok
---
## 📂 项目结构
```text
src/main/java/com/sports/mcp/server
│
├── config
│ ├── 数据初始化.java
│ └── MCP服务器配置.java
│
├── entity
│ ├── 球员.java
│ ├── 队伍.java
│ ├── 比赛.java
│ ├── 锦标赛.java
│ └── 球员统计.java
│
├── repository
│ ├── 球员仓库.java
│ ├── 队伍仓库.java
│ ├── 比赛仓库.java
│ ├── 锦标赛仓库.java
│ └── 球员统计仓库.java
│
├── service
│ └── 体育服务.java
│
├── tools
│ └── 体育工具.java
│
└── 体育MCP服务器应用.java
```
---
## ⚙️ MCP工具
服务器暴露了与体育相关的工具,供AI助手调用。
### 示例工具
### 获取球员详情
```java
根据姓名获取球员信息(String 球员姓名)
```
### 获取队伍信息
```java
根据队伍名称获取队伍详情(String 队伍名称)
```
### 获取球员统计
```java
根据球员姓名获取球员统计(String 球员姓名)
```
### 获取锦标赛详情
```java
根据锦标赛名称获取锦标赛详情(String 锦标赛名称)
```
---
## 🗄️ 示例数据
应用在启动时自动初始化样本板球数据:
### 队伍
- 印度
- 澳大利亚
- 英格兰
- 南非
### 球员
- 罗希特·夏尔马
- 维拉特·科利
- 贾斯普里特·布姆拉
- 肖布曼·吉尔
### 锦标赛
- 国际板球理事会板球世界杯
- 国际板球理事会冠军奖杯
- 亚州杯
### 比赛
- 印度 vs 澳大利亚
- 印度 vs 英格兰
- 澳大利亚 vs 南非
---
## 🔧 配置
### application.properties
```properties
spring.application.name=体育MCP服务器
spring.ai.mcp.server.name=体育数据分析服务器
spring.ai.mcp.server.version=1.0.0
spring.ai.mcp.server.type=SYNC
spring.ai.mcp.server.stdio=true
spring.main.web-application-type=none
```
---
## ▶️ 运行应用
### 克隆仓库
```bash
git clone https://github.com/your-username/体育MCP服务器.git
```
### 进入项目
```bash
cd 体育MCP服务器
```
### 构建项目
```bash
mvn clean install
```
### 运行应用
```bash
mvn spring-boot:run
```
---
## 🔌 MCP客户端集成
此MCP服务器可以连接到:
- Claude Desktop
- Gemini MCP客户端
- 自定义MCP客户端
- AI代理
- MCP检查器
服务器使用MCP协议通过STDIO进行通信。
---
## 📊 示例查询
连接到MCP客户端后:
```text
显示罗希特·夏尔马的详情
```
```text
获取印度队的信息
```
```text
显示罗希特·夏尔马的统计数据
```
```text
列出所有锦标赛
```
---
## 🎯 目的
本项目的目的是演示:
- MCP服务器开发
- Spring AI MCP集成
- AI工具暴露
- 体育数据分析管理
- AI到数据库通信
---
## 👨💻 作者
Udatha Venkata Sai
Java后端开发人员 | Spring Boot | MongoDB | AI集成 | MCP开发
---
## 📜 许可证
本项目仅用于学习和演示目的。