春季mcp起动机
一个Gradle插件,用于扫描编译后的Java类,以查找用 @McpTool 并在以下位置生成MCP工具元数据 mcp/tools.json.
它做什么
- 注册Gradle任务:
generateMcp - 跑步后
classes - 扫描运行时类路径中的方法
io.springmcp.annotation.McpTool - 写入发现的工具定义(
name,description)tomcp/tools.json
需求
- Java 21
- Gradle(包括包装)
构建此插件
./gradlew clean build要发布到本地Maven:
./gradlew publishToMavenLocal在另一个Gradle项目中使用
如果发布到本地Maven,请通过插件id进行应用:
plugins {
id 'io.springmcp.plugin' version '0.1.0'
}运行:
./gradlew generateMcp注释MCP工具
使用 @McpTool 关于方法:
import io.springmcp.annotation.McpTool;
public class WeatherTools {
@McpTool(name = "get_weather", description = "Get weather by city")
public String getWeather(String city) {
return "...";
}
}生成的输出示例(mcp/tools.json):
[
{
"name": "get_weather",
"description": "Get weather by city"
}
]当前行为和限制
- 扫描仪基本包目前被硬编码为
com.projects在SpringMcpPlugin. - 只会发现该包下的类中的方法。
如果您的代码在其他包中,请在以下位置更新扫描仪基本包:
src/main/java/io/springmcp/plugin/SpringMcpPlugin.java
