OpenAPI 转 MCP Server

OpenAPI 转 MCP Server

将使用 OpenAPI 作为接口文档的 SpringBoot 应用转换为 MCP Server。

快速入门

要求

  • Java 17+
  • SpringBoot 和 SpringMVC

步骤

  1. 添加依赖: 引入 mcp-spring-webmvc 依赖,版本 0.7.0。

  2. 复制代码文件:

    • InternalWebMvcSseServerTransport.java
    • McpConfig.java
    • RestApiToolProvider.java
    • UserContextSetter.java
  3. 实现 UserContextSetter 接口: 示例实现:

    @Component
    public class MyUserContextSetter implements UserContextSetter {
        @Override
        public void set(String auth) {
            UserContext.set(jwtConfig.getUserContextFromTokenWithoutException(auth));
        }
        @Override
        public void clear() {
            UserContext.clear();
        }
    }
    
  4. 配置其他基础组件(如拦截器)。

  5. 客户端 Demo: 使用 TypeScript 编写客户端并调用服务。

    const transport = new SSEClientTransport(new URL("http://localhost:8080/mcp/sse/..."));
    const client = new Client({ name: "MCP Server", version: "1.0.0" });
    await client.connect(transport);
    const tools = await client.listTools();
    console.log(tools);