Skip to content

Commit 3a88db4

Browse files
committed
Add Springdoc OpenAPI MCP support fixes #3246
1 parent 5bb51bc commit 3a88db4

114 files changed

Lines changed: 59968 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

pom.xml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,9 @@
4646
<module>springdoc-openapi-starter-webflux-ui</module>
4747
<module>springdoc-openapi-starter-webmvc-scalar</module>
4848
<module>springdoc-openapi-starter-webflux-scalar</module>
49+
<module>springdoc-openapi-starter-common-mcp</module>
50+
<module>springdoc-openapi-starter-webmvc-mcp</module>
51+
<module>springdoc-openapi-starter-webflux-mcp</module>
4952
<module>springdoc-openapi-bom</module>
5053
</modules>
5154

@@ -64,7 +67,12 @@
6467
<spring-security-oauth2-authorization-server.version>2.0.0-M2
6568
</spring-security-oauth2-authorization-server.version>
6669
<scalar.version>0.5.55</scalar.version>
70+
<spring-ai.version>1.1.2</spring-ai.version>
71+
<mcp-sdk.version>0.17.0</mcp-sdk.version>
6772
<skipPublishing>false</skipPublishing>
73+
<skip.npm>true</skip.npm>
74+
<frontend-maven-plugin.version>1.15.1</frontend-maven-plugin.version>
75+
<node.version>v22.14.0</node.version>
6876
</properties>
6977

7078
<dependencyManagement>
@@ -120,6 +128,20 @@
120128
<artifactId>scalar-core</artifactId>
121129
<version>${scalar.version}</version>
122130
</dependency>
131+
<!-- MCP SDK -->
132+
<dependency>
133+
<groupId>io.modelcontextprotocol.sdk</groupId>
134+
<artifactId>mcp-core</artifactId>
135+
<version>${mcp-sdk.version}</version>
136+
</dependency>
137+
<!-- Spring AI -->
138+
<dependency>
139+
<groupId>org.springframework.ai</groupId>
140+
<artifactId>spring-ai-bom</artifactId>
141+
<version>${spring-ai.version}</version>
142+
<type>pom</type>
143+
<scope>import</scope>
144+
</dependency>
123145
<dependency>
124146
<groupId>com.scalar.maven</groupId>
125147
<artifactId>scalar-webmvc</artifactId>
@@ -140,6 +162,15 @@
140162
</dependency>
141163
</dependencies>
142164
<build>
165+
<pluginManagement>
166+
<plugins>
167+
<plugin>
168+
<groupId>com.github.eirslett</groupId>
169+
<artifactId>frontend-maven-plugin</artifactId>
170+
<version>${frontend-maven-plugin.version}</version>
171+
</plugin>
172+
</plugins>
173+
</pluginManagement>
143174
<plugins>
144175
<plugin>
145176
<groupId>org.apache.maven.plugins</groupId>
@@ -176,6 +207,9 @@
176207
<activation>
177208
<activeByDefault>true</activeByDefault>
178209
</activation>
210+
<properties>
211+
<skip.npm>false</skip.npm>
212+
</properties>
179213
<modules>
180214
<module>springdoc-openapi-starter-common</module>
181215
<module>springdoc-openapi-starter-webmvc-api</module>
@@ -268,6 +302,14 @@
268302
<enabled>true</enabled>
269303
</snapshots>
270304
</repository>
305+
<repository>
306+
<id>spring-milestones</id>
307+
<name>Spring Milestones</name>
308+
<url>https://repo.spring.io/milestone</url>
309+
<snapshots>
310+
<enabled>false</enabled>
311+
</snapshots>
312+
</repository>
271313
</repositories>
272314

273315
<distributionManagement>

springdoc-openapi-bom/pom.xml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,21 @@
4545
<artifactId>springdoc-openapi-starter-webflux-scalar</artifactId>
4646
<version>${project.version}</version>
4747
</dependency>
48+
<dependency>
49+
<groupId>org.springdoc</groupId>
50+
<artifactId>springdoc-openapi-starter-common-mcp</artifactId>
51+
<version>${project.version}</version>
52+
</dependency>
53+
<dependency>
54+
<groupId>org.springdoc</groupId>
55+
<artifactId>springdoc-openapi-starter-webmvc-mcp</artifactId>
56+
<version>${project.version}</version>
57+
</dependency>
58+
<dependency>
59+
<groupId>org.springdoc</groupId>
60+
<artifactId>springdoc-openapi-starter-webflux-mcp</artifactId>
61+
<version>${project.version}</version>
62+
</dependency>
4863
</dependencies>
4964
</dependencyManagement>
5065

Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
######################
2+
# Project Specific
3+
######################
4+
/target/www/**
5+
/src/test/javascript/coverage/
6+
7+
######################
8+
# Node
9+
######################
10+
/node/
11+
node_tmp/
12+
node_modules/
13+
npm-debug.log.*
14+
/.awcache/*
15+
/.cache-loader/*
16+
17+
######################
18+
# SASS
19+
######################
20+
.sass-cache/
21+
22+
######################
23+
# Eclipse
24+
######################
25+
*.pydevproject
26+
.project
27+
.metadata
28+
tmp/
29+
tmp/**/*
30+
*.tmp
31+
*.bak
32+
*.swp
33+
*~.nib
34+
local.properties
35+
.classpath
36+
.settings/
37+
.loadpath
38+
.factorypath
39+
/src/main/resources/rebel.xml
40+
41+
# External tool builders
42+
.externalToolBuilders/**
43+
44+
# Locally stored "Eclipse launch configurations"
45+
*.launch
46+
47+
# CDT-specific
48+
.cproject
49+
50+
# PDT-specific
51+
.buildpath
52+
53+
######################
54+
# Intellij
55+
######################
56+
.idea/
57+
*.iml
58+
*.iws
59+
*.ipr
60+
*.ids
61+
*.orig
62+
classes/
63+
out/
64+
65+
######################
66+
# Visual Studio Code
67+
######################
68+
.vscode/
69+
70+
######################
71+
# Maven
72+
######################
73+
/log/
74+
/target/
75+
76+
######################
77+
# Gradle
78+
######################
79+
.gradle/
80+
/build/
81+
82+
######################
83+
# Package Files
84+
######################
85+
*.jar
86+
*.war
87+
*.ear
88+
*.db
89+
90+
######################
91+
# Windows
92+
######################
93+
# Windows image file caches
94+
Thumbs.db
95+
96+
# Folder config file
97+
Desktop.ini
98+
99+
######################
100+
# Mac OSX
101+
######################
102+
.DS_Store
103+
.svn
104+
105+
# Thumbnails
106+
._*
107+
108+
# Files that might appear on external disk
109+
.Spotlight-V100
110+
.Trashes
111+
112+
######################
113+
# Directories
114+
######################
115+
/bin/
116+
/deploy/
117+
118+
######################
119+
# Logs
120+
######################
121+
*.log*
122+
123+
######################
124+
# Others
125+
######################
126+
*.class
127+
*.*~
128+
*~
129+
.merge_file*
130+
131+
######################
132+
# Gradle Wrapper
133+
######################
134+
!gradle/wrapper/gradle-wrapper.jar
135+
136+
######################
137+
# Maven Wrapper
138+
######################
139+
!.mvn/wrapper/maven-wrapper.jar
140+
141+
######################
142+
# ESLint
143+
######################
144+
.eslintcache
145+
146+
######################
147+
# MCP Dashboard
148+
######################
149+
src/main/frontend/node_modules/

0 commit comments

Comments
 (0)