MCP工具元数据生成插件

一个Gradle插件,用于扫描编译后的Java类中带有@McpTool注解的方法,并生成MCP工具元数据文件。

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

使用说明

春季mcp起动机

一个Gradle插件,用于扫描编译后的Java类,以查找用 @McpTool 并在以下位置生成MCP工具元数据 mcp/tools.json.

它做什么

  • 注册Gradle任务: generateMcp
  • 跑步后 classes
  • 扫描运行时类路径中的方法 io.springmcp.annotation.McpTool
  • 写入发现的工具定义(name, description)to mcp/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