金融工具MCP服务器

一个基于Spring Boot 3和Spring AI工具包的MCP服务器,提供转账、支付和余额查询等金融工具,供AI代理通过MCP规范调用。

  • by petrubear
  • Java
  • 本地部署
  • 更新于
在 GitHub 查看 petrubear/spring-mcp-demo

使用说明

MCP 演示

概述

这个仓库包含一个使用Spring AI工具包构建的Spring Boot 3 MCP(模型上下文协议)服务器。它提供了一组小型的面向金融的工具(transfer, pay,以及 balance) 可以通过MCP规范被AI代理所消费。每个工具都实现为一个强类型方法,该方法返回基于简单记录的数据传输对象(DTO),使得该项目成为如何将Java业务逻辑集成到Spring AI的工具调用基础设施中的一个简洁示例。

特点/特性

  • Spring Boot 3.5 服务预配置为MCP服务器(spring-ai-starter-mcp-server)。
  • 三个模拟常见零售银行业务操作并返回结构化响应的示例工具。
  • 描述账户、支付、转账及其响应有效载荷的不可变记录模型。
  • 通过Spring实现的自动配置,以最小的样板代码发布工具集。

项目结构

src/main/java/emg/demo/mcp/
├── McpDemoApplication.java          # Spring Boot entry point + tool registration
└── infrastructure/
    ├── model/                       # Domain records (Account, Payment, Transfer)
    ├── model/response/              # DTOs wrapping tool outputs
    └── tools/OmniaTools.java        # Tool implementations exposed to MCP clients
src/main/resources/application.properties

先决条件

  • Java 21
  • Maven 3.9+

入门指南

mvn spring-boot:run

这将在默认端口(由Spring Boot配置)上启动MCP服务器。MCP兼容的客户端(如OpenAI的实验性MCP集成)随后可以协商可用工具并直接调用它们。

为了确认应用程序正确加载,请运行附带的冒烟测试:

mvn test

工具使用入门指南

Spring AI 通过……发现工具方法 @Tool 注释。每个方法在 OmniaTools 返回一个响应记录,该记录同时包含领域对象和一条可读性良好的消息。当Spring Boot启动时 McpDemoApplication#tools Bean 将这些方法发布到 MCP 注册表中,以便符合规范的代理可以在运行时调用它们。

定制化创意

  • 替换硬编码的示例数据 OmniaTools 支持持久化后端服务或REST/gRPC集成。
  • 通过引入带有注解的额外方法来添加新工具 @Tool 并返回自定义响应记录。
  • 扩展测试套件,加入覆盖新工具合约和序列化要求的单元测试。