ydoyun-report-mcp
一个基于 Spring Boot 和 MCP (Model Context Protocol) 的报表服务项目,用于将报表存储过程调用能力暴露给 AI 模型。
技术栈
- Java 17
- Spring Boot 3.2.6
- Spring AI MCP Server WebMVC 1.0.0
- Maven
项目结构
ydoyun-report-mcp/
├── pom.xml
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── com/junchi/app/mcp/
│ │ │ ├── YdoyunReportMcpApplication.java # 主应用类
│ │ │ ├── config/ # 配置类
│ │ │ │ ├── McpToolConfig.java # MCP 工具配置
│ │ │ │ └── RestTemplateConfig.java # RestTemplate 配置
│ │ │ ├── mcptool/ # MCP 工具服务
│ │ │ │ └── ReportMcpToolsService.java # 报表 MCP 工具服务
│ │ │ └── report/ # 报表服务
│ │ │ ├── ReportService.java # 报表服务实现
│ │ │ └── vo/ # 值对象
│ │ │ ├── ProcedureRequestVO.java # 存储过程请求 VO
│ │ │ └── ProcedureResponseVO.java # 存储过程响应 VO
│ │ └── resources/
│ │ └── application.yml # 应用配置文件
│ └── test/ # 测试代码目录
└── README.md
功能说明
核心功能
- MCP 工具服务: 提供
executeReportProcedure工具方法,供 AI 模型调用 - 存储过程调用: 通过 HTTP 调用远程存储过程 API
- 日期处理: 支持
today、yesterday、tomorrow关键字或具体日期格式(yyyy-MM-dd)
配置说明
在 application.yml 中配置:
- 服务端口: 48090
- MCP 服务器: 异步类型,仅启用 tools 能力
- 远程 API: 配置存储过程执行接口地址和 API 密钥
构建和运行
构建项目
mvn clean package
运行项目
mvn spring-boot:run
或者运行打包后的 jar:
java -jar target/ydoyun-report-mcp-1.0.0.jar
API 说明
MCP 工具
executeReportProcedure
根据存储过程名称、日期和仓库代码调用后端存储过程接口。
参数:
name(String): 存储过程名称rq(String): 日期,支持today/yesterday/tomorrow或2025-12-01格式ckdm(String): 仓库代码p(String): 秘钥
返回:执行结果的字符串表示
注意事项
- 确保远程 API 服务可访问
- 配置正确的 API 密钥
- 根据实际需求调整日志级别
Description
Languages
Java
100%