@enokdev/springdocs-mcp 1.2.3 → 1.2.4

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/build/index.js CHANGED
@@ -2,64 +2,97 @@
2
2
  import { Server } from "@modelcontextprotocol/sdk/server/index.js";
3
3
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
4
4
  import { CallToolRequestSchema, ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js";
5
- import { SpringBootDocsService } from "./services/springboot-docs.js";
5
+ import { SpringBootDocsServiceOptimized } from "./services/springboot-docs-optimized.js";
6
+ import { AdvancedFeaturesService } from "./services/advanced-features.js";
6
7
  import { ToolDefinitions } from "./tools/index.js";
7
8
  /**
8
- * Serveur MCP pour accéder à la documentation Spring Boot
9
+ * Enhanced Spring Documentation MCP Server with advanced features and optimizations
9
10
  */
10
- class SpringBootMCPServer {
11
+ class SpringBootMCPServerAdvanced {
11
12
  server;
12
13
  docsService;
14
+ advancedService;
13
15
  constructor() {
14
16
  this.server = new Server({
15
- name: "springboot-mcp-server",
16
- version: "1.2.0",
17
+ name: "springboot-mcp-server-advanced",
18
+ version: "1.2.3",
17
19
  }, {
18
20
  capabilities: {
19
21
  tools: {},
20
22
  },
21
23
  });
22
- this.docsService = new SpringBootDocsService();
24
+ this.docsService = new SpringBootDocsServiceOptimized();
25
+ this.advancedService = new AdvancedFeaturesService();
23
26
  this.setupToolHandlers();
24
27
  }
25
28
  setupToolHandlers() {
26
- // Gestionnaire pour lister les outils disponibles
29
+ // Handler for listing available tools
27
30
  this.server.setRequestHandler(ListToolsRequestSchema, async (request) => {
28
31
  return {
29
32
  tools: ToolDefinitions.getToolList(),
30
33
  };
31
34
  });
32
- // Gestionnaire pour exécuter un outil
35
+ // Handler for executing tools
33
36
  this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
34
37
  const { name, arguments: args } = request.params;
35
38
  try {
39
+ const startTime = Date.now();
40
+ console.error(`🔧 Executing tool: ${name}`);
41
+ let result;
36
42
  switch (name) {
43
+ // Original tools
37
44
  case "search_spring_docs":
38
- return await this.handleSearchDocs(args);
45
+ result = await this.handleSearchDocs(args);
46
+ break;
39
47
  case "search_spring_projects":
40
- return await this.handleSearchProjects(args);
48
+ result = await this.handleSearchProjects(args);
49
+ break;
41
50
  case "get_spring_project":
42
- return await this.handleGetProject(args);
51
+ result = await this.handleGetProject(args);
52
+ break;
43
53
  case "get_all_spring_guides":
44
- return await this.handleGetAllGuides(args);
54
+ result = await this.handleGetAllGuides(args);
55
+ break;
45
56
  case "get_spring_guide":
46
- return await this.handleGetGuide(args);
57
+ result = await this.handleGetGuide(args);
58
+ break;
47
59
  case "get_spring_reference":
48
- return await this.handleGetReference(args);
60
+ result = await this.handleGetReference(args);
61
+ break;
49
62
  case "search_spring_concepts":
50
- return await this.handleSearchConcepts(args);
63
+ result = await this.handleSearchConcepts(args);
64
+ break;
65
+ // New advanced tools
66
+ case "search_spring_ecosystem":
67
+ result = await this.handleSearchEcosystem(args);
68
+ break;
69
+ case "get_spring_tutorial":
70
+ result = await this.handleGetTutorial(args);
71
+ break;
72
+ case "compare_spring_versions":
73
+ result = await this.handleCompareVersions(args);
74
+ break;
75
+ case "get_spring_best_practices":
76
+ result = await this.handleGetBestPractices(args);
77
+ break;
78
+ case "diagnose_spring_issues":
79
+ result = await this.handleDiagnoseIssues(args);
80
+ break;
51
81
  default:
52
- throw new Error(`Outil inconnu: ${name}`);
82
+ throw new Error(`Unknown tool: ${name}`);
53
83
  }
84
+ const duration = Date.now() - startTime;
85
+ console.error(`✅ Tool ${name} completed in ${duration}ms`);
86
+ return result;
54
87
  }
55
88
  catch (error) {
56
- console.error(`Erreur dans l'outil ${name}:`, error);
57
- const errorMessage = error instanceof Error ? error.message : "Erreur inconnue";
89
+ console.error(`❌ Error in tool ${name}:`, error);
90
+ const errorMessage = error instanceof Error ? error.message : "Unknown error";
58
91
  return {
59
92
  content: [
60
93
  {
61
94
  type: "text",
62
- text: `Erreur lors de l'exécution de l'outil ${name}: ${errorMessage}`,
95
+ text: `Error executing tool ${name}: ${errorMessage}`,
63
96
  },
64
97
  ],
65
98
  isError: true,
@@ -67,17 +100,33 @@ class SpringBootMCPServer {
67
100
  }
68
101
  });
69
102
  }
103
+ // Original tool handlers (optimized)
104
+ async handleSearchDocs(args) {
105
+ const { query, docType = "all", limit = 10 } = args;
106
+ if (!query || typeof query !== "string") {
107
+ throw new Error("The 'query' parameter is required and must be a string");
108
+ }
109
+ const results = await this.docsService.searchDocumentation(query, docType, limit);
110
+ return {
111
+ content: [
112
+ {
113
+ type: "text",
114
+ text: `Search results for "${query}":\n\n${this.formatSearchResults(results)}`,
115
+ },
116
+ ],
117
+ };
118
+ }
70
119
  async handleSearchProjects(args) {
71
120
  const { query, limit = 10 } = args;
72
121
  if (!query || typeof query !== "string") {
73
- throw new Error("Le paramètre 'query' est requis et doit être une chaîne de caractères");
122
+ throw new Error("The 'query' parameter is required and must be a string");
74
123
  }
75
124
  const results = await this.docsService.searchSpringProjects(query, limit);
76
125
  return {
77
126
  content: [
78
127
  {
79
128
  type: "text",
80
- text: `Projets Spring trouvés pour "${query}":\n\n${this.formatSearchResults(results)}`,
129
+ text: `Spring projects found for "${query}":\n\n${this.formatSearchResults(results)}`,
81
130
  },
82
131
  ],
83
132
  };
@@ -85,7 +134,7 @@ class SpringBootMCPServer {
85
134
  async handleGetProject(args) {
86
135
  const { projectName } = args;
87
136
  if (!projectName || typeof projectName !== "string") {
88
- throw new Error("Le paramètre 'projectName' est requis et doit être une chaîne de caractères");
137
+ throw new Error("The 'projectName' parameter is required and must be a string");
89
138
  }
90
139
  const project = await this.docsService.getSpringProject(projectName);
91
140
  return {
@@ -104,22 +153,7 @@ class SpringBootMCPServer {
104
153
  content: [
105
154
  {
106
155
  type: "text",
107
- text: `Guides Spring disponibles${category ? ` dans la catégorie "${category}"` : ""}:\n\n${this.formatSearchResults(results)}`,
108
- },
109
- ],
110
- };
111
- }
112
- async handleSearchDocs(args) {
113
- const { query, docType = "all", limit = 10 } = args;
114
- if (!query || typeof query !== "string") {
115
- throw new Error("Le paramètre 'query' est requis et doit être une chaîne de caractères");
116
- }
117
- const results = await this.docsService.searchDocumentation(query, docType, limit);
118
- return {
119
- content: [
120
- {
121
- type: "text",
122
- text: `Résultats de recherche pour "${query}":\n\n${this.formatSearchResults(results)}`,
156
+ text: `Available Spring guides${category ? ` in category "${category}"` : ""}:\n\n${this.formatSearchResults(results)}`,
123
157
  },
124
158
  ],
125
159
  };
@@ -127,7 +161,7 @@ class SpringBootMCPServer {
127
161
  async handleGetGuide(args) {
128
162
  const { guideId } = args;
129
163
  if (!guideId || typeof guideId !== "string") {
130
- throw new Error("Le paramètre 'guideId' est requis et doit être une chaîne de caractères");
164
+ throw new Error("The 'guideId' parameter is required and must be a string");
131
165
  }
132
166
  const guide = await this.docsService.getGuide(guideId);
133
167
  return {
@@ -142,7 +176,7 @@ class SpringBootMCPServer {
142
176
  async handleGetReference(args) {
143
177
  const { section, subsection } = args;
144
178
  if (!section || typeof section !== "string") {
145
- throw new Error("Le paramètre 'section' est requis et doit être une chaîne de caractères");
179
+ throw new Error("The 'section' parameter is required and must be a string");
146
180
  }
147
181
  const reference = await this.docsService.getReference(section, subsection);
148
182
  return {
@@ -157,7 +191,7 @@ class SpringBootMCPServer {
157
191
  async handleSearchConcepts(args) {
158
192
  const { concept, category } = args;
159
193
  if (!concept || typeof concept !== "string") {
160
- throw new Error("Le paramètre 'concept' est requis et doit être une chaîne de caractères");
194
+ throw new Error("The 'concept' parameter is required and must be a string");
161
195
  }
162
196
  const results = await this.docsService.searchConcepts(concept, category);
163
197
  return {
@@ -169,33 +203,110 @@ class SpringBootMCPServer {
169
203
  ],
170
204
  };
171
205
  }
206
+ // New advanced tool handlers
207
+ async handleSearchEcosystem(args) {
208
+ const { query, scope = "all", limit = 5 } = args;
209
+ if (!query || typeof query !== "string") {
210
+ throw new Error("The 'query' parameter is required and must be a string");
211
+ }
212
+ const results = await this.advancedService.searchEcosystem(query, scope, limit);
213
+ return {
214
+ content: [
215
+ {
216
+ type: "text",
217
+ text: this.formatEcosystemResults(results),
218
+ },
219
+ ],
220
+ };
221
+ }
222
+ async handleGetTutorial(args) {
223
+ const { topic, level = "beginner" } = args;
224
+ if (!topic || typeof topic !== "string") {
225
+ throw new Error("The 'topic' parameter is required and must be a string");
226
+ }
227
+ const tutorial = await this.advancedService.getTutorial(topic, level);
228
+ return {
229
+ content: [
230
+ {
231
+ type: "text",
232
+ text: tutorial,
233
+ },
234
+ ],
235
+ };
236
+ }
237
+ async handleCompareVersions(args) {
238
+ const { version1, version2, focus = "all" } = args;
239
+ if (!version1 || !version2) {
240
+ throw new Error("Both 'version1' and 'version2' parameters are required");
241
+ }
242
+ const comparison = await this.advancedService.compareVersions(version1, version2, focus);
243
+ return {
244
+ content: [
245
+ {
246
+ type: "text",
247
+ text: comparison,
248
+ },
249
+ ],
250
+ };
251
+ }
252
+ async handleGetBestPractices(args) {
253
+ const { category, experience_level = "intermediate" } = args;
254
+ if (!category || typeof category !== "string") {
255
+ throw new Error("The 'category' parameter is required and must be a string");
256
+ }
257
+ const practices = await this.advancedService.getBestPractices(category, experience_level);
258
+ return {
259
+ content: [
260
+ {
261
+ type: "text",
262
+ text: practices,
263
+ },
264
+ ],
265
+ };
266
+ }
267
+ async handleDiagnoseIssues(args) {
268
+ const { error_message, component, stack_trace } = args;
269
+ if (!error_message || typeof error_message !== "string") {
270
+ throw new Error("The 'error_message' parameter is required and must be a string");
271
+ }
272
+ const diagnosis = await this.advancedService.diagnoseIssues(error_message, component, stack_trace);
273
+ return {
274
+ content: [
275
+ {
276
+ type: "text",
277
+ text: diagnosis,
278
+ },
279
+ ],
280
+ };
281
+ }
282
+ // Formatting methods
172
283
  formatSearchResults(results) {
173
284
  if (results.length === 0) {
174
- return "Aucun résultat trouvé.";
285
+ return "No results found.";
175
286
  }
176
287
  return results
177
288
  .map((result, index) => {
178
289
  return `${index + 1}. **${result.title}**
179
290
  Type: ${result.type}
180
291
  URL: ${result.url}
181
- Description: ${result.description || "Aucune description disponible"}
182
-
292
+ Description: ${result.description || "No description available"}
293
+
183
294
  `;
184
295
  })
185
296
  .join("\n");
186
297
  }
187
298
  formatConceptResults(results) {
188
299
  if (!results || Object.keys(results).length === 0) {
189
- return "Aucun concept trouvé.";
300
+ return "No concepts found.";
190
301
  }
191
- let formatted = `# Concepts Spring Boot\n\n`;
302
+ let formatted = `# Spring Boot Concepts\n\n`;
192
303
  for (const [category, concepts] of Object.entries(results)) {
193
304
  formatted += `## ${category}\n\n`;
194
305
  if (Array.isArray(concepts)) {
195
306
  concepts.forEach((concept) => {
196
307
  formatted += `- **${concept.name}**: ${concept.description}\n`;
197
308
  if (concept.examples && concept.examples.length > 0) {
198
- formatted += ` Exemples: ${concept.examples.join(", ")}\n`;
309
+ formatted += ` Examples: ${concept.examples.join(", ")}\n`;
199
310
  }
200
311
  });
201
312
  }
@@ -203,36 +314,70 @@ class SpringBootMCPServer {
203
314
  }
204
315
  return formatted;
205
316
  }
317
+ formatEcosystemResults(results) {
318
+ if (!results || results.totalResults === 0) {
319
+ return `# Spring Ecosystem Search Results
320
+
321
+ No results found for "${results.query}" in scope "${results.scope}".`;
322
+ }
323
+ let formatted = `# Spring Ecosystem Search Results
324
+
325
+ **Query:** ${results.query}
326
+ **Scope:** ${results.scope}
327
+ **Total Results:** ${results.totalResults}
328
+
329
+ `;
330
+ for (const [category, items] of Object.entries(results.categories)) {
331
+ if (Array.isArray(items) && items.length > 0) {
332
+ formatted += `## ${category.charAt(0).toUpperCase() + category.slice(1)}\n\n`;
333
+ items.forEach((item, index) => {
334
+ formatted += `${index + 1}. **${item.title || item.name}**\n`;
335
+ if (item.description) {
336
+ formatted += ` ${item.description}\n`;
337
+ }
338
+ if (item.url) {
339
+ formatted += ` URL: ${item.url}\n`;
340
+ }
341
+ formatted += "\n";
342
+ });
343
+ }
344
+ }
345
+ return formatted;
346
+ }
206
347
  async run() {
207
348
  try {
208
349
  const transport = new StdioServerTransport();
209
- console.error("Serveur MCP Spring Boot démarré sur stdio");
350
+ console.error("🚀 Advanced Spring Boot MCP Server started on stdio");
210
351
  await this.server.connect(transport);
211
- console.error("Serveur connecté avec succès");
352
+ console.error("✅ Server connected successfully");
212
353
  }
213
354
  catch (error) {
214
- console.error("Erreur lors du démarrage du serveur:", error);
355
+ console.error("💥 Error starting server:", error);
215
356
  throw error;
216
357
  }
217
358
  }
218
359
  }
219
- // Point d'entrée principal
360
+ // Main entry point
220
361
  async function main() {
221
- const server = new SpringBootMCPServer();
362
+ const server = new SpringBootMCPServerAdvanced();
222
363
  await server.run();
223
364
  }
224
- // Gestion des erreurs
365
+ // Error handling
225
366
  process.on("SIGINT", async () => {
226
- console.error("Arrêt du serveur...");
367
+ console.error("🛑 Shutting down server...");
227
368
  process.exit(0);
228
369
  });
229
370
  process.on("unhandledRejection", (reason, promise) => {
230
- console.error("Rejet de promesse non géré:", reason);
371
+ console.error("💥 Unhandled promise rejection:", reason);
372
+ process.exit(1);
373
+ });
374
+ process.on("uncaughtException", (error) => {
375
+ console.error("💥 Uncaught exception:", error);
231
376
  process.exit(1);
232
377
  });
233
- // Démarrage du serveur
378
+ // Start server
234
379
  main().catch((error) => {
235
- console.error("Erreur fatale:", error);
380
+ console.error("💥 Fatal error:", error);
236
381
  process.exit(1);
237
382
  });
238
383
  //# sourceMappingURL=index.js.map
@@ -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,39 @@
1
+ /**
2
+ * Advanced features service for Spring documentation
3
+ */
4
+ export declare class AdvancedFeaturesService {
5
+ private cache;
6
+ constructor();
7
+ /**
8
+ * Search across the entire Spring ecosystem
9
+ */
10
+ searchEcosystem(query: string, scope?: string, limit?: number): Promise<any>;
11
+ /**
12
+ * Get step-by-step tutorials
13
+ */
14
+ getTutorial(topic: string, level?: string): Promise<any>;
15
+ /**
16
+ * Compare Spring Boot versions
17
+ */
18
+ compareVersions(version1: string, version2: string, focus?: string): Promise<string>;
19
+ /**
20
+ * Get best practices
21
+ */
22
+ getBestPractices(category: string, experienceLevel?: string): Promise<string>;
23
+ /**
24
+ * Diagnose Spring issues
25
+ */
26
+ diagnoseIssues(errorMessage: string, component?: string, stackTrace?: string): Promise<string>;
27
+ private searchProjects;
28
+ private searchGuides;
29
+ private searchDocumentation;
30
+ private searchAPI;
31
+ private getTutorialDatabase;
32
+ private generateVersionComparison;
33
+ private getBestPracticesDatabase;
34
+ private formatBestPractices;
35
+ private performIssueDiagnosis;
36
+ private getUpgradeRecommendation;
37
+ private hashString;
38
+ }
39
+ //# sourceMappingURL=advanced-features.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"advanced-features.d.ts","sourceRoot":"","sources":["../../src/services/advanced-features.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,KAAK,CAAe;;IAM5B;;OAEG;IACG,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAc,EAAE,KAAK,GAAE,MAAU;IAyC7E;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAmB;IA6B3D;;OAEG;IACG,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAE,MAAc;IAe/E;;OAEG;IACG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,GAAE,MAAuB;IAyBjF;;OAEG;IACG,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;YAYpE,cAAc;YAcd,YAAY;YAYZ,mBAAmB;YAWnB,SAAS;IAWvB,OAAO,CAAC,mBAAmB;YAmNb,yBAAyB;IAuCvC,OAAO,CAAC,wBAAwB;IAwChC,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,qBAAqB;IAoF7B,OAAO,CAAC,wBAAwB;IAYhC,OAAO,CAAC,UAAU;CASnB"}