@enokdev/springdocs-mcp 1.1.1 → 1.2.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/CHANGELOG.md DELETED
@@ -1,82 +0,0 @@
1
- # Changelog - Spring Boot MCP Server
2
-
3
- All notable changes to this project will be documented in this file.
4
-
5
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
- and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
-
8
- ## [1.1.0] - 2025-08-21
9
-
10
- ### ✨ Added
11
- - **Complete spring.io/projects support** - Access to all Spring projects (Security, Data, Cloud, etc.)
12
- - **New `search_spring_projects` tool** - Search among all available Spring projects
13
- - **New `get_spring_project` tool** - Retrieve complete details of a specific Spring project
14
- - **New `get_all_spring_guides` tool** - List all Spring guides with category filtering
15
- - **Extended knowledge base** - Popular Spring projects integrated for robust fallback
16
- - **Enhanced documentation** - Practical examples guide (EXAMPLES.md)
17
- - **Contribution guide** - Developer documentation (CONTRIBUTING.md)
18
-
19
- ### 🔧 Improved
20
- - **Expanded documentation coverage** - From 4 to 7 MCP tools
21
- - **Service robustness** - Fallback mechanisms for popular projects and guides
22
- - **Query performance** - Optimized HTML parsing and Markdown conversion
23
- - **Extended testing** - Updated test script with all new tools
24
-
25
- ### 📚 Added Documentation Sources
26
- - `https://spring.io/projects` - Complete catalog of Spring projects
27
- - `https://spring.io/guides` - Extended collection of practical guides
28
- - Popular projects knowledge base (Boot, Security, Data, Cloud, etc.)
29
-
30
- ### 🛠️ MCP Tools (7 total)
31
- 1. `search_spring_docs` - Search Spring Boot documentation *(existing)*
32
- 2. `search_spring_projects` - **NEW** - Search Spring projects
33
- 3. `get_spring_project` - **NEW** - Spring project details
34
- 4. `get_all_spring_guides` - **NEW** - List Spring guides
35
- 5. `get_spring_guide` - Retrieve specific guide *(existing)*
36
- 6. `get_spring_reference` - Reference documentation *(existing)*
37
- 7. `search_spring_concepts` - Search concepts *(existing)*
38
-
39
- ## [1.0.0] - 2025-08-21
40
-
41
- ### ✨ Initial Release
42
- - **Functional MCP server** - Complete Model Context Protocol implementation
43
- - **4 basic tools** - Access to essential Spring Boot documentation
44
- - **TypeScript architecture** - Modern code with strict types
45
- - **Claude Desktop configuration** - Ready-to-use integration
46
- - **Automated testing** - Functionality validation script
47
- - **Complete documentation** - README with installation and usage instructions
48
-
49
- ### 🛠️ Basic MCP Tools
50
- 1. `search_spring_docs` - Search Spring Boot documentation
51
- 2. `get_spring_guide` - Retrieve specific guide
52
- 3. `get_spring_reference` - Reference documentation
53
- 4. `search_spring_concepts` - Search Spring Boot concepts
54
-
55
- ### 📚 Initial Documentation Sources
56
- - Official Spring Boot documentation
57
- - Selected Spring.io guides
58
- - Spring Boot concepts knowledge base
59
-
60
- ### 🔧 Technical Features
61
- - stdio transport for MCP communication
62
- - HTML parsing with Cheerio
63
- - Markdown conversion with Turndown
64
- - Robust error handling
65
- - JSON-RPC 2.0 request support
66
-
67
- ---
68
-
69
- ## Version Format
70
-
71
- - **MAJOR**: Incompatible API changes
72
- - **MINOR**: Backward-compatible new features
73
- - **PATCH**: Backward-compatible bug fixes
74
-
75
- ## Types of Changes
76
-
77
- - `✨ Added` for new features
78
- - `🔧 Improved` for changes to existing functionality
79
- - `🐛 Fixed` for bug fixes
80
- - `❌ Removed` for removed features
81
- - `⚠️ Deprecated` for soon-to-be removed features
82
- - `🔒 Security` for vulnerability fixes
package/CONTRIBUTING.md DELETED
@@ -1,215 +0,0 @@
1
- # Guide de Contribution - Spring Boot MCP Server
2
-
3
- Merci de votre intérêt pour contribuer au projet Spring Boot MCP Server ! Ce guide vous aidera à comprendre comment participer au développement.
4
-
5
- ## 🛠️ Configuration de l'environnement de développement
6
-
7
- ### Prérequis
8
- - Node.js >= 18.0.0
9
- - npm >= 8.0.0
10
- - TypeScript >= 5.0.0
11
- - Git
12
-
13
- ### Installation
14
- ```bash
15
- # Cloner le repository
16
- git clone <votre-fork>
17
- cd springdocsmcp
18
-
19
- # Installer les dépendances
20
- npm install
21
-
22
- # Compiler le projet
23
- npm run build
24
-
25
- # Exécuter les tests
26
- ./test.sh
27
- ```
28
-
29
- ## 📝 Structure du projet
30
-
31
- ```
32
- springdocsmcp/
33
- ├── src/
34
- │ ├── index.ts # Point d'entrée du serveur MCP
35
- │ ├── services/
36
- │ │ └── springboot-docs.ts # Service de documentation Spring Boot
37
- │ └── tools/
38
- │ └── index.ts # Définitions des outils MCP
39
- ├── build/ # Fichiers compilés TypeScript
40
- ├── package.json # Configuration npm
41
- ├── tsconfig.json # Configuration TypeScript
42
- └── README.md # Documentation principale
43
- ```
44
-
45
- ## 🔧 Développement
46
-
47
- ### Scripts disponibles
48
- - `npm run build` - Compile le TypeScript
49
- - `npm run dev` - Mode développement avec rechargement automatique
50
- - `npm run test` - Exécute les tests (ou utilisez `./test.sh`)
51
- - `npm run lint` - Vérifie le style de code
52
-
53
- ### Ajouter un nouvel outil
54
-
55
- 1. **Définir l'outil dans `src/tools/index.ts`** :
56
- ```typescript
57
- export const NOUVEAU_OUTIL: Tool = {
58
- name: "nouveau_outil",
59
- description: "Description de votre nouvel outil",
60
- inputSchema: {
61
- type: "object",
62
- properties: {
63
- parametre: {
64
- type: "string",
65
- description: "Description du paramètre"
66
- }
67
- },
68
- required: ["parametre"]
69
- }
70
- };
71
- ```
72
-
73
- 2. **Implémenter la logique dans `src/services/springboot-docs.ts`** :
74
- ```typescript
75
- public async nouveauOutil(parametre: string): Promise<string> {
76
- // Votre logique ici
77
- return "Résultat de l'outil";
78
- }
79
- ```
80
-
81
- 3. **Ajouter le gestionnaire dans `src/index.ts`** :
82
- ```typescript
83
- case "nouveau_outil":
84
- const result = await this.docsService.nouveauOutil(args.parametre);
85
- return { content: [{ type: "text", text: result }] };
86
- ```
87
-
88
- ### Ajouter une nouvelle source de documentation
89
-
90
- 1. **Étendre le service** dans `src/services/springboot-docs.ts`
91
- 2. **Ajouter les nouvelles URLs** dans les constantes
92
- 3. **Implémenter les méthodes de parsing** spécifiques
93
- 4. **Tester avec le script de test**
94
-
95
- ## 🧪 Tests
96
-
97
- ### Tests automatisés
98
- Exécutez le script de test pour vérifier que tous les outils fonctionnent :
99
- ```bash
100
- ./test.sh
101
- ```
102
-
103
- ### Tests manuels
104
- Testez individuellement avec des requêtes JSON-RPC :
105
- ```bash
106
- echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "search_spring_docs", "arguments": {"query": "test"}}}' | node build/index.js
107
- ```
108
-
109
- ### Tests d'intégration
110
- Testez avec Claude Desktop en ajoutant la configuration MCP et en utilisant les outils dans une conversation.
111
-
112
- ## 📋 Standards de code
113
-
114
- ### Style TypeScript
115
- - Utilisez des types stricts
116
- - Préférez `interface` pour les objets
117
- - Documentez les fonctions publiques avec JSDoc
118
- - Utilisez `async/await` pour les opérations asynchrones
119
-
120
- ### Nommage
121
- - Fonctions et variables : `camelCase`
122
- - Classes : `PascalCase`
123
- - Constantes : `UPPER_SNAKE_CASE`
124
- - Fichiers : `kebab-case.ts`
125
-
126
- ### Gestion d'erreurs
127
- ```typescript
128
- try {
129
- // Opération risquée
130
- } catch (error) {
131
- console.error('Erreur détaillée:', error);
132
- throw new Error('Message d'erreur utilisateur');
133
- }
134
- ```
135
-
136
- ## 🐛 Signalement de bugs
137
-
138
- ### Template de bug report
139
- ```markdown
140
- **Description du bug**
141
- Description claire et concise du problème.
142
-
143
- **Étapes pour reproduire**
144
- 1. Étape 1
145
- 2. Étape 2
146
- 3. Voir l'erreur
147
-
148
- **Comportement attendu**
149
- Ce qui devrait se passer.
150
-
151
- **Environnement**
152
- - OS: [ex: macOS 14.0]
153
- - Node.js: [ex: 18.17.0]
154
- - Version du serveur: [ex: 1.0.0]
155
-
156
- **Logs d'erreur**
157
- ```
158
- Logs ou messages d'erreur
159
- ```
160
-
161
- ## ✨ Demandes de fonctionnalités
162
-
163
- ### Template de feature request
164
- ```markdown
165
- **Fonctionnalité désirée**
166
- Description claire de la fonctionnalité.
167
-
168
- **Problème résolu**
169
- Quel problème cette fonctionnalité résoudrait-elle ?
170
-
171
- **Solution proposée**
172
- Description de votre solution idéale.
173
-
174
- **Alternatives considérées**
175
- Autres solutions que vous avez envisagées.
176
- ```
177
-
178
- ## 🔄 Processus de contribution
179
-
180
- 1. **Fork** le repository
181
- 2. **Créez une branche** pour votre fonctionnalité (`git checkout -b feature/nouvelle-fonctionnalite`)
182
- 3. **Committez** vos changements (`git commit -am 'Ajoute nouvelle fonctionnalité'`)
183
- 4. **Poussez** vers la branche (`git push origin feature/nouvelle-fonctionnalite`)
184
- 5. **Créez une Pull Request**
185
-
186
- ### Checklist pour les Pull Requests
187
- - [ ] Le code compile sans erreur (`npm run build`)
188
- - [ ] Les tests passent (`./test.sh`)
189
- - [ ] La documentation est mise à jour si nécessaire
190
- - [ ] Les nouveaux outils sont documentés
191
- - [ ] Le code suit les standards du projet
192
-
193
- ## 📚 Ressources utiles
194
-
195
- - [Documentation MCP](https://modelcontextprotocol.io/docs)
196
- - [Spécification MCP](https://spec.modelcontextprotocol.io/)
197
- - [Documentation Spring Boot](https://docs.spring.io/spring-boot/docs/current/reference/html/)
198
- - [TypeScript Handbook](https://www.typescriptlang.org/docs/)
199
-
200
- ## 🤝 Code de conduite
201
-
202
- Nous nous engageons à créer un environnement accueillant et inclusif pour tous. Merci de :
203
- - Être respectueux et professionnel
204
- - Accepter les critiques constructives
205
- - Se concentrer sur ce qui est le mieux pour la communauté
206
- - Faire preuve d'empathie envers les autres
207
-
208
- ## 📞 Contact
209
-
210
- Pour toute question ou discussion, n'hésitez pas à :
211
- - Ouvrir une issue sur GitHub
212
- - Participer aux discussions
213
- - Contacter les mainteneurs
214
-
215
- Merci pour votre contribution ! 🎉
package/EXAMPLES.md DELETED
File without changes
package/EXAMPLES_FR.md DELETED
@@ -1,186 +0,0 @@
1
- # Exemples d'utilisation du serveur MCP Spring Documentation
2
-
3
- Ce fichier contient des exemples pratiques d'utilisation du serveur MCP Spring Documentation avec Claude Desktop.
4
-
5
- ## 🚀 Scénarios d'utilisation
6
-
7
- ### 1. Découverte des projets Spring
8
-
9
- **Question à Claude :**
10
- > "Quels sont les projets Spring disponibles pour la sécurité ?"
11
-
12
- **Outils utilisés :** `search_spring_projects`
13
- **Résultat :** Liste des projets Spring Security avec descriptions
14
-
15
- ---
16
-
17
- ### 2. Apprentissage d'un nouveau projet Spring
18
-
19
- **Question à Claude :**
20
- > "Peux-tu m'expliquer le projet Spring Cloud ?"
21
-
22
- **Outils utilisés :** `get_spring_project`
23
- **Résultat :** Documentation complète de Spring Cloud
24
-
25
- ---
26
-
27
- ### 3. Exploration des guides par domaine
28
-
29
- **Question à Claude :**
30
- > "Montre-moi tous les guides Spring Boot pour le développement web"
31
-
32
- **Outils utilisés :** `get_all_spring_guides`
33
- **Résultat :** Liste des guides web avec liens et descriptions
34
-
35
- ---
36
-
37
- ### 4. Résolution d'un problème spécifique
38
-
39
- **Question à Claude :**
40
- > "Comment créer une API REST avec Spring Boot ?"
41
-
42
- **Outils utilisés :** `search_spring_docs`, `get_spring_guide`
43
- **Résultat :** Guide détaillé et documentation de référence
44
-
45
- ---
46
-
47
- ### 5. Compréhension des concepts
48
-
49
- **Question à Claude :**
50
- > "Explique-moi l'auto-configuration dans Spring Boot"
51
-
52
- **Outils utilisés :** `search_spring_concepts`
53
- **Résultat :** Explication détaillée avec exemples
54
-
55
- ---
56
-
57
- ## 🎯 Exemples de requêtes spécifiques
58
-
59
- ### Recherche de documentation
60
- ```
61
- Utilisateur: "Comment configurer Spring Security ?"
62
- Claude utilise: search_spring_docs("Spring Security configuration")
63
- ```
64
-
65
- ### Exploration de projets
66
- ```
67
- Utilisateur: "Quels sont les projets Spring pour les données ?"
68
- Claude utilise: search_spring_projects("data")
69
- ```
70
-
71
- ### Guides spécialisés
72
- ```
73
- Utilisateur: "Guides Spring Boot pour les tests"
74
- Claude utilise: get_all_spring_guides(category="Testing")
75
- ```
76
-
77
- ### Documentation de référence
78
- ```
79
- Utilisateur: "Documentation Spring Boot pour la sécurité web"
80
- Claude utilise: get_spring_reference("security", "web")
81
- ```
82
-
83
- ### Concepts avancés
84
- ```
85
- Utilisateur: "Qu'est-ce que Spring Actuator ?"
86
- Claude utilise: search_spring_concepts("actuator", "production")
87
- ```
88
-
89
- ---
90
-
91
- ## 💡 Conseils d'utilisation optimale
92
-
93
- ### 1. Soyez spécifique dans vos questions
94
- - ❌ "Spring Boot"
95
- - ✅ "Comment configurer une base de données avec Spring Boot ?"
96
-
97
- ### 2. Utilisez des mots-clés pertinents
98
- - ❌ "Aide"
99
- - ✅ "REST API", "JPA", "Security", "Testing"
100
-
101
- ### 3. Explorez par domaine
102
- - "Projets Spring pour le cloud"
103
- - "Guides Spring Boot pour les microservices"
104
- - "Documentation Spring Security"
105
-
106
- ### 4. Demandez des exemples pratiques
107
- - "Montre-moi un exemple de contrôleur REST"
108
- - "Comment tester une application Spring Boot ?"
109
- - "Configuration d'une base de données H2"
110
-
111
- ---
112
-
113
- ## 🔧 Workflows recommandés
114
-
115
- ### Workflow 1: Découverte d'un nouveau domaine
116
- 1. **Rechercher les projets** → `search_spring_projects("domaine")`
117
- 2. **Explorer un projet** → `get_spring_project("nom-projet")`
118
- 3. **Trouver des guides** → `get_all_spring_guides(category="Domaine")`
119
- 4. **Lire un guide spécifique** → `get_spring_guide("guide-id")`
120
-
121
- ### Workflow 2: Résolution d'un problème
122
- 1. **Rechercher dans la doc** → `search_spring_docs("problème")`
123
- 2. **Comprendre les concepts** → `search_spring_concepts("concept")`
124
- 3. **Consulter la référence** → `get_spring_reference("section")`
125
- 4. **Suivre un guide pratique** → `get_spring_guide("guide-id")`
126
-
127
- ### Workflow 3: Apprentissage structuré
128
- 1. **Concepts de base** → `search_spring_concepts("core")`
129
- 2. **Guides pour débutants** → `get_all_spring_guides(category="Getting Started")`
130
- 3. **Documentation de référence** → `get_spring_reference("web")`
131
- 4. **Projets avancés** → `search_spring_projects("advanced")`
132
-
133
- ---
134
-
135
- ## 🌟 Cas d'usage avancés
136
-
137
- ### Développement d'une API REST complète
138
- ```
139
- 1. "Quels sont les guides pour créer une API REST ?"
140
- 2. "Montre-moi le guide pour créer un service REST"
141
- 3. "Comment sécuriser une API REST avec Spring Security ?"
142
- 4. "Documentation sur les tests d'API REST"
143
- 5. "Concepts de production pour les API REST"
144
- ```
145
-
146
- ### Migration vers Spring Boot 3
147
- ```
148
- 1. "Quels sont les projets Spring compatibles avec Boot 3 ?"
149
- 2. "Guide de migration Spring Boot 2 vers 3"
150
- 3. "Nouvelles fonctionnalités Spring Boot 3"
151
- 4. "Documentation de référence Spring Boot 3"
152
- ```
153
-
154
- ### Architecture microservices
155
- ```
156
- 1. "Projets Spring pour les microservices"
157
- 2. "Guides Spring Cloud"
158
- 3. "Concepts de configuration distribuée"
159
- 4. "Documentation Spring Cloud Gateway"
160
- ```
161
-
162
- ---
163
-
164
- ## 📖 Types de réponses attendues
165
-
166
- ### Listes de résultats (search_*)
167
- - Titres des ressources
168
- - Descriptions courtes
169
- - URLs directes
170
- - Types de contenu
171
-
172
- ### Contenu détaillé (get_*)
173
- - Documentation complète en Markdown
174
- - Exemples de code
175
- - Configuration
176
- - Bonnes pratiques
177
-
178
- ### Concepts (search_spring_concepts)
179
- - Définitions claires
180
- - Exemples concrets
181
- - Mots-clés associés
182
- - Cas d'usage
183
-
184
- ---
185
-
186
- *Ce serveur MCP vous donne accès à l'ensemble de l'écosystème Spring directement dans Claude Desktop !*
package/INSTALL.md DELETED
File without changes
package/INSTALL_FR.md DELETED
@@ -1,123 +0,0 @@
1
- # 📦 Spring Documentation MCP Server - Installation publique
2
-
3
- Serveur MCP public pour accéder à toute la documentation Spring Boot et l'écosystème Spring complet.
4
-
5
- ## 🚀 Installation rapide
6
-
7
- ### Via npm (recommandé)
8
- ```bash
9
- npm install -g @enokdev/springdocs-mcp
10
- ```
11
-
12
- ### Via npx (sans installation)
13
- ```bash
14
- npx @enokdev/springdocs-mcp
15
- ```
16
-
17
- ## ⚡ Configuration Claude Desktop
18
-
19
- ### 1. Installation globale
20
- ```bash
21
- npm install -g @enokdev/springdocs-mcp
22
- ```
23
-
24
- ### 2. Configuration Claude Desktop
25
- Ajoutez ceci à votre `claude_desktop_config.json` :
26
-
27
- ```json
28
- {
29
- "mcpServers": {
30
- "spring-docs": {
31
- "command": "springdocs-mcp"
32
- }
33
- }
34
- }
35
- ```
36
-
37
- ### 3. Localisation du fichier de configuration
38
- - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
39
- - **Windows**: `%APPDATA%\\Claude\\claude_desktop_config.json`
40
- - **Linux**: `~/.config/Claude/claude_desktop_config.json`
41
-
42
- ## 🛠️ Configuration avancée
43
-
44
- ### Avec chemin spécifique
45
- ```json
46
- {
47
- "mcpServers": {
48
- "spring-docs": {
49
- "command": "node",
50
- "args": ["/path/to/global/node_modules/@enokdev/springdocs-mcp/build/index.js"]
51
- }
52
- }
53
- }
54
- ```
55
-
56
- ### Avec npx (sans installation globale)
57
- ```json
58
- {
59
- "mcpServers": {
60
- "spring-docs": {
61
- "command": "npx",
62
- "args": ["@enokdev/springdocs-mcp"]
63
- }
64
- }
65
- }
66
- ```
67
-
68
- ## 🔧 Outils disponibles
69
-
70
- Une fois configuré, vous aurez accès à 7 outils dans Claude Desktop :
71
-
72
- 1. **`search_spring_docs`** - Recherche dans la documentation Spring Boot
73
- 2. **`search_spring_projects`** - Recherche de projets Spring
74
- 3. **`get_spring_project`** - Détails d'un projet Spring
75
- 4. **`get_all_spring_guides`** - Liste des guides Spring
76
- 5. **`get_spring_guide`** - Contenu d'un guide spécifique
77
- 6. **`get_spring_reference`** - Documentation de référence
78
- 7. **`search_spring_concepts`** - Recherche de concepts Spring Boot
79
-
80
- ## 💡 Exemples d'utilisation
81
-
82
- Une fois installé, demandez à Claude :
83
-
84
- - *"Quels sont les projets Spring disponibles pour la sécurité ?"*
85
- - *"Montre-moi le guide pour créer une API REST avec Spring Boot"*
86
- - *"Comment configurer Spring Security ?"*
87
- - *"Explique-moi l'auto-configuration dans Spring Boot"*
88
-
89
- ## 🔄 Mise à jour
90
-
91
- ```bash
92
- npm update -g @enokdev/springdocs-mcp
93
- ```
94
-
95
- ## 🆘 Dépannage
96
-
97
- ### Vérifier l'installation
98
- ```bash
99
- springdocs-mcp --version
100
- ```
101
-
102
- ### Test manual
103
- ```bash
104
- echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list", "params": {}}' | springdocs-mcp
105
- ```
106
-
107
- ### Réinstallation
108
- ```bash
109
- npm uninstall -g @enokdev/springdocs-mcp
110
- npm install -g @enokdev/springdocs-mcp
111
- ```
112
-
113
- ## 📚 Sources de documentation
114
-
115
- Ce serveur accède à :
116
- - **spring.io/projects** - Tous les projets Spring
117
- - **spring.io/guides** - Guides pratiques
118
- - **docs.spring.io** - Documentation de référence
119
- - **Base de connaissances intégrée** - Concepts Spring Boot
120
-
121
- ---
122
-
123
- **🌟 Profitez de l'accès complet à l'écosystème Spring directement dans Claude Desktop !**