返回市场
MCP春季启动服务器2

MCP春季启动服务器2

作者:TheEterna13 星标更新:2025-10-22

项目介绍

【技术文档摘要】:

Server2MCP

非常感谢大家的支持!这是一个我投入了大量精力的项目。虽然这个项目是由我个人发起的,但我坚信它拥有优秀的架构和实用价值。目前,该项目基于2025年6月18日的版本;一旦有新版本发布,所有这些功能都将统一更新。

👀未完成事项

(√) 首先,我要道歉,因为我忘记提到最新的Server2MCP发行版是基于Spring AI SNAPSHOT版本和mcp-java-sdk SNAPSHOT版本的。 因此,您现在无法直接应用此项目,我承诺在10月10日前进行更新。

简体中文

文档链接

这绝对是一个革命性的想法!!!

这是一个用于自动集成MCP(模型控制协议)服务的Spring Boot启动器。

✨功能特性

  • 自动配置MCP服务,类似于mybatis plus与mybatis的关系,非侵入性,纯粹增强
  • 支持JavaSdk中的所有MCP原生功能,提供工具注册和回调机制等
  • 通过@ToolScan注解支持自定义工具注册
  • 通过@ResourceScan注解支持自定义资源注册
  • 通过@PromptScan注解支持自定义提示注册
  • 用户可以自定义解析器,无需依赖责任链实现来完成唯一接口注解的属性解析
  • 包含Javadoc、Swagger2、Swagger3、SpringMVC(仅负责部分解析逻辑)、Jackson和Springai原生工具解析器

🌟最新功能

  • 基准测试最新的MCP SDK版本0.11快照版本,自定义注解以体验最新功能,McpTool
  • McpTool完全隔离Springai的工具环境,实现独特的Mcp工具系统,方法自动注入Exchange,便于完成MCP客户端交互
  • 当前不支持springai的配置类mineType,并将其整合到McpTool的注解属性中

🎯快速开始

由于尚未推送到中央仓库,您可以下载源代码,在'server 2mcp starter webmvc'文件夹执行mvn clean install,然后添加依赖引用

添加依赖

<dependency>
    <groupId>com.ai.plug</groupId>
    <artifactId>server2mcp-starter-webmvc</artifactId>
    <version>1.1.4-SNAPSHOT</version>
</dependency>

然后在配置文件中添加配置:

plugin:
  mcp:
    enabled: true
    parser:
      params: JAVADOC, TOOL, SpringMVC, JACKSON, SWAGGER2, SWAGGER3 # 可选,默认注册除JAVADOC以外的解析器
      des: JAVADOC, TOOL, JACKSON, SWAGGER3, SWAGGER2 # 可选,默认注册除JAVADOC以外的解析器
    scope: interface # 有两种配置,custom和interface。默认情况下,interface会在控制器下预注册为工具;Custom则不会预注册工具

以上是启动项目的最基本配置,包括spring.ai.mcp.server-side等所有原生配置。接口配置会默认将您的启动类路径下的所有控制器注册为MCP接口。如果接口方法或类上有@Depreciated注解,则不会被注册。

注意事项:JAVADOC解析器

Javadoc的解析逻辑本质上是对源代码文件进行解析,上线后Java代码以字节码类文件的形式存在,所以Javadoc无法使用。然而,Javadoc的注解方式仍然很受开发者欢迎,所以不能完全放弃。这里有一个解决方案。要使用Javadoc解析器,必须将源代码打包到资源目录中。如果您使用Maven,需要添加一个打包配置如下:

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <executions>
                    <execution>
                        <id>copy-java-sources</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.outputDirectory}</outputDirectory>
                            <resources>
                                <resource>
                                    <directory>src/main/java</directory>
                                    <includes>
                                        <include>**/*.java</include>
                                    </includes>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

📚原理

可以理解为向AI开放接口,因此这些接口与常规接口相同,只是可以通过AI调用。相关知识文档:模型上下文协议(MCP)::Spring AI参考介绍 - 模型上下文协议介绍 - 模型上下文协议

💕最佳实践

有了这个框架,您不再需要从头开始构建一个MCP服务应用程序,也不需要在高度耦合的复制代码上添加@Tool注解,或者在源代码中添加MCP功能。您只需根据配置类添加自定义的@ToolScan注解,即可轻松完成MCP接口的注册。遇到MCP SDK修订怎么办?不用担心,核心内容由我维护,使用方法不变

  1. 您可以轻松地通过使用多个自定义的AI对话接口,然后简单地在客户端调用相应的MCP接口,构建一个多代理应用程序。

  2. 它可以快速访问您的管理系统中的AI对话调用,具有高度定制性。您不需要关注AI领域的任何细节,只需专注于您喜欢的Web和前端领域,就可以实现酷炫的效果。相比而言

  3. 它可以与简单的MCP客户端如光标一起使用,轻松完成接口调试

🔔总结

这个框架实际上非常简单,代码中可能存在许多漏洞和不足之处,请原谅我。

📄版权声明/开源协议

根据Apache 2.0许可发布的代码