模块路径:langchain4j-spring-ai-swagger-mcp
目标:将任意 OpenAPI/Swagger (3.x) 文档映射为 MCP 的 tools/resources/prompts,让大模型能安全、可控地调用后端接口。
1. 背景与价值
在大模型接入业务系统时,最头疼的是'如何稳定地调用接口'。Swagger MCP 的价值是:
- 把接口能力规范化为 MCP tools,避免模型在对话里硬拼 curl。
- 接口调用链可治理:鉴权、超时、限流、审计集中到 MCP 层。
- 支持前端自动化生成:模型先读 tool schema,再生成页面与调用链。
对应模块规划见:langchain4j-spring-ai-swagger-mcp/swagger-mcp-skills-plan.md。
2. 模块结构与启动入口
核心入口:langchain4j-spring-ai-swagger-mcp/src/main/java/com/soft/nda/swagger/SwaggerMcpServerApplication.java
- 作为独立 Spring Boot 服务启动。
- 对外暴露 MCP server(SSE/stdio),默认 SSE。
配置示例(来自 application.yml):
server:
port: 3000
transport:
mode: sse
swagger:
mcp:
services:
- serviceKey: local
openapiUrl: http://127.0.0.1:9010/v3/api-docs/default
baseUrl: http://127.0.0.1:9010
toolMode: perOperation
timeoutMs: 8000
maxBodyBytes: 1048576
auth:
type: none
3. 核心组件解读
3.1 OpenApiLoader:加载与缓存
文件:langchain4j-spring-ai-swagger-mcp/src/main/java/com/soft/nda/swagger/openapi/OpenApiLoader.java
- 支持 URL / 本地文件加载 OpenAPI。
- 缓存 OpenAPI 实例与原始 JSON Map。
- 支持文档拉取鉴权 headers。

