@enokdev/springdocs-mcp 1.2.7 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +108 -40
- package/build/config.d.ts +9 -0
- package/build/config.d.ts.map +1 -0
- package/build/config.js +32 -0
- package/build/config.js.map +1 -0
- package/build/format.d.ts +6 -0
- package/build/format.d.ts.map +1 -0
- package/build/format.js +23 -0
- package/build/format.js.map +1 -0
- package/build/http-server.d.ts +15 -0
- package/build/http-server.d.ts.map +1 -0
- package/build/http-server.js +131 -0
- package/build/http-server.js.map +1 -0
- package/build/index.js +184 -69
- package/build/index.js.map +1 -1
- package/build/prompts.d.ts +23 -0
- package/build/prompts.d.ts.map +1 -0
- package/build/prompts.js +112 -0
- package/build/prompts.js.map +1 -0
- package/build/resources.d.ts +31 -0
- package/build/resources.d.ts.map +1 -0
- package/build/resources.js +66 -0
- package/build/resources.js.map +1 -0
- package/build/services/advanced-features.d.ts +19 -9
- package/build/services/advanced-features.d.ts.map +1 -1
- package/build/services/advanced-features.js +266 -191
- package/build/services/advanced-features.js.map +1 -1
- package/build/services/boot-wiki.d.ts +25 -0
- package/build/services/boot-wiki.d.ts.map +1 -0
- package/build/services/boot-wiki.js +103 -0
- package/build/services/boot-wiki.js.map +1 -0
- package/build/services/cache.d.ts +18 -3
- package/build/services/cache.d.ts.map +1 -1
- package/build/services/cache.js +84 -3
- package/build/services/cache.js.map +1 -1
- package/build/services/dependency-finder.d.ts +46 -0
- package/build/services/dependency-finder.d.ts.map +1 -0
- package/build/services/dependency-finder.js +181 -0
- package/build/services/dependency-finder.js.map +1 -0
- package/build/services/diagnosis.d.ts +46 -0
- package/build/services/diagnosis.d.ts.map +1 -0
- package/build/services/diagnosis.js +481 -0
- package/build/services/diagnosis.js.map +1 -0
- package/build/services/guides-list.d.ts +16 -0
- package/build/services/guides-list.d.ts.map +1 -0
- package/build/services/guides-list.js +45 -0
- package/build/services/guides-list.js.map +1 -0
- package/build/services/http.d.ts +21 -0
- package/build/services/http.d.ts.map +1 -0
- package/build/services/http.js +168 -0
- package/build/services/http.js.map +1 -0
- package/build/services/initializr.d.ts +41 -0
- package/build/services/initializr.d.ts.map +1 -0
- package/build/services/initializr.js +135 -0
- package/build/services/initializr.js.map +1 -0
- package/build/services/markdown.d.ts +56 -0
- package/build/services/markdown.d.ts.map +1 -0
- package/build/services/markdown.js +146 -0
- package/build/services/markdown.js.map +1 -0
- package/build/services/migration-sources.d.ts +13 -0
- package/build/services/migration-sources.d.ts.map +1 -0
- package/build/services/migration-sources.js +48 -0
- package/build/services/migration-sources.js.map +1 -0
- package/build/services/release-notes.d.ts +23 -0
- package/build/services/release-notes.d.ts.map +1 -0
- package/build/services/release-notes.js +94 -0
- package/build/services/release-notes.js.map +1 -0
- package/build/services/search-index.d.ts +33 -0
- package/build/services/search-index.d.ts.map +1 -0
- package/build/services/search-index.js +147 -0
- package/build/services/search-index.js.map +1 -0
- package/build/services/spring-projects-config.d.ts +98 -0
- package/build/services/spring-projects-config.d.ts.map +1 -0
- package/build/services/spring-projects-config.js +397 -0
- package/build/services/spring-projects-config.js.map +1 -0
- package/build/services/springboot-docs-optimized.d.ts +72 -21
- package/build/services/springboot-docs-optimized.d.ts.map +1 -1
- package/build/services/springboot-docs-optimized.js +354 -208
- package/build/services/springboot-docs-optimized.js.map +1 -1
- package/build/services/url.d.ts +15 -0
- package/build/services/url.d.ts.map +1 -0
- package/build/services/url.js +40 -0
- package/build/services/url.js.map +1 -0
- package/build/tools/index.d.ts +393 -2
- package/build/tools/index.d.ts.map +1 -1
- package/build/tools/index.js +188 -15
- package/build/tools/index.js.map +1 -1
- package/build/validation.d.ts +7 -0
- package/build/validation.d.ts.map +1 -0
- package/build/validation.js +50 -0
- package/build/validation.js.map +1 -0
- package/build/version.d.ts +3 -0
- package/build/version.d.ts.map +1 -0
- package/build/version.js +6 -0
- package/build/version.js.map +1 -0
- package/package.json +9 -7
- package/build/debug.d.ts +0 -3
- package/build/debug.d.ts.map +0 -1
- package/build/debug.js +0 -292
- package/build/debug.js.map +0 -1
- package/build/services/advanced-features-old.d.ts +0 -45
- package/build/services/advanced-features-old.d.ts.map +0 -1
- package/build/services/advanced-features-old.js +0 -792
- package/build/services/advanced-features-old.js.map +0 -1
- package/build/services/springboot-docs-optimized-old.d.ts +0 -55
- package/build/services/springboot-docs-optimized-old.d.ts.map +0 -1
- package/build/services/springboot-docs-optimized-old.js +0 -588
- package/build/services/springboot-docs-optimized-old.js.map +0 -1
- package/build/services/springboot-docs.d.ts +0 -65
- package/build/services/springboot-docs.d.ts.map +0 -1
- package/build/services/springboot-docs.js +0 -708
- package/build/services/springboot-docs.js.map +0 -1
package/build/index.js
CHANGED
|
@@ -1,43 +1,86 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
3
3
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
4
|
-
import { CallToolRequestSchema, ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js";
|
|
4
|
+
import { CallToolRequestSchema, ListToolsRequestSchema, ListPromptsRequestSchema, GetPromptRequestSchema, ListResourcesRequestSchema, ListResourceTemplatesRequestSchema, ReadResourceRequestSchema } from "@modelcontextprotocol/sdk/types.js";
|
|
5
5
|
import { SpringBootDocsServiceOptimized } from "./services/springboot-docs-optimized.js";
|
|
6
6
|
import { AdvancedFeaturesService } from "./services/advanced-features.js";
|
|
7
|
+
import { CacheService } from "./services/cache.js";
|
|
8
|
+
import { InitializrService } from "./services/initializr.js";
|
|
7
9
|
import { ToolDefinitions } from "./tools/index.js";
|
|
10
|
+
import { validateToolArguments } from "./validation.js";
|
|
11
|
+
import { VERSION } from "./version.js";
|
|
12
|
+
import { formatSearchResults } from "./format.js";
|
|
13
|
+
import { listPrompts, getPrompt } from "./prompts.js";
|
|
14
|
+
import { ResourcesService } from "./resources.js";
|
|
15
|
+
import { parseConfig } from "./config.js";
|
|
16
|
+
import { startHttpServer } from "./http-server.js";
|
|
8
17
|
/**
|
|
9
18
|
* Enhanced Spring Documentation MCP Server with advanced features and optimizations
|
|
10
19
|
*/
|
|
11
20
|
class SpringBootMCPServerAdvanced {
|
|
12
|
-
server;
|
|
13
21
|
docsService;
|
|
14
22
|
advancedService;
|
|
23
|
+
cache;
|
|
24
|
+
initializrService;
|
|
25
|
+
resourcesService;
|
|
15
26
|
constructor() {
|
|
16
|
-
this.
|
|
27
|
+
this.cache = new CacheService();
|
|
28
|
+
this.docsService = new SpringBootDocsServiceOptimized(undefined, this.cache);
|
|
29
|
+
this.resourcesService = new ResourcesService(this.docsService);
|
|
30
|
+
this.advancedService = new AdvancedFeaturesService(this.cache);
|
|
31
|
+
this.initializrService = new InitializrService(this.cache);
|
|
32
|
+
}
|
|
33
|
+
/** Builds a fresh MCP server bound to the shared services (once for stdio, once per request for HTTP). */
|
|
34
|
+
createServer() {
|
|
35
|
+
const server = new Server({
|
|
17
36
|
name: "springboot-mcp-server-advanced",
|
|
18
|
-
version:
|
|
37
|
+
version: VERSION,
|
|
19
38
|
}, {
|
|
20
39
|
capabilities: {
|
|
21
40
|
tools: {},
|
|
41
|
+
prompts: {},
|
|
42
|
+
resources: {},
|
|
22
43
|
},
|
|
23
44
|
});
|
|
24
|
-
this.
|
|
25
|
-
this.
|
|
26
|
-
this.
|
|
45
|
+
this.setupToolHandlers(server);
|
|
46
|
+
this.setupPromptHandlers(server);
|
|
47
|
+
this.setupResourceHandlers(server);
|
|
48
|
+
return server;
|
|
49
|
+
}
|
|
50
|
+
setupResourceHandlers(server) {
|
|
51
|
+
server.setRequestHandler(ListResourcesRequestSchema, async () => ({
|
|
52
|
+
resources: this.resourcesService.listResources(),
|
|
53
|
+
}));
|
|
54
|
+
server.setRequestHandler(ListResourceTemplatesRequestSchema, async () => ({
|
|
55
|
+
resourceTemplates: this.resourcesService.listTemplates(),
|
|
56
|
+
}));
|
|
57
|
+
server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
|
|
58
|
+
return this.resourcesService.readResource(request.params.uri);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
setupPromptHandlers(server) {
|
|
62
|
+
server.setRequestHandler(ListPromptsRequestSchema, async () => ({
|
|
63
|
+
prompts: listPrompts(),
|
|
64
|
+
}));
|
|
65
|
+
server.setRequestHandler(GetPromptRequestSchema, async (request) => {
|
|
66
|
+
const { name, arguments: args } = request.params;
|
|
67
|
+
return getPrompt(name, args);
|
|
68
|
+
});
|
|
27
69
|
}
|
|
28
|
-
setupToolHandlers() {
|
|
70
|
+
setupToolHandlers(server) {
|
|
29
71
|
// Handler for listing available tools
|
|
30
|
-
|
|
72
|
+
server.setRequestHandler(ListToolsRequestSchema, async (request) => {
|
|
31
73
|
return {
|
|
32
74
|
tools: ToolDefinitions.getToolList(),
|
|
33
75
|
};
|
|
34
76
|
});
|
|
35
77
|
// Handler for executing tools
|
|
36
|
-
|
|
37
|
-
const { name, arguments:
|
|
78
|
+
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
79
|
+
const { name, arguments: rawArgs } = request.params;
|
|
38
80
|
try {
|
|
39
81
|
const startTime = Date.now();
|
|
40
82
|
console.error(`🔧 Executing tool: ${name}`);
|
|
83
|
+
const args = validateToolArguments(name, rawArgs);
|
|
41
84
|
let result;
|
|
42
85
|
switch (name) {
|
|
43
86
|
// Original tools
|
|
@@ -72,12 +115,27 @@ class SpringBootMCPServerAdvanced {
|
|
|
72
115
|
case "compare_spring_versions":
|
|
73
116
|
result = await this.handleCompareVersions(args);
|
|
74
117
|
break;
|
|
118
|
+
case "get_release_notes":
|
|
119
|
+
result = await this.handleGetReleaseNotes(args);
|
|
120
|
+
break;
|
|
121
|
+
case "get_migration_guide":
|
|
122
|
+
result = await this.handleGetMigrationGuide(args);
|
|
123
|
+
break;
|
|
75
124
|
case "get_spring_best_practices":
|
|
76
125
|
result = await this.handleGetBestPractices(args);
|
|
77
126
|
break;
|
|
78
127
|
case "diagnose_spring_issues":
|
|
79
128
|
result = await this.handleDiagnoseIssues(args);
|
|
80
129
|
break;
|
|
130
|
+
case "spring_cache_stats":
|
|
131
|
+
result = this.handleCacheStats(args);
|
|
132
|
+
break;
|
|
133
|
+
case "get_spring_initializr":
|
|
134
|
+
result = await this.handleGetInitializr(args);
|
|
135
|
+
break;
|
|
136
|
+
case "find_spring_dependency":
|
|
137
|
+
result = await this.handleFindDependency(args);
|
|
138
|
+
break;
|
|
81
139
|
default:
|
|
82
140
|
throw new Error(`Unknown tool: ${name}`);
|
|
83
141
|
}
|
|
@@ -102,16 +160,16 @@ class SpringBootMCPServerAdvanced {
|
|
|
102
160
|
}
|
|
103
161
|
// Original tool handlers (optimized)
|
|
104
162
|
async handleSearchDocs(args) {
|
|
105
|
-
const { query, docType = "all", limit = 10 } = args;
|
|
163
|
+
const { query, docType = "all", limit = 10, version } = args;
|
|
106
164
|
if (!query || typeof query !== "string") {
|
|
107
165
|
throw new Error("The 'query' parameter is required and must be a string");
|
|
108
166
|
}
|
|
109
|
-
const results = await this.docsService.searchDocumentation(query, docType, limit);
|
|
167
|
+
const results = await this.docsService.searchDocumentation(query, docType, limit, version);
|
|
110
168
|
return {
|
|
111
169
|
content: [
|
|
112
170
|
{
|
|
113
171
|
type: "text",
|
|
114
|
-
text: `Search results for "${query}":\n\n${
|
|
172
|
+
text: `Search results for "${query}":\n\n${formatSearchResults(results)}`,
|
|
115
173
|
},
|
|
116
174
|
],
|
|
117
175
|
};
|
|
@@ -126,17 +184,17 @@ class SpringBootMCPServerAdvanced {
|
|
|
126
184
|
content: [
|
|
127
185
|
{
|
|
128
186
|
type: "text",
|
|
129
|
-
text: `Spring projects found for "${query}":\n\n${
|
|
187
|
+
text: `Spring projects found for "${query}":\n\n${formatSearchResults(results)}`,
|
|
130
188
|
},
|
|
131
189
|
],
|
|
132
190
|
};
|
|
133
191
|
}
|
|
134
192
|
async handleGetProject(args) {
|
|
135
|
-
const { projectName } = args;
|
|
193
|
+
const { projectName, offset = 0 } = args;
|
|
136
194
|
if (!projectName || typeof projectName !== "string") {
|
|
137
195
|
throw new Error("The 'projectName' parameter is required and must be a string");
|
|
138
196
|
}
|
|
139
|
-
const project = await this.docsService.getSpringProject(projectName);
|
|
197
|
+
const project = await this.docsService.getSpringProject(projectName, offset);
|
|
140
198
|
return {
|
|
141
199
|
content: [
|
|
142
200
|
{
|
|
@@ -153,7 +211,7 @@ class SpringBootMCPServerAdvanced {
|
|
|
153
211
|
content: [
|
|
154
212
|
{
|
|
155
213
|
type: "text",
|
|
156
|
-
text: `Available Spring guides${category ? ` in category "${category}"` : ""}:\n\n${
|
|
214
|
+
text: `Available Spring guides${category ? ` in category "${category}"` : ""}:\n\n${formatSearchResults(results)}`,
|
|
157
215
|
},
|
|
158
216
|
],
|
|
159
217
|
};
|
|
@@ -174,11 +232,12 @@ class SpringBootMCPServerAdvanced {
|
|
|
174
232
|
};
|
|
175
233
|
}
|
|
176
234
|
async handleGetReference(args) {
|
|
177
|
-
const { section, subsection } = args;
|
|
235
|
+
const { project = "boot", section, subsection, offset = 0, version } = args;
|
|
178
236
|
if (!section || typeof section !== "string") {
|
|
179
237
|
throw new Error("The 'section' parameter is required and must be a string");
|
|
180
238
|
}
|
|
181
|
-
|
|
239
|
+
// Use new multi-project method
|
|
240
|
+
const reference = await this.docsService.getSpringReference(project, section, subsection, offset, version);
|
|
182
241
|
return {
|
|
183
242
|
content: [
|
|
184
243
|
{
|
|
@@ -189,16 +248,16 @@ class SpringBootMCPServerAdvanced {
|
|
|
189
248
|
};
|
|
190
249
|
}
|
|
191
250
|
async handleSearchConcepts(args) {
|
|
192
|
-
const { concept,
|
|
251
|
+
const { concept, version } = args;
|
|
193
252
|
if (!concept || typeof concept !== "string") {
|
|
194
253
|
throw new Error("The 'concept' parameter is required and must be a string");
|
|
195
254
|
}
|
|
196
|
-
const results = await this.docsService.searchConcepts(concept,
|
|
255
|
+
const results = await this.docsService.searchConcepts(concept, version);
|
|
197
256
|
return {
|
|
198
257
|
content: [
|
|
199
258
|
{
|
|
200
259
|
type: "text",
|
|
201
|
-
text:
|
|
260
|
+
text: results,
|
|
202
261
|
},
|
|
203
262
|
],
|
|
204
263
|
};
|
|
@@ -214,7 +273,7 @@ class SpringBootMCPServerAdvanced {
|
|
|
214
273
|
content: [
|
|
215
274
|
{
|
|
216
275
|
type: "text",
|
|
217
|
-
text:
|
|
276
|
+
text: results, // Already formatted by advancedService
|
|
218
277
|
},
|
|
219
278
|
],
|
|
220
279
|
};
|
|
@@ -249,6 +308,65 @@ class SpringBootMCPServerAdvanced {
|
|
|
249
308
|
],
|
|
250
309
|
};
|
|
251
310
|
}
|
|
311
|
+
async handleGetReleaseNotes(args) {
|
|
312
|
+
const { project = "boot", version, focus = "all" } = args;
|
|
313
|
+
const notes = await this.advancedService.getReleaseNotes(project, version, focus);
|
|
314
|
+
return {
|
|
315
|
+
content: [
|
|
316
|
+
{
|
|
317
|
+
type: "text",
|
|
318
|
+
text: notes,
|
|
319
|
+
},
|
|
320
|
+
],
|
|
321
|
+
};
|
|
322
|
+
}
|
|
323
|
+
async handleGetMigrationGuide(args) {
|
|
324
|
+
const { version, document = "auto", section, offset = 0, project = "spring-boot" } = args;
|
|
325
|
+
const guide = await this.docsService.getMigrationGuide(version, document, section, offset, project);
|
|
326
|
+
return {
|
|
327
|
+
content: [
|
|
328
|
+
{
|
|
329
|
+
type: "text",
|
|
330
|
+
text: guide,
|
|
331
|
+
},
|
|
332
|
+
],
|
|
333
|
+
};
|
|
334
|
+
}
|
|
335
|
+
async handleGetInitializr(args) {
|
|
336
|
+
const { section = "options", query } = args;
|
|
337
|
+
const text = await this.initializrService.getInitializr(section, query);
|
|
338
|
+
return {
|
|
339
|
+
content: [
|
|
340
|
+
{
|
|
341
|
+
type: "text",
|
|
342
|
+
text,
|
|
343
|
+
},
|
|
344
|
+
],
|
|
345
|
+
};
|
|
346
|
+
}
|
|
347
|
+
async handleFindDependency(args) {
|
|
348
|
+
const { need, build = "both", bootVersion } = args;
|
|
349
|
+
const text = await this.initializrService.findDependency(need, build, bootVersion);
|
|
350
|
+
return {
|
|
351
|
+
content: [
|
|
352
|
+
{
|
|
353
|
+
type: "text",
|
|
354
|
+
text,
|
|
355
|
+
},
|
|
356
|
+
],
|
|
357
|
+
};
|
|
358
|
+
}
|
|
359
|
+
handleCacheStats(args) {
|
|
360
|
+
const { purge = "none" } = args;
|
|
361
|
+
return {
|
|
362
|
+
content: [
|
|
363
|
+
{
|
|
364
|
+
type: "text",
|
|
365
|
+
text: this.cache.statsReport(purge),
|
|
366
|
+
},
|
|
367
|
+
],
|
|
368
|
+
};
|
|
369
|
+
}
|
|
252
370
|
async handleGetBestPractices(args) {
|
|
253
371
|
const { category, experience_level = "intermediate" } = args;
|
|
254
372
|
if (!category || typeof category !== "string") {
|
|
@@ -280,40 +398,6 @@ class SpringBootMCPServerAdvanced {
|
|
|
280
398
|
};
|
|
281
399
|
}
|
|
282
400
|
// Formatting methods
|
|
283
|
-
formatSearchResults(results) {
|
|
284
|
-
if (results.length === 0) {
|
|
285
|
-
return "No results found.";
|
|
286
|
-
}
|
|
287
|
-
return results
|
|
288
|
-
.map((result, index) => {
|
|
289
|
-
return `${index + 1}. **${result.title}**
|
|
290
|
-
Type: ${result.type}
|
|
291
|
-
URL: ${result.url}
|
|
292
|
-
Description: ${result.description || "No description available"}
|
|
293
|
-
|
|
294
|
-
`;
|
|
295
|
-
})
|
|
296
|
-
.join("\n");
|
|
297
|
-
}
|
|
298
|
-
formatConceptResults(results) {
|
|
299
|
-
if (!results || Object.keys(results).length === 0) {
|
|
300
|
-
return "No concepts found.";
|
|
301
|
-
}
|
|
302
|
-
let formatted = `# Spring Boot Concepts\n\n`;
|
|
303
|
-
for (const [category, concepts] of Object.entries(results)) {
|
|
304
|
-
formatted += `## ${category}\n\n`;
|
|
305
|
-
if (Array.isArray(concepts)) {
|
|
306
|
-
concepts.forEach((concept) => {
|
|
307
|
-
formatted += `- **${concept.name}**: ${concept.description}\n`;
|
|
308
|
-
if (concept.examples && concept.examples.length > 0) {
|
|
309
|
-
formatted += ` Examples: ${concept.examples.join(", ")}\n`;
|
|
310
|
-
}
|
|
311
|
-
});
|
|
312
|
-
}
|
|
313
|
-
formatted += "\n";
|
|
314
|
-
}
|
|
315
|
-
return formatted;
|
|
316
|
-
}
|
|
317
401
|
formatEcosystemResults(results) {
|
|
318
402
|
if (!results || results.totalResults === 0) {
|
|
319
403
|
return `# Spring Ecosystem Search Results
|
|
@@ -344,11 +428,26 @@ No results found for "${results.query}" in scope "${results.scope}".`;
|
|
|
344
428
|
}
|
|
345
429
|
return formatted;
|
|
346
430
|
}
|
|
347
|
-
|
|
431
|
+
httpServer;
|
|
432
|
+
async run(config) {
|
|
348
433
|
try {
|
|
349
|
-
|
|
434
|
+
if (config.transport === "http") {
|
|
435
|
+
const loopback = ["127.0.0.1", "localhost", "::1"].includes(config.host);
|
|
436
|
+
if (!loopback) {
|
|
437
|
+
console.error(`⚠️ Listening on ${config.host}: the HTTP transport has no authentication, restrict access at the network level`);
|
|
438
|
+
}
|
|
439
|
+
this.httpServer = await startHttpServer({
|
|
440
|
+
host: config.host,
|
|
441
|
+
port: config.port,
|
|
442
|
+
allowedHosts: config.allowedHosts,
|
|
443
|
+
createServer: () => this.createServer(),
|
|
444
|
+
});
|
|
445
|
+
console.error(`🚀 HTTP server listening on http://${this.httpServer.address}/mcp`);
|
|
446
|
+
return;
|
|
447
|
+
}
|
|
448
|
+
const server = this.createServer();
|
|
350
449
|
console.error("🚀 Advanced Spring Boot MCP Server started on stdio");
|
|
351
|
-
await
|
|
450
|
+
await server.connect(new StdioServerTransport());
|
|
352
451
|
console.error("✅ Server connected successfully");
|
|
353
452
|
}
|
|
354
453
|
catch (error) {
|
|
@@ -356,24 +455,40 @@ No results found for "${results.query}" in scope "${results.scope}".`;
|
|
|
356
455
|
throw error;
|
|
357
456
|
}
|
|
358
457
|
}
|
|
458
|
+
async stop() {
|
|
459
|
+
await this.httpServer?.close();
|
|
460
|
+
}
|
|
359
461
|
}
|
|
360
462
|
// Main entry point
|
|
463
|
+
let app;
|
|
361
464
|
async function main() {
|
|
362
|
-
|
|
363
|
-
|
|
465
|
+
let config;
|
|
466
|
+
try {
|
|
467
|
+
config = parseConfig(process.argv.slice(2), process.env);
|
|
468
|
+
}
|
|
469
|
+
catch (error) {
|
|
470
|
+
console.error(`💥 ${error instanceof Error ? error.message : error}`);
|
|
471
|
+
process.exit(1);
|
|
472
|
+
}
|
|
473
|
+
app = new SpringBootMCPServerAdvanced();
|
|
474
|
+
await app.run(config);
|
|
364
475
|
}
|
|
365
476
|
// Error handling
|
|
366
|
-
|
|
367
|
-
console.error(
|
|
368
|
-
process.exit(0);
|
|
369
|
-
|
|
477
|
+
function shutdown(signal) {
|
|
478
|
+
console.error(`🛑 Shutting down server (${signal})...`);
|
|
479
|
+
const done = () => process.exit(0);
|
|
480
|
+
// Close the HTTP server first (bounded), then exit
|
|
481
|
+
const bound = setTimeout(done, 3000);
|
|
482
|
+
bound.unref();
|
|
483
|
+
(app?.stop() ?? Promise.resolve()).then(done, done);
|
|
484
|
+
}
|
|
485
|
+
process.on("SIGINT", shutdown);
|
|
486
|
+
process.on("SIGTERM", shutdown);
|
|
370
487
|
process.on("unhandledRejection", (reason, promise) => {
|
|
371
488
|
console.error("💥 Unhandled promise rejection:", reason);
|
|
372
|
-
process.exit(1);
|
|
373
489
|
});
|
|
374
490
|
process.on("uncaughtException", (error) => {
|
|
375
491
|
console.error("💥 Uncaught exception:", error);
|
|
376
|
-
process.exit(1);
|
|
377
492
|
});
|
|
378
493
|
// Start server
|
|
379
494
|
main().catch((error) => {
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
interface PromptArgument {
|
|
2
|
+
name: string;
|
|
3
|
+
description: string;
|
|
4
|
+
required: boolean;
|
|
5
|
+
}
|
|
6
|
+
interface PromptDefinition {
|
|
7
|
+
name: string;
|
|
8
|
+
description: string;
|
|
9
|
+
arguments: PromptArgument[];
|
|
10
|
+
}
|
|
11
|
+
export declare function listPrompts(): PromptDefinition[];
|
|
12
|
+
export declare function getPrompt(name: string, rawArgs: Record<string, string> | undefined): {
|
|
13
|
+
description: string;
|
|
14
|
+
messages: {
|
|
15
|
+
role: "user";
|
|
16
|
+
content: {
|
|
17
|
+
type: "text";
|
|
18
|
+
text: string;
|
|
19
|
+
};
|
|
20
|
+
}[];
|
|
21
|
+
};
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=prompts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAKA,UAAU,cAAc;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE;AACjF,UAAU,gBAAgB;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,cAAc,EAAE,CAAA;CAAE;AAwB7F,wBAAgB,WAAW,IAAI,gBAAgB,EAAE,CAEhD;AAwCD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;;;;;;;;;EAsDlF"}
|
package/build/prompts.js
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { ErrorCode, McpError } from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
const VERSION_PATTERN = /^\d+\.\d+(\.\d+)?$/;
|
|
3
|
+
const LIMITS = { error_message: 2000, stack_trace: 10000, version: 20 };
|
|
4
|
+
const PROMPTS = [
|
|
5
|
+
{
|
|
6
|
+
name: "migrate-boot-version",
|
|
7
|
+
description: "Plan a Spring Boot upgrade: migration guide, breaking changes and a checklist",
|
|
8
|
+
arguments: [
|
|
9
|
+
{ name: "to_version", description: "Target Spring Boot version (e.g. 3.0, 3.4 or 4.0)", required: true },
|
|
10
|
+
{ name: "from_version", description: "Current Spring Boot version (e.g. 2.7)", required: false },
|
|
11
|
+
],
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: "explain-error",
|
|
15
|
+
description: "Explain a Spring error: root cause, likely fixes and the matching reference sections",
|
|
16
|
+
arguments: [
|
|
17
|
+
{ name: "error_message", description: "Error message or issue description", required: true },
|
|
18
|
+
{ name: "stack_trace", description: "Stack trace (optional, for a more specific diagnosis)", required: false },
|
|
19
|
+
],
|
|
20
|
+
},
|
|
21
|
+
];
|
|
22
|
+
export function listPrompts() {
|
|
23
|
+
return PROMPTS.map((p) => ({ ...p, arguments: p.arguments.map((a) => ({ ...a })) }));
|
|
24
|
+
}
|
|
25
|
+
function invalid(message) {
|
|
26
|
+
throw new McpError(ErrorCode.InvalidParams, message);
|
|
27
|
+
}
|
|
28
|
+
function requiredText(args, name, max) {
|
|
29
|
+
const value = args[name];
|
|
30
|
+
if (typeof value !== "string" || value.trim() === "")
|
|
31
|
+
invalid(`The '${name}' argument is required`);
|
|
32
|
+
if (value.length > max)
|
|
33
|
+
invalid(`The '${name}' argument must not exceed ${max} characters`);
|
|
34
|
+
return value;
|
|
35
|
+
}
|
|
36
|
+
function optionalText(args, name, max) {
|
|
37
|
+
const value = args[name];
|
|
38
|
+
if (value === undefined || value === null || value === "")
|
|
39
|
+
return undefined;
|
|
40
|
+
if (typeof value !== "string")
|
|
41
|
+
invalid(`The '${name}' argument must be a string`);
|
|
42
|
+
if (value.length > max)
|
|
43
|
+
invalid(`The '${name}' argument must not exceed ${max} characters`);
|
|
44
|
+
return value;
|
|
45
|
+
}
|
|
46
|
+
function version(value, name) {
|
|
47
|
+
const trimmed = value.trim();
|
|
48
|
+
if (!VERSION_PATTERN.test(trimmed) || trimmed.length > LIMITS.version) {
|
|
49
|
+
invalid(`The '${name}' argument must be a version like 3.0 or 3.4.2`);
|
|
50
|
+
}
|
|
51
|
+
return trimmed;
|
|
52
|
+
}
|
|
53
|
+
/** Wraps user text in a tilde fence longer than any run of tildes it contains. */
|
|
54
|
+
function fenced(text) {
|
|
55
|
+
const longest = Math.max(0, ...(text.match(/~+/g) ?? []).map((run) => run.length));
|
|
56
|
+
const fence = "~".repeat(Math.max(4, longest + 1));
|
|
57
|
+
return `${fence}text\n${text}\n${fence}`;
|
|
58
|
+
}
|
|
59
|
+
function userMessage(description, text) {
|
|
60
|
+
return { description, messages: [{ role: "user", content: { type: "text", text } }] };
|
|
61
|
+
}
|
|
62
|
+
export function getPrompt(name, rawArgs) {
|
|
63
|
+
const args = rawArgs ?? {};
|
|
64
|
+
if (name === "migrate-boot-version") {
|
|
65
|
+
const to = version(requiredText(args, "to_version", LIMITS.version), "to_version");
|
|
66
|
+
const fromRaw = optionalText(args, "from_version", LIMITS.version);
|
|
67
|
+
const from = fromRaw === undefined ? undefined : version(fromRaw, "from_version");
|
|
68
|
+
const release = to.split(".").length === 2 ? `${to}.0` : to;
|
|
69
|
+
const major = (v) => Number(v.split(".")[0]);
|
|
70
|
+
const toMajor = major(to);
|
|
71
|
+
const fromMajor = from === undefined ? undefined : major(from);
|
|
72
|
+
// Major versions crossed by the upgrade (3.0 and 4.0 have their own migration guide)
|
|
73
|
+
const crossed = [];
|
|
74
|
+
if (fromMajor !== undefined) {
|
|
75
|
+
for (let m = fromMajor + 1; m <= toMajor; m++) {
|
|
76
|
+
if (m >= 3 && `${m}.0` !== to)
|
|
77
|
+
crossed.push(`${m}.0`);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
const jakarta = (fromMajor === undefined || fromMajor < 3) && toMajor >= 3;
|
|
81
|
+
const steps = [
|
|
82
|
+
`Help me upgrade a Spring Boot application${from ? ` from ${from}` : ""} to ${to}. Use the Spring documentation tools, in this order:`,
|
|
83
|
+
"",
|
|
84
|
+
`Call \`get_migration_guide\` with version "${to}" and read the migration steps.`,
|
|
85
|
+
...crossed.map((v) => `Also call \`get_migration_guide\` with version "${v}": the upgrade crosses that major version.`),
|
|
86
|
+
`Call \`get_release_notes\` with project "boot", version "${release}" and focus "breaking-changes".`,
|
|
87
|
+
"Call `get_spring_reference` for the configuration sections affected by the changes you found.",
|
|
88
|
+
...(jakarta ? ["Check the javax -> jakarta namespace migration: call `get_migration_guide` with version \"3.0\" and section \"jakarta\"."] : []),
|
|
89
|
+
].map((line, i) => (i >= 2 ? `${i - 1}. ${line}` : line));
|
|
90
|
+
steps.push("", "Finish with an ordered upgrade checklist: dependency and property changes first, then code changes, then verification steps. Cite which tool each point comes from.");
|
|
91
|
+
return userMessage(`Spring Boot upgrade plan to ${to}`, steps.join("\n"));
|
|
92
|
+
}
|
|
93
|
+
if (name === "explain-error") {
|
|
94
|
+
const message = requiredText(args, "error_message", LIMITS.error_message);
|
|
95
|
+
const trace = optionalText(args, "stack_trace", LIMITS.stack_trace);
|
|
96
|
+
const steps = [
|
|
97
|
+
"Explain this Spring error and tell me how to fix it. Use the Spring documentation tools, in this order:",
|
|
98
|
+
"",
|
|
99
|
+
"1. Call `diagnose_spring_issues` with the error message below" + (trace ? " and the stack trace" : "") + ".",
|
|
100
|
+
"2. Call `get_spring_reference` for the reference sections the diagnosis points to.",
|
|
101
|
+
"",
|
|
102
|
+
"Then explain the root cause in plain language and give the most likely fixes, most probable first.",
|
|
103
|
+
"",
|
|
104
|
+
"Error message:",
|
|
105
|
+
fenced(message),
|
|
106
|
+
...(trace ? ["", "Stack trace:", fenced(trace)] : []),
|
|
107
|
+
];
|
|
108
|
+
return userMessage("Spring error explanation", steps.join("\n"));
|
|
109
|
+
}
|
|
110
|
+
invalid(`Unknown prompt: ${name}`);
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=prompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { SpringBootDocsServiceOptimized } from "./services/springboot-docs-optimized.js";
|
|
2
|
+
export type ParsedResource = {
|
|
3
|
+
kind: "project" | "guide";
|
|
4
|
+
id: string;
|
|
5
|
+
};
|
|
6
|
+
/** Strict parsing of the raw string: no URL normalization, so nothing but the two accepted forms gets through. */
|
|
7
|
+
export declare function parseResourceUri(uri: string): ParsedResource;
|
|
8
|
+
export declare class ResourcesService {
|
|
9
|
+
private docs;
|
|
10
|
+
constructor(docs: SpringBootDocsServiceOptimized);
|
|
11
|
+
listResources(): {
|
|
12
|
+
uri: string;
|
|
13
|
+
name: string;
|
|
14
|
+
description: string;
|
|
15
|
+
mimeType: string;
|
|
16
|
+
}[];
|
|
17
|
+
listTemplates(): {
|
|
18
|
+
uriTemplate: string;
|
|
19
|
+
name: string;
|
|
20
|
+
description: string;
|
|
21
|
+
mimeType: string;
|
|
22
|
+
}[];
|
|
23
|
+
readResource(uri: string): Promise<{
|
|
24
|
+
contents: {
|
|
25
|
+
uri: string;
|
|
26
|
+
mimeType: string;
|
|
27
|
+
text: string;
|
|
28
|
+
}[];
|
|
29
|
+
}>;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=resources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../src/resources.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAWzF,MAAM,MAAM,cAAc,GAAG;IAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE,kHAAkH;AAClH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAQ5D;AAED,qBAAa,gBAAgB;IACf,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,8BAA8B;IAExD,aAAa;;;;;;IASb,aAAa;;;;;;IAiBP,YAAY,CAAC,GAAG,EAAE,MAAM;;;;;;;CAe/B"}
|