MCP服务端演示
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"Mcp-demo": {
"args": [
"-jar",
"../target/Mcp-demo-0.0.1-SNAPSHOT.jar"
],
"command": "java",
"env": {}
}
}
}
服务介绍
MCP 工具演示项目
这是一个基于 Spring Boot 的简单工具服务演示项目,展示了如何通过 MCP 协议提供数学计算工具服务。
项目简介
本项目实现了两个基础数学工具:
- 两数相加
- 生成指定范围的随机整数
项目采用 Spring Boot 框架,通过 @Tool 注解暴露工具方法,支持快速扩展更多工具类。
核心组件
McpDemoApplication.java
package org.mcp.demo;
import org.mcp.demo.mcp_server.MathTools;
import org.springframework.ai.tool.ToolCallbackProvider;
import org.springframework.ai.tool.method.MethodToolCallbackProvider;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
@SpringBootApplication
public class McpDemoApplication {
public static void main(String[] args) {
SpringApplication.run(McpDemoApplication.class, args);
}
}
McpToolConfig.java
@Configuration
public class McpToolConfig {
@Bean
public ToolCallbackProvider toolProvider(MathTools mathTools) {
return MethodToolCallbackProvider.builder()
.toolObjects(mathTools)
.build();
}
}
MathTools.java
@Service
public class MathTools {
@Tool(description = "两数相加")
public int add(
@ToolParam(description = "被加数") int a,
@ToolParam(description = "加数") int b) {
return a + b;
}
@Tool(description = "生成随机整数")
public int randomInt(
@ToolParam(description = "最小值(含)") int min,
@ToolParam(description = "最大值(含)") int max) {
return (int) (Math.random() * (max - min + 1)) + min;
}
}
快速开始
- 确保已安装 JDK 17+ 和 Maven
- 克隆项目:
git clone https://gitee.com/lxl173/mcp-demo - 进入项目目录:
cd mcp-demo - 启动项目:
mvn spring-boot:run - 服务将在
http://localhost:8080启动
使用示例
启动服务后,可以通过 MCP 客户端调用以下工具:
math.add:执行加法运算math.randomInt:生成随机整数
贡献指南
欢迎贡献更多工具类!请遵循以下步骤:
- 创建新的工具类并添加
@Service注解 - 使用
@Tool注解标记工具方法 - 在
McpToolConfig中注册新工具 - 提交 PR 并描述新增功能
许可证
本项目采用 Apache-2.0 许可证。详见 LICENSE 文件。