本项目是一个基于 Spring Boot 的应用程序,实现了 Model Completion Protocol (MCP) 服务器,可用于数据生成。它展示了如何借助 Spring AI 创建自定义 MCP 服务器,并将其与 AI 模型集成,以根据提示生成数据。
git clone
cd data-generator-java-mcp-server
./mvnw clean install
使用 Maven 包装脚本运行应用:
./mvnw spring-boot:run
MCP 服务器启动后即可接受请求。
MCP 服务器在 application.properties
文件中进行配置:
# 应用程序名称
spring.application.name=data-generator-java-mcp-server
# MCP 服务器名称
spring.ai.mcp.server.name=data-generator-java-mcp-server
# MCP 服务器类型(SYNC 或 ASYNC)
spring.ai.mcp.server.type=SYNC
# 禁用 Spring Boot 标志
spring.main.banner-mode=off
# 设置为非 Web 应用程序
spring.main.web-application-type=none
通过修改 McpServerConfig
类来自定义 MCP 服务器:
@Configuration
public class McpServerConfig {
@Bean
public ToolCallbackProvider dataGeneratorToolCallbackProvider(DataGeneratorService dataGeneratorService) {
return MethodToolCallbackProvider.builder()
.toolObjects(dataGeneratorService)
.build();
}
}
MCP 服务器公开以下工具:
prompt
(String)id
(String)age
(int)要添加新的工具到 MCP 服务器:
DataGeneratorService
。@Tool
注解的方法。McpServerConfig
类中注册该服务。
示例:@Service
public class MyCustomService {
@Tool(
name = "myCustomTool",
description = "工具的描述"
)
public SomeReturnType myCustomTool(String param1, int param2) {
// 实现代码
return result;
}
}
然后在配置中注册它:
@Bean
public ToolCallbackProvider myCustomToolCallbackProvider(MyCustomService myCustomService) {
return MethodToolCallbackProvider.builder()
.toolObjects(myCustomService)
.build();
}
要将 MCP 服务器与 AI 模型结合使用,AI 模型可以通过发送 HTTP 请求到 MCP 服务器的 API 端点来调用生成数据的方法。请求需要包含必要的参数和授权信息。通过这种方式,MCP 服务器可以作为数据生成的核心服务,供多个 AI 应用程序或模型使用。