@enokdev/springdocs-mcp 1.1.1 → 1.2.0
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_v1.2.0.md +71 -0
- package/EXAMPLES.md +186 -0
- package/INSTALL.md +123 -0
- package/JETBRAINS_SETUP.md +171 -0
- package/README.md +38 -0
- package/RELEASE_NOTES_v1.2.0.md +138 -0
- package/TROUBLESHOOTING.md +163 -0
- package/claude_desktop_config.json +2 -3
- package/diagnostic.sh +55 -0
- package/package.json +4 -2
- package/setup-jetbrains.sh +164 -0
- package/test-jetbrains.sh +125 -0
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# 🆕 Changelog - Version 1.2.0
|
|
2
|
+
|
|
3
|
+
## [1.2.0] - 2025-08-21
|
|
4
|
+
|
|
5
|
+
### ✨ Added - JetBrains IDEs Support
|
|
6
|
+
|
|
7
|
+
- **🛠️ JetBrains IDEs Integration**: Full support for all JetBrains IDEs
|
|
8
|
+
- IntelliJ IDEA (Ultimate & Community)
|
|
9
|
+
- WebStorm
|
|
10
|
+
- PyCharm (Professional & Community)
|
|
11
|
+
- PhpStorm, RubyMine, CLion, GoLand, Rider, DataGrip
|
|
12
|
+
- Android Studio
|
|
13
|
+
|
|
14
|
+
- **🚀 Automatic Configuration Script**: `setup-jetbrains.sh`
|
|
15
|
+
- Detects all installed JetBrains IDEs
|
|
16
|
+
- Creates appropriate configuration files
|
|
17
|
+
- Works on macOS, Linux, and Windows
|
|
18
|
+
- Color-coded output and progress indicators
|
|
19
|
+
|
|
20
|
+
- **📚 JetBrains Documentation**: New `JETBRAINS_SETUP.md`
|
|
21
|
+
- Complete setup instructions
|
|
22
|
+
- IDE-specific configurations
|
|
23
|
+
- Usage examples and troubleshooting
|
|
24
|
+
- Manual and automatic setup options
|
|
25
|
+
|
|
26
|
+
- **🔧 Enhanced Scripts**:
|
|
27
|
+
- `npm run setup-jetbrains` - Configure JetBrains IDEs
|
|
28
|
+
- `npm run setup-all` - Configure all supported IDEs
|
|
29
|
+
|
|
30
|
+
### 🔄 Improved
|
|
31
|
+
|
|
32
|
+
- **📖 Enhanced README**: Added JetBrains configuration section
|
|
33
|
+
- **⚙️ VS Code Settings**: Updated `.vscode/settings.json` with MCP configuration
|
|
34
|
+
- **🛠️ Troubleshooting Guide**: Updated `TROUBLESHOOTING.md` with JetBrains support
|
|
35
|
+
|
|
36
|
+
### 🎯 Use Cases
|
|
37
|
+
|
|
38
|
+
Now developers can use the Spring Documentation MCP Server in:
|
|
39
|
+
- **Claude Desktop** - Chat interface
|
|
40
|
+
- **VS Code** - With Claude extension
|
|
41
|
+
- **JetBrains IDEs** - Integrated AI assistance
|
|
42
|
+
- **Command Line** - Direct MCP server access
|
|
43
|
+
|
|
44
|
+
### 🔧 Technical Details
|
|
45
|
+
|
|
46
|
+
- Cross-platform configuration detection
|
|
47
|
+
- IDE version-specific setup
|
|
48
|
+
- XML and JSON configuration formats
|
|
49
|
+
- Automatic path resolution for different OS
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Previous Versions
|
|
54
|
+
|
|
55
|
+
### [1.1.1] - 2025-08-21
|
|
56
|
+
- 📝 Documentation internationalization (English)
|
|
57
|
+
- 🌍 Public distribution preparation
|
|
58
|
+
|
|
59
|
+
### [1.1.0] - 2025-08-21
|
|
60
|
+
- ✨ Extended to complete Spring ecosystem
|
|
61
|
+
- 🆕 Added 3 new MCP tools (total: 7 tools)
|
|
62
|
+
- 🌐 Spring.io/projects integration
|
|
63
|
+
|
|
64
|
+
### [1.0.0] - 2025-08-21
|
|
65
|
+
- 🎉 Initial release
|
|
66
|
+
- 📚 Basic Spring Boot documentation access
|
|
67
|
+
- 🛠️ 4 core MCP tools
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
**Full Changelog**: https://github.com/tky0065/springdocs-mcp/compare/v1.1.1...v1.2.0
|
package/EXAMPLES.md
CHANGED
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
# Usage Examples - Spring Documentation MCP Server
|
|
2
|
+
|
|
3
|
+
This file contains practical usage examples for the Spring Documentation MCP Server with Claude Desktop.
|
|
4
|
+
|
|
5
|
+
## 🚀 Usage Scenarios
|
|
6
|
+
|
|
7
|
+
### 1. Discovering Spring Projects
|
|
8
|
+
|
|
9
|
+
**Question to Claude:**
|
|
10
|
+
> "What Spring projects are available for security?"
|
|
11
|
+
|
|
12
|
+
**Tools used:** `search_spring_projects`
|
|
13
|
+
**Result:** List of Spring Security projects with descriptions
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
### 2. Learning a New Spring Project
|
|
18
|
+
|
|
19
|
+
**Question to Claude:**
|
|
20
|
+
> "Can you explain the Spring Cloud project?"
|
|
21
|
+
|
|
22
|
+
**Tools used:** `get_spring_project`
|
|
23
|
+
**Result:** Complete Spring Cloud documentation
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
### 3. Exploring Guides by Domain
|
|
28
|
+
|
|
29
|
+
**Question to Claude:**
|
|
30
|
+
> "Show me all Spring Boot guides for web development"
|
|
31
|
+
|
|
32
|
+
**Tools used:** `get_all_spring_guides`
|
|
33
|
+
**Result:** List of web guides with links and descriptions
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
### 4. Solving a Specific Problem
|
|
38
|
+
|
|
39
|
+
**Question to Claude:**
|
|
40
|
+
> "How do I create a REST API with Spring Boot?"
|
|
41
|
+
|
|
42
|
+
**Tools used:** `search_spring_docs`, `get_spring_guide`
|
|
43
|
+
**Result:** Detailed guide and reference documentation
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
### 5. Understanding Concepts
|
|
48
|
+
|
|
49
|
+
**Question to Claude:**
|
|
50
|
+
> "Explain Spring Boot auto-configuration to me"
|
|
51
|
+
|
|
52
|
+
**Tools used:** `search_spring_concepts`
|
|
53
|
+
**Result:** Detailed explanation with examples
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## 🎯 Specific Query Examples
|
|
58
|
+
|
|
59
|
+
### Documentation Search
|
|
60
|
+
```
|
|
61
|
+
User: "How to configure Spring Security?"
|
|
62
|
+
Claude uses: search_spring_docs("Spring Security configuration")
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Project Exploration
|
|
66
|
+
```
|
|
67
|
+
User: "What are the Spring projects for data?"
|
|
68
|
+
Claude uses: search_spring_projects("data")
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Specialized Guides
|
|
72
|
+
```
|
|
73
|
+
User: "Spring Boot guides for testing"
|
|
74
|
+
Claude uses: get_all_spring_guides(category="Testing")
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### Reference Documentation
|
|
78
|
+
```
|
|
79
|
+
User: "Spring Boot documentation for web security"
|
|
80
|
+
Claude uses: get_spring_reference("security", "web")
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Advanced Concepts
|
|
84
|
+
```
|
|
85
|
+
User: "What is Spring Actuator?"
|
|
86
|
+
Claude uses: search_spring_concepts("actuator", "production")
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## 💡 Optimal Usage Tips
|
|
92
|
+
|
|
93
|
+
### 1. Be Specific in Your Questions
|
|
94
|
+
- ❌ "Spring Boot"
|
|
95
|
+
- ✅ "How to configure a database with Spring Boot?"
|
|
96
|
+
|
|
97
|
+
### 2. Use Relevant Keywords
|
|
98
|
+
- ❌ "Help"
|
|
99
|
+
- ✅ "REST API", "JPA", "Security", "Testing"
|
|
100
|
+
|
|
101
|
+
### 3. Explore by Domain
|
|
102
|
+
- "Spring projects for cloud"
|
|
103
|
+
- "Spring Boot guides for microservices"
|
|
104
|
+
- "Spring Security documentation"
|
|
105
|
+
|
|
106
|
+
### 4. Ask for Practical Examples
|
|
107
|
+
- "Show me an example of a REST controller"
|
|
108
|
+
- "How to test a Spring Boot application?"
|
|
109
|
+
- "H2 database configuration"
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## 🔧 Recommended Workflows
|
|
114
|
+
|
|
115
|
+
### Workflow 1: Discovering a New Domain
|
|
116
|
+
1. **Search projects** → `search_spring_projects("domain")`
|
|
117
|
+
2. **Explore a project** → `get_spring_project("project-name")`
|
|
118
|
+
3. **Find guides** → `get_all_spring_guides(category="Domain")`
|
|
119
|
+
4. **Read a specific guide** → `get_spring_guide("guide-id")`
|
|
120
|
+
|
|
121
|
+
### Workflow 2: Problem Solving
|
|
122
|
+
1. **Search documentation** → `search_spring_docs("problem")`
|
|
123
|
+
2. **Understand concepts** → `search_spring_concepts("concept")`
|
|
124
|
+
3. **Consult reference** → `get_spring_reference("section")`
|
|
125
|
+
4. **Follow practical guide** → `get_spring_guide("guide-id")`
|
|
126
|
+
|
|
127
|
+
### Workflow 3: Structured Learning
|
|
128
|
+
1. **Basic concepts** → `search_spring_concepts("core")`
|
|
129
|
+
2. **Beginner guides** → `get_all_spring_guides(category="Getting Started")`
|
|
130
|
+
3. **Reference documentation** → `get_spring_reference("web")`
|
|
131
|
+
4. **Advanced projects** → `search_spring_projects("advanced")`
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## 🌟 Advanced Use Cases
|
|
136
|
+
|
|
137
|
+
### Developing a Complete REST API
|
|
138
|
+
```
|
|
139
|
+
1. "What are the guides for creating a REST API?"
|
|
140
|
+
2. "Show me the guide for creating a REST service"
|
|
141
|
+
3. "How to secure a REST API with Spring Security?"
|
|
142
|
+
4. "Documentation on REST API testing"
|
|
143
|
+
5. "Production concepts for REST APIs"
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### Migration to Spring Boot 3
|
|
147
|
+
```
|
|
148
|
+
1. "What Spring projects are compatible with Boot 3?"
|
|
149
|
+
2. "Spring Boot 2 to 3 migration guide"
|
|
150
|
+
3. "Spring Boot 3 new features"
|
|
151
|
+
4. "Spring Boot 3 reference documentation"
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### Microservices Architecture
|
|
155
|
+
```
|
|
156
|
+
1. "Spring projects for microservices"
|
|
157
|
+
2. "Spring Cloud guides"
|
|
158
|
+
3. "Distributed configuration concepts"
|
|
159
|
+
4. "Spring Cloud Gateway documentation"
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## 📖 Expected Response Types
|
|
165
|
+
|
|
166
|
+
### Search Results (search_*)
|
|
167
|
+
- Resource titles
|
|
168
|
+
- Short descriptions
|
|
169
|
+
- Direct URLs
|
|
170
|
+
- Content types
|
|
171
|
+
|
|
172
|
+
### Detailed Content (get_*)
|
|
173
|
+
- Complete documentation in Markdown
|
|
174
|
+
- Code examples
|
|
175
|
+
- Configuration
|
|
176
|
+
- Best practices
|
|
177
|
+
|
|
178
|
+
### Concepts (search_spring_concepts)
|
|
179
|
+
- Clear definitions
|
|
180
|
+
- Concrete examples
|
|
181
|
+
- Associated keywords
|
|
182
|
+
- Use cases
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
*This MCP server gives you access to the entire Spring ecosystem directly in Claude Desktop!*
|
package/INSTALL.md
CHANGED
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# 📦 Spring Documentation MCP Server - Public Installation
|
|
2
|
+
|
|
3
|
+
Public MCP server for accessing complete Spring Boot documentation and the Spring ecosystem.
|
|
4
|
+
|
|
5
|
+
## 🚀 Quick Installation
|
|
6
|
+
|
|
7
|
+
### Via npm (recommended)
|
|
8
|
+
```bash
|
|
9
|
+
npm install -g @enokdev/springdocs-mcp
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
### Via npx (without installation)
|
|
13
|
+
```bash
|
|
14
|
+
npx @enokdev/springdocs-mcp
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## ⚡ Claude Desktop Configuration
|
|
18
|
+
|
|
19
|
+
### 1. Global Installation
|
|
20
|
+
```bash
|
|
21
|
+
npm install -g @enokdev/springdocs-mcp
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### 2. Claude Desktop Configuration
|
|
25
|
+
Add this to your `claude_desktop_config.json`:
|
|
26
|
+
|
|
27
|
+
```json
|
|
28
|
+
{
|
|
29
|
+
"mcpServers": {
|
|
30
|
+
"spring-docs": {
|
|
31
|
+
"command": "springdocs-mcp"
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### 3. Configuration File Location
|
|
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
|
+
## 🛠️ Advanced Configuration
|
|
43
|
+
|
|
44
|
+
### With specific path
|
|
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
|
+
### With npx (without global installation)
|
|
57
|
+
```json
|
|
58
|
+
{
|
|
59
|
+
"mcpServers": {
|
|
60
|
+
"spring-docs": {
|
|
61
|
+
"command": "npx",
|
|
62
|
+
"args": ["@enokdev/springdocs-mcp"]
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## 🔧 Available Tools
|
|
69
|
+
|
|
70
|
+
Once configured, you'll have access to 7 tools in Claude Desktop:
|
|
71
|
+
|
|
72
|
+
1. **`search_spring_docs`** - Search Spring Boot documentation
|
|
73
|
+
2. **`search_spring_projects`** - Search Spring projects
|
|
74
|
+
3. **`get_spring_project`** - Get Spring project details
|
|
75
|
+
4. **`get_all_spring_guides`** - List Spring guides
|
|
76
|
+
5. **`get_spring_guide`** - Get specific guide content
|
|
77
|
+
6. **`get_spring_reference`** - Get reference documentation
|
|
78
|
+
7. **`search_spring_concepts`** - Search Spring Boot concepts
|
|
79
|
+
|
|
80
|
+
## 💡 Usage Examples
|
|
81
|
+
|
|
82
|
+
Once installed, ask Claude:
|
|
83
|
+
|
|
84
|
+
- *"What Spring projects are available for security?"*
|
|
85
|
+
- *"Show me the guide for creating a REST API with Spring Boot"*
|
|
86
|
+
- *"How do I configure Spring Security?"*
|
|
87
|
+
- *"Explain Spring Boot auto-configuration"*
|
|
88
|
+
|
|
89
|
+
## 🔄 Updates
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
npm update -g @enokdev/springdocs-mcp
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## 🆘 Troubleshooting
|
|
96
|
+
|
|
97
|
+
### Check installation
|
|
98
|
+
```bash
|
|
99
|
+
springdocs-mcp --version
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Manual test
|
|
103
|
+
```bash
|
|
104
|
+
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list", "params": {}}' | springdocs-mcp
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### Reinstallation
|
|
108
|
+
```bash
|
|
109
|
+
npm uninstall -g @enokdev/springdocs-mcp
|
|
110
|
+
npm install -g @enokdev/springdocs-mcp
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## 📚 Documentation Sources
|
|
114
|
+
|
|
115
|
+
This server accesses:
|
|
116
|
+
- **spring.io/projects** - All Spring projects
|
|
117
|
+
- **spring.io/guides** - Practical guides
|
|
118
|
+
- **docs.spring.io** - Reference documentation
|
|
119
|
+
- **Built-in knowledge base** - Spring Boot concepts
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
**🌟 Enjoy complete access to the Spring ecosystem directly in Claude Desktop!**
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
# 🚀 Configuration pour IDEs JetBrains
|
|
2
|
+
|
|
3
|
+
## 📋 IDEs JetBrains supportés
|
|
4
|
+
|
|
5
|
+
- **IntelliJ IDEA** (Ultimate & Community)
|
|
6
|
+
- **WebStorm**
|
|
7
|
+
- **PyCharm** (Professional & Community)
|
|
8
|
+
- **PhpStorm**
|
|
9
|
+
- **RubyMine**
|
|
10
|
+
- **CLion**
|
|
11
|
+
- **GoLand**
|
|
12
|
+
- **Rider**
|
|
13
|
+
- **DataGrip**
|
|
14
|
+
- **Android Studio**
|
|
15
|
+
|
|
16
|
+
## ⚙️ Configuration
|
|
17
|
+
|
|
18
|
+
### Option 1: Via le Plugin Claude (Recommandé)
|
|
19
|
+
|
|
20
|
+
1. **Installer le plugin Claude** depuis JetBrains Marketplace
|
|
21
|
+
2. **Configurer les serveurs MCP** dans Settings
|
|
22
|
+
|
|
23
|
+
**Chemin:** `Settings → Tools → Claude → MCP Servers`
|
|
24
|
+
|
|
25
|
+
**Configuration:**
|
|
26
|
+
```json
|
|
27
|
+
{
|
|
28
|
+
"spring-docs": {
|
|
29
|
+
"command": "/opt/homebrew/bin/springdocs-mcp"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Option 2: Configuration manuelle
|
|
35
|
+
|
|
36
|
+
**Fichier de configuration JetBrains:**
|
|
37
|
+
`~/.jetbrains/claude_mcp_config.json`
|
|
38
|
+
|
|
39
|
+
```json
|
|
40
|
+
{
|
|
41
|
+
"mcpServers": {
|
|
42
|
+
"spring-docs": {
|
|
43
|
+
"command": "/opt/homebrew/bin/springdocs-mcp",
|
|
44
|
+
"description": "Spring Documentation MCP Server - Access to complete Spring ecosystem",
|
|
45
|
+
"timeout": 30000
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Option 3: Configuration par IDE
|
|
52
|
+
|
|
53
|
+
#### IntelliJ IDEA
|
|
54
|
+
**Fichier:** `~/.IntelliJIdea/config/options/claude.xml`
|
|
55
|
+
|
|
56
|
+
```xml
|
|
57
|
+
<application>
|
|
58
|
+
<component name="ClaudeSettings">
|
|
59
|
+
<option name="mcpServers">
|
|
60
|
+
<map>
|
|
61
|
+
<entry key="spring-docs">
|
|
62
|
+
<value>
|
|
63
|
+
<MCPServerConfig>
|
|
64
|
+
<option name="command" value="/opt/homebrew/bin/springdocs-mcp" />
|
|
65
|
+
<option name="description" value="Spring Documentation" />
|
|
66
|
+
</MCPServerConfig>
|
|
67
|
+
</value>
|
|
68
|
+
</entry>
|
|
69
|
+
</map>
|
|
70
|
+
</option>
|
|
71
|
+
</component>
|
|
72
|
+
</application>
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
#### WebStorm
|
|
76
|
+
**Fichier:** `~/.WebStorm/config/options/claude.xml`
|
|
77
|
+
|
|
78
|
+
#### PyCharm
|
|
79
|
+
**Fichier:** `~/.PyCharm/config/options/claude.xml`
|
|
80
|
+
|
|
81
|
+
## 🔧 Script d'installation automatique
|
|
82
|
+
|
|
83
|
+
Créons un script pour configurer automatiquement tous vos IDEs JetBrains :
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
#!/bin/bash
|
|
87
|
+
./setup-jetbrains.sh
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## 🎯 Utilisation dans JetBrains IDEs
|
|
91
|
+
|
|
92
|
+
### 1. Accès via Chat AI
|
|
93
|
+
|
|
94
|
+
Dans votre IDE JetBrains avec Claude activé :
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
Quels sont les projets Spring pour la sécurité ?
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### 2. Aide contextuelle
|
|
101
|
+
|
|
102
|
+
Sélectionnez du code Spring et demandez :
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
Comment améliorer cette configuration Spring Boot ?
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### 3. Documentation instantanée
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
Montre-moi le guide Spring Boot pour les APIs REST
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## 🛠️ Outils disponibles dans JetBrains
|
|
115
|
+
|
|
116
|
+
Tous les 7 outils MCP seront disponibles :
|
|
117
|
+
|
|
118
|
+
1. **search_spring_docs** - Recherche documentation
|
|
119
|
+
2. **search_spring_projects** - Projets Spring
|
|
120
|
+
3. **get_spring_project** - Détails projet
|
|
121
|
+
4. **get_all_spring_guides** - Liste guides
|
|
122
|
+
5. **get_spring_guide** - Contenu guide
|
|
123
|
+
6. **get_spring_reference** - Référence
|
|
124
|
+
7. **search_spring_concepts** - Concepts
|
|
125
|
+
|
|
126
|
+
## 📝 Exemples d'utilisation
|
|
127
|
+
|
|
128
|
+
### Développement Spring Boot dans IntelliJ
|
|
129
|
+
|
|
130
|
+
```java
|
|
131
|
+
@RestController
|
|
132
|
+
public class UserController {
|
|
133
|
+
// Demander à Claude : "Montre-moi les meilleures pratiques pour ce contrôleur"
|
|
134
|
+
}
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### Configuration dans application.yml
|
|
138
|
+
|
|
139
|
+
```yaml
|
|
140
|
+
spring:
|
|
141
|
+
# Demander : "Quelles sont les options de configuration disponibles ?"
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## 🔍 Dépannage JetBrains
|
|
145
|
+
|
|
146
|
+
### Plugin Claude non visible
|
|
147
|
+
1. Vérifier que le plugin est installé
|
|
148
|
+
2. Redémarrer l'IDE
|
|
149
|
+
3. Vérifier les permissions
|
|
150
|
+
|
|
151
|
+
### MCP Server non connecté
|
|
152
|
+
1. Vérifier le chemin : `/opt/homebrew/bin/springdocs-mcp`
|
|
153
|
+
2. Tester la commande dans le terminal
|
|
154
|
+
3. Vérifier les logs de l'IDE
|
|
155
|
+
|
|
156
|
+
## 📍 Emplacements des configurations
|
|
157
|
+
|
|
158
|
+
### macOS
|
|
159
|
+
- **IntelliJ IDEA:** `~/Library/Application Support/JetBrains/IntelliJIdea*/`
|
|
160
|
+
- **WebStorm:** `~/Library/Application Support/JetBrains/WebStorm*/`
|
|
161
|
+
- **PyCharm:** `~/Library/Application Support/JetBrains/PyCharm*/`
|
|
162
|
+
|
|
163
|
+
### Windows
|
|
164
|
+
- **Tous IDEs:** `%APPDATA%\JetBrains\[IDE_NAME]*\`
|
|
165
|
+
|
|
166
|
+
### Linux
|
|
167
|
+
- **Tous IDEs:** `~/.config/JetBrains/[IDE_NAME]*/`
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
**Note:** La disponibilité exacte dépend de la version du plugin Claude pour JetBrains. Consultez la documentation officielle du plugin pour les détails spécifiques à votre IDE.
|
package/README.md
CHANGED
|
@@ -128,6 +128,44 @@ To use this server with Claude Desktop, add the following configuration to your
|
|
|
128
128
|
- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
129
129
|
- **Windows**: `%APPDATA%\\Claude\\claude_desktop_config.json`
|
|
130
130
|
|
|
131
|
+
## 🛠️ Configuration with JetBrains IDEs
|
|
132
|
+
|
|
133
|
+
### Automatic Setup (Recommended)
|
|
134
|
+
|
|
135
|
+
Run the automatic configuration script:
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
./setup-jetbrains.sh
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
This will configure the MCP server for all your installed JetBrains IDEs:
|
|
142
|
+
- **IntelliJ IDEA** (Ultimate & Community)
|
|
143
|
+
- **WebStorm**
|
|
144
|
+
- **PyCharm** (Professional & Community)
|
|
145
|
+
- **PhpStorm**, **RubyMine**, **CLion**, **GoLand**, **Rider**, **DataGrip**
|
|
146
|
+
|
|
147
|
+
### Manual Configuration
|
|
148
|
+
|
|
149
|
+
Add to your IDE's Claude plugin configuration:
|
|
150
|
+
|
|
151
|
+
```json
|
|
152
|
+
{
|
|
153
|
+
"spring-docs": {
|
|
154
|
+
"command": "/opt/homebrew/bin/springdocs-mcp",
|
|
155
|
+
"description": "Spring Documentation MCP Server"
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### Usage in JetBrains IDEs
|
|
161
|
+
|
|
162
|
+
Once configured, you can ask Claude in your IDE:
|
|
163
|
+
- "What Spring projects are available for security?"
|
|
164
|
+
- "Show me the Spring Boot REST API guide"
|
|
165
|
+
- "Explain Spring Boot auto-configuration"
|
|
166
|
+
|
|
167
|
+
See [JETBRAINS_SETUP.md](JETBRAINS_SETUP.md) for detailed instructions.
|
|
168
|
+
|
|
131
169
|
## 📚 Usage Examples
|
|
132
170
|
|
|
133
171
|
### General search
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
# 🚀 Spring Documentation MCP Server v1.2.0 - Support JetBrains IDEs
|
|
2
|
+
|
|
3
|
+
## 🎉 Nouveautés de la version 1.2.0
|
|
4
|
+
|
|
5
|
+
### ✨ Support complet des IDEs JetBrains
|
|
6
|
+
|
|
7
|
+
Votre serveur MCP Spring Documentation est maintenant compatible avec **tous les IDEs JetBrains** :
|
|
8
|
+
|
|
9
|
+
- ✅ **IntelliJ IDEA** (Ultimate & Community)
|
|
10
|
+
- ✅ **WebStorm**
|
|
11
|
+
- ✅ **PyCharm** (Professional & Community)
|
|
12
|
+
- ✅ **PhpStorm**
|
|
13
|
+
- ✅ **RubyMine**
|
|
14
|
+
- ✅ **CLion**
|
|
15
|
+
- ✅ **GoLand**
|
|
16
|
+
- ✅ **Rider**
|
|
17
|
+
- ✅ **DataGrip**
|
|
18
|
+
- ✅ **Android Studio**
|
|
19
|
+
|
|
20
|
+
## 🛠️ Installation et Configuration
|
|
21
|
+
|
|
22
|
+
### 1. Mise à jour du package (si déjà installé)
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npm update -g @enokdev/springdocs-mcp
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### 2. Configuration automatique JetBrains
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
cd /path/to/springdocs-mcp
|
|
32
|
+
./setup-jetbrains.sh
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### 3. Vérification de la configuration
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
./test-jetbrains.sh
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## 🎯 Utilisation dans vos IDEs
|
|
42
|
+
|
|
43
|
+
### Claude Desktop
|
|
44
|
+
✅ **Déjà configuré** - Continuez à utiliser comme avant
|
|
45
|
+
|
|
46
|
+
### VS Code
|
|
47
|
+
✅ **Déjà configuré** - Extension Claude avec MCP
|
|
48
|
+
|
|
49
|
+
### JetBrains IDEs (NOUVEAU!)
|
|
50
|
+
🆕 **Nouvellement supporté** :
|
|
51
|
+
|
|
52
|
+
1. **Installer le plugin Claude** dans votre IDE JetBrains
|
|
53
|
+
2. **Redémarrer l'IDE** après la configuration automatique
|
|
54
|
+
3. **Tester** avec une question Spring dans le chat Claude
|
|
55
|
+
|
|
56
|
+
## 💬 Exemples d'utilisation JetBrains
|
|
57
|
+
|
|
58
|
+
### Dans IntelliJ IDEA
|
|
59
|
+
```
|
|
60
|
+
Vous: "Quels sont les projets Spring pour la sécurité ?"
|
|
61
|
+
Claude: [Utilise search_spring_projects("security")]
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Dans WebStorm
|
|
65
|
+
```
|
|
66
|
+
Vous: "Comment créer une API REST avec Spring Boot ?"
|
|
67
|
+
Claude: [Utilise get_spring_guide("gs-rest-service")]
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Dans GoLand
|
|
71
|
+
```
|
|
72
|
+
Vous: "Documentation Spring Boot pour les microservices"
|
|
73
|
+
Claude: [Utilise search_spring_concepts("microservices")]
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## 🔧 Tous vos outils MCP Spring disponibles
|
|
77
|
+
|
|
78
|
+
1. **search_spring_docs** - Recherche documentation
|
|
79
|
+
2. **search_spring_projects** - Projets Spring ecosystem
|
|
80
|
+
3. **get_spring_project** - Détails d'un projet
|
|
81
|
+
4. **get_all_spring_guides** - Liste des guides
|
|
82
|
+
5. **get_spring_guide** - Contenu guide complet
|
|
83
|
+
6. **get_spring_reference** - Documentation référence
|
|
84
|
+
7. **search_spring_concepts** - Concepts Spring Boot
|
|
85
|
+
|
|
86
|
+
## 📍 Où utiliser maintenant
|
|
87
|
+
|
|
88
|
+
| Environnement | Status | Configuration |
|
|
89
|
+
|---------------|--------|---------------|
|
|
90
|
+
| **Claude Desktop** | ✅ Actif | `claude_desktop_config.json` |
|
|
91
|
+
| **VS Code** | ✅ Actif | Extension Claude |
|
|
92
|
+
| **IntelliJ IDEA** | 🆕 Nouveau | Plugin Claude + XML config |
|
|
93
|
+
| **WebStorm** | 🆕 Nouveau | Plugin Claude + XML config |
|
|
94
|
+
| **GoLand** | 🆕 Nouveau | Plugin Claude + XML config |
|
|
95
|
+
| **PyCharm** | 🆕 Nouveau | Plugin Claude + XML config |
|
|
96
|
+
| **Autres JetBrains** | 🆕 Nouveau | Plugin Claude + XML config |
|
|
97
|
+
|
|
98
|
+
## 🔄 Migration depuis v1.1.1
|
|
99
|
+
|
|
100
|
+
**Aucune action requise** pour vos configurations existantes :
|
|
101
|
+
- ✅ Claude Desktop continue de fonctionner
|
|
102
|
+
- ✅ VS Code continue de fonctionner
|
|
103
|
+
- 🆕 JetBrains IDEs maintenant supportés en plus
|
|
104
|
+
|
|
105
|
+
## 🛠️ Dépannage
|
|
106
|
+
|
|
107
|
+
### JetBrains IDEs
|
|
108
|
+
Si les outils n'apparaissent pas :
|
|
109
|
+
|
|
110
|
+
1. **Vérifier le plugin Claude** est installé
|
|
111
|
+
2. **Redémarrer l'IDE** complètement
|
|
112
|
+
3. **Vérifier la configuration** : `./test-jetbrains.sh`
|
|
113
|
+
4. **Consulter** `JETBRAINS_SETUP.md` pour les détails
|
|
114
|
+
|
|
115
|
+
### Claude Desktop / VS Code
|
|
116
|
+
Si problème existant :
|
|
117
|
+
|
|
118
|
+
1. **Consulter** `TROUBLESHOOTING.md`
|
|
119
|
+
2. **Exécuter** `./diagnostic.sh`
|
|
120
|
+
|
|
121
|
+
## 🎊 Profitez de votre Spring Documentation
|
|
122
|
+
|
|
123
|
+
Vous avez maintenant accès à **toute la documentation Spring** dans **tous vos environnements de développement** !
|
|
124
|
+
|
|
125
|
+
- 📚 **Documentation complète** Spring Boot + écosystème
|
|
126
|
+
- 🛠️ **7 outils MCP puissants**
|
|
127
|
+
- 🌐 **Support multi-plateforme** (Claude Desktop, VS Code, JetBrains)
|
|
128
|
+
- ⚡ **Accès instantané** à spring.io/projects et guides
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
**🔗 Liens utiles :**
|
|
133
|
+
- 📖 [Documentation complète](README.md)
|
|
134
|
+
- 🛠️ [Configuration JetBrains](JETBRAINS_SETUP.md)
|
|
135
|
+
- 🔧 [Dépannage](TROUBLESHOOTING.md)
|
|
136
|
+
- 📦 [npm Package](https://www.npmjs.com/package/@enokdev/springdocs-mcp)
|
|
137
|
+
|
|
138
|
+
**Made with ❤️ by [EnokDev](https://github.com/tky0065)**
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
# 🔧 Guide de Dépannage - Spring Documentation MCP Server
|
|
2
|
+
|
|
3
|
+
## 🚨 Problème : Les outils MCP n'apparaissent pas dans Claude Desktop
|
|
4
|
+
|
|
5
|
+
### ✅ Vérifications de base
|
|
6
|
+
|
|
7
|
+
1. **Vérifier l'installation du package**
|
|
8
|
+
```bash
|
|
9
|
+
npm list -g @enokdev/springdocs-mcp
|
|
10
|
+
```
|
|
11
|
+
Devrait afficher : `@enokdev/springdocs-mcp@1.1.1`
|
|
12
|
+
|
|
13
|
+
2. **Vérifier la commande globale**
|
|
14
|
+
```bash
|
|
15
|
+
which springdocs-mcp
|
|
16
|
+
```
|
|
17
|
+
Devrait afficher : `/opt/homebrew/bin/springdocs-mcp`
|
|
18
|
+
|
|
19
|
+
3. **Tester le serveur localement**
|
|
20
|
+
```bash
|
|
21
|
+
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list", "params": {}}' | springdocs-mcp
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### 🔧 Solutions étape par étape
|
|
25
|
+
|
|
26
|
+
#### Solution 1 : Configuration Claude Desktop (Recommandée)
|
|
27
|
+
|
|
28
|
+
**Fichier :** `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
29
|
+
|
|
30
|
+
```json
|
|
31
|
+
{
|
|
32
|
+
"mcpServers": {
|
|
33
|
+
"spring-docs": {
|
|
34
|
+
"command": "/opt/homebrew/bin/springdocs-mcp"
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
#### Solution 2 : Configuration alternative (Développement)
|
|
41
|
+
|
|
42
|
+
```json
|
|
43
|
+
{
|
|
44
|
+
"mcpServers": {
|
|
45
|
+
"spring-docs": {
|
|
46
|
+
"command": "node",
|
|
47
|
+
"args": ["/path/to/springdocs-mcp/build/index.js"]
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
#### Solution 3 : Réinstallation complète
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
# Désinstaller
|
|
57
|
+
npm uninstall -g @enokdev/springdocs-mcp
|
|
58
|
+
|
|
59
|
+
# Nettoyer le cache
|
|
60
|
+
npm cache clean --force
|
|
61
|
+
|
|
62
|
+
# Réinstaller
|
|
63
|
+
npm install -g @enokdev/springdocs-mcp
|
|
64
|
+
|
|
65
|
+
# Vérifier
|
|
66
|
+
springdocs-mcp --help
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### 🔍 Diagnostic automatique
|
|
70
|
+
|
|
71
|
+
Utilisez le script de diagnostic :
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
./diagnostic.sh
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### 📋 Checklist de dépannage
|
|
78
|
+
|
|
79
|
+
- [ ] Package installé globalement
|
|
80
|
+
- [ ] Lien symbolique existe dans `/opt/homebrew/bin/`
|
|
81
|
+
- [ ] Fichier exécutable avec permissions correctes
|
|
82
|
+
- [ ] Configuration JSON valide (pas de virgules en trop)
|
|
83
|
+
- [ ] Chemin absolu utilisé dans la configuration
|
|
84
|
+
- [ ] Claude Desktop redémarré après modification config
|
|
85
|
+
|
|
86
|
+
### 🚫 Erreurs communes
|
|
87
|
+
|
|
88
|
+
#### JSON invalide
|
|
89
|
+
❌ **Problème :**
|
|
90
|
+
```json
|
|
91
|
+
{
|
|
92
|
+
"mcpServers": {
|
|
93
|
+
"spring-docs": {
|
|
94
|
+
"command": "springdocs-mcp"
|
|
95
|
+
}, // <- virgule en trop
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
✅ **Solution :**
|
|
101
|
+
```json
|
|
102
|
+
{
|
|
103
|
+
"mcpServers": {
|
|
104
|
+
"spring-docs": {
|
|
105
|
+
"command": "springdocs-mcp"
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
#### Chemin relatif
|
|
112
|
+
❌ **Problème :**
|
|
113
|
+
```json
|
|
114
|
+
{
|
|
115
|
+
"mcpServers": {
|
|
116
|
+
"spring-docs": {
|
|
117
|
+
"command": "springdocs-mcp" // <- peut ne pas être trouvé
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
✅ **Solution :**
|
|
124
|
+
```json
|
|
125
|
+
{
|
|
126
|
+
"mcpServers": {
|
|
127
|
+
"spring-docs": {
|
|
128
|
+
"command": "/opt/homebrew/bin/springdocs-mcp" // <- chemin absolu
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### 🔄 Redémarrage requis
|
|
135
|
+
|
|
136
|
+
Après modification de la configuration :
|
|
137
|
+
|
|
138
|
+
1. **Fermer complètement Claude Desktop**
|
|
139
|
+
2. **Attendre 5 secondes**
|
|
140
|
+
3. **Relancer Claude Desktop**
|
|
141
|
+
4. **Vérifier la présence des outils dans le menu**
|
|
142
|
+
|
|
143
|
+
### 📍 Emplacements des fichiers
|
|
144
|
+
|
|
145
|
+
- **Configuration Claude Desktop :** `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
146
|
+
- **Executable global :** `/opt/homebrew/bin/springdocs-mcp`
|
|
147
|
+
- **Package installé :** `/opt/homebrew/lib/node_modules/@enokdev/springdocs-mcp/`
|
|
148
|
+
|
|
149
|
+
### 🆘 Si rien ne fonctionne
|
|
150
|
+
|
|
151
|
+
1. **Vérifier les logs de Claude Desktop** (si disponibles)
|
|
152
|
+
2. **Tester avec une configuration minimale**
|
|
153
|
+
3. **Utiliser le mode développement avec chemin absolu**
|
|
154
|
+
4. **Contacter le support ou ouvrir une issue GitHub**
|
|
155
|
+
|
|
156
|
+
### 📞 Support
|
|
157
|
+
|
|
158
|
+
- **GitHub Issues :** https://github.com/tky0065/springdocs-mcp/issues
|
|
159
|
+
- **npm Package :** https://www.npmjs.com/package/@enokdev/springdocs-mcp
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
**Note :** Ce serveur MCP fournit 7 outils pour explorer la documentation Spring. Une fois configuré correctement, vous devriez voir apparaître les outils Spring dans l'interface Claude Desktop.
|
package/diagnostic.sh
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
echo "🔍 Diagnostic du serveur MCP Spring Documentation"
|
|
4
|
+
echo "================================================="
|
|
5
|
+
echo
|
|
6
|
+
|
|
7
|
+
echo "📦 Vérification de l'installation npm..."
|
|
8
|
+
npm list -g @enokdev/springdocs-mcp 2>/dev/null || echo "❌ Package non installé globalement"
|
|
9
|
+
echo
|
|
10
|
+
|
|
11
|
+
echo "🔗 Vérification du lien symbolique..."
|
|
12
|
+
if [ -L "/opt/homebrew/bin/springdocs-mcp" ]; then
|
|
13
|
+
echo "✅ Lien symbolique existe: $(readlink /opt/homebrew/bin/springdocs-mcp)"
|
|
14
|
+
else
|
|
15
|
+
echo "❌ Lien symbolique manquant"
|
|
16
|
+
fi
|
|
17
|
+
echo
|
|
18
|
+
|
|
19
|
+
echo "📂 Vérification du fichier executable..."
|
|
20
|
+
if [ -x "/opt/homebrew/lib/node_modules/@enokdev/springdocs-mcp/build/index.js" ]; then
|
|
21
|
+
echo "✅ Fichier exécutable existe"
|
|
22
|
+
else
|
|
23
|
+
echo "❌ Fichier exécutable manquant ou non exécutable"
|
|
24
|
+
fi
|
|
25
|
+
echo
|
|
26
|
+
|
|
27
|
+
echo "🏗️ Vérification du shebang..."
|
|
28
|
+
head -1 /opt/homebrew/lib/node_modules/@enokdev/springdocs-mcp/build/index.js | grep -q "#!/usr/bin/env node" && echo "✅ Shebang correct" || echo "❌ Shebang incorrect"
|
|
29
|
+
echo
|
|
30
|
+
|
|
31
|
+
echo "🔄 Test de la commande directe..."
|
|
32
|
+
echo '{"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"protocolVersion": "2024-11-05", "capabilities": {}, "clientInfo": {"name": "test", "version": "1.0.0"}}}' | timeout 5s /opt/homebrew/bin/springdocs-mcp 2>&1 | head -5 || echo "❌ Timeout ou erreur"
|
|
33
|
+
echo
|
|
34
|
+
|
|
35
|
+
echo "📋 Configuration Claude Desktop actuelle:"
|
|
36
|
+
echo "$(cat ~/Library/Application\ Support/Claude/claude_desktop_config.json 2>/dev/null || echo '❌ Fichier de configuration non trouvé')"
|
|
37
|
+
echo
|
|
38
|
+
|
|
39
|
+
echo "💡 Configuration recommandée pour Claude Desktop:"
|
|
40
|
+
cat << 'EOF'
|
|
41
|
+
{
|
|
42
|
+
"mcpServers": {
|
|
43
|
+
"spring-docs": {
|
|
44
|
+
"command": "/opt/homebrew/bin/springdocs-mcp"
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
EOF
|
|
49
|
+
echo
|
|
50
|
+
|
|
51
|
+
echo "🔧 Pour résoudre les problèmes potentiels:"
|
|
52
|
+
echo "1. Redémarrer Claude Desktop complètement"
|
|
53
|
+
echo "2. Vérifier que la configuration JSON est valide"
|
|
54
|
+
echo "3. Utiliser le chemin absolu: /opt/homebrew/bin/springdocs-mcp"
|
|
55
|
+
echo "4. Si nécessaire, réinstaller: npm uninstall -g @enokdev/springdocs-mcp && npm install -g @enokdev/springdocs-mcp"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@enokdev/springdocs-mcp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "Public MCP server for accessing Spring Boot documentation and the complete Spring ecosystem",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "build/index.js",
|
|
@@ -22,7 +22,9 @@
|
|
|
22
22
|
"watch": "tsc --watch",
|
|
23
23
|
"prepublishOnly": "npm run build",
|
|
24
24
|
"test": "node test.sh",
|
|
25
|
-
"install-global": "npm install -g ."
|
|
25
|
+
"install-global": "npm install -g .",
|
|
26
|
+
"setup-jetbrains": "./setup-jetbrains.sh",
|
|
27
|
+
"setup-all": "npm run setup-jetbrains"
|
|
26
28
|
},
|
|
27
29
|
"keywords": [
|
|
28
30
|
"mcp",
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
echo "🚀 Configuration automatique du serveur MCP Spring pour IDEs JetBrains"
|
|
4
|
+
echo "======================================================================"
|
|
5
|
+
echo
|
|
6
|
+
|
|
7
|
+
# Couleurs pour l'affichage
|
|
8
|
+
GREEN='\033[0;32m'
|
|
9
|
+
YELLOW='\033[1;33m'
|
|
10
|
+
BLUE='\033[0;34m'
|
|
11
|
+
RED='\033[0;31m'
|
|
12
|
+
NC='\033[0m' # No Color
|
|
13
|
+
|
|
14
|
+
# Vérifier si springdocs-mcp est installé
|
|
15
|
+
if ! command -v springdocs-mcp &> /dev/null; then
|
|
16
|
+
echo -e "${RED}❌ springdocs-mcp n'est pas installé globalement${NC}"
|
|
17
|
+
echo "Exécutez: npm install -g @enokdev/springdocs-mcp"
|
|
18
|
+
exit 1
|
|
19
|
+
fi
|
|
20
|
+
|
|
21
|
+
echo -e "${GREEN}✅ springdocs-mcp trouvé: $(which springdocs-mcp)${NC}"
|
|
22
|
+
echo
|
|
23
|
+
|
|
24
|
+
# Configuration MCP standard
|
|
25
|
+
MCP_CONFIG='{
|
|
26
|
+
"spring-docs": {
|
|
27
|
+
"command": "/opt/homebrew/bin/springdocs-mcp",
|
|
28
|
+
"description": "Spring Documentation MCP Server - Access to complete Spring ecosystem",
|
|
29
|
+
"timeout": 30000
|
|
30
|
+
}
|
|
31
|
+
}'
|
|
32
|
+
|
|
33
|
+
# Fonction pour créer la configuration Claude générique
|
|
34
|
+
create_claude_config() {
|
|
35
|
+
local config_dir="$1"
|
|
36
|
+
local config_file="$config_dir/claude_mcp_config.json"
|
|
37
|
+
|
|
38
|
+
if [ ! -d "$config_dir" ]; then
|
|
39
|
+
mkdir -p "$config_dir"
|
|
40
|
+
echo -e "${BLUE}📁 Créé le dossier: $config_dir${NC}"
|
|
41
|
+
fi
|
|
42
|
+
|
|
43
|
+
cat > "$config_file" << EOF
|
|
44
|
+
{
|
|
45
|
+
"mcpServers": $MCP_CONFIG
|
|
46
|
+
}
|
|
47
|
+
EOF
|
|
48
|
+
|
|
49
|
+
echo -e "${GREEN}✅ Configuration créée: $config_file${NC}"
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
# Fonction pour créer la configuration XML JetBrains
|
|
53
|
+
create_jetbrains_xml() {
|
|
54
|
+
local ide_config_dir="$1"
|
|
55
|
+
local options_dir="$ide_config_dir/options"
|
|
56
|
+
local claude_xml="$options_dir/claude.xml"
|
|
57
|
+
|
|
58
|
+
if [ ! -d "$options_dir" ]; then
|
|
59
|
+
mkdir -p "$options_dir"
|
|
60
|
+
echo -e "${BLUE}📁 Créé le dossier: $options_dir${NC}"
|
|
61
|
+
fi
|
|
62
|
+
|
|
63
|
+
cat > "$claude_xml" << 'EOF'
|
|
64
|
+
<application>
|
|
65
|
+
<component name="ClaudeSettings">
|
|
66
|
+
<option name="mcpServers">
|
|
67
|
+
<map>
|
|
68
|
+
<entry key="spring-docs">
|
|
69
|
+
<value>
|
|
70
|
+
<MCPServerConfig>
|
|
71
|
+
<option name="command" value="/opt/homebrew/bin/springdocs-mcp" />
|
|
72
|
+
<option name="description" value="Spring Documentation MCP Server" />
|
|
73
|
+
<option name="timeout" value="30000" />
|
|
74
|
+
</MCPServerConfig>
|
|
75
|
+
</value>
|
|
76
|
+
</entry>
|
|
77
|
+
</map>
|
|
78
|
+
</option>
|
|
79
|
+
</component>
|
|
80
|
+
</application>
|
|
81
|
+
EOF
|
|
82
|
+
|
|
83
|
+
echo -e "${GREEN}✅ Configuration XML créée: $claude_xml${NC}"
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
echo -e "${YELLOW}🔧 Configuration des IDEs JetBrains...${NC}"
|
|
87
|
+
echo
|
|
88
|
+
|
|
89
|
+
# Détecter le système d'exploitation
|
|
90
|
+
if [[ "$OSTYPE" == "darwin"* ]]; then
|
|
91
|
+
# macOS
|
|
92
|
+
JETBRAINS_BASE="$HOME/Library/Application Support/JetBrains"
|
|
93
|
+
CONFIG_BASE="$HOME/.jetbrains"
|
|
94
|
+
elif [[ "$OSTYPE" == "linux-gnu"* ]]; then
|
|
95
|
+
# Linux
|
|
96
|
+
JETBRAINS_BASE="$HOME/.config/JetBrains"
|
|
97
|
+
CONFIG_BASE="$HOME/.jetbrains"
|
|
98
|
+
elif [[ "$OSTYPE" == "msys" || "$OSTYPE" == "cygwin" ]]; then
|
|
99
|
+
# Windows
|
|
100
|
+
JETBRAINS_BASE="$APPDATA/JetBrains"
|
|
101
|
+
CONFIG_BASE="$HOME/.jetbrains"
|
|
102
|
+
else
|
|
103
|
+
echo -e "${RED}❌ Système d'exploitation non supporté: $OSTYPE${NC}"
|
|
104
|
+
exit 1
|
|
105
|
+
fi
|
|
106
|
+
|
|
107
|
+
echo -e "${BLUE}📍 Dossier JetBrains détecté: $JETBRAINS_BASE${NC}"
|
|
108
|
+
echo
|
|
109
|
+
|
|
110
|
+
# Créer la configuration générique
|
|
111
|
+
echo -e "${YELLOW}📝 Création de la configuration générique...${NC}"
|
|
112
|
+
create_claude_config "$CONFIG_BASE"
|
|
113
|
+
echo
|
|
114
|
+
|
|
115
|
+
# Liste des IDEs JetBrains à configurer
|
|
116
|
+
JETBRAINS_IDES=(
|
|
117
|
+
"IntelliJIdea"
|
|
118
|
+
"WebStorm"
|
|
119
|
+
"PyCharm"
|
|
120
|
+
"PhpStorm"
|
|
121
|
+
"RubyMine"
|
|
122
|
+
"CLion"
|
|
123
|
+
"GoLand"
|
|
124
|
+
"Rider"
|
|
125
|
+
"DataGrip"
|
|
126
|
+
"AndroidStudio"
|
|
127
|
+
)
|
|
128
|
+
|
|
129
|
+
echo -e "${YELLOW}🎯 Configuration des IDEs spécifiques...${NC}"
|
|
130
|
+
|
|
131
|
+
for ide in "${JETBRAINS_IDES[@]}"; do
|
|
132
|
+
# Chercher les versions installées de l'IDE
|
|
133
|
+
if [ -d "$JETBRAINS_BASE" ]; then
|
|
134
|
+
ide_dirs=$(find "$JETBRAINS_BASE" -maxdepth 1 -type d -name "${ide}*" 2>/dev/null)
|
|
135
|
+
|
|
136
|
+
if [ -n "$ide_dirs" ]; then
|
|
137
|
+
echo -e "${BLUE}🔍 Trouvé $ide:${NC}"
|
|
138
|
+
echo "$ide_dirs" | while read -r ide_dir; do
|
|
139
|
+
echo -e " 📁 $(basename "$ide_dir")"
|
|
140
|
+
create_jetbrains_xml "$ide_dir"
|
|
141
|
+
done
|
|
142
|
+
else
|
|
143
|
+
echo -e "${YELLOW}⚠️ $ide non installé ou non trouvé${NC}"
|
|
144
|
+
fi
|
|
145
|
+
fi
|
|
146
|
+
done
|
|
147
|
+
|
|
148
|
+
echo
|
|
149
|
+
echo -e "${GREEN}🎉 Configuration terminée !${NC}"
|
|
150
|
+
echo
|
|
151
|
+
echo -e "${YELLOW}📋 Prochaines étapes:${NC}"
|
|
152
|
+
echo "1. 🔄 Redémarrer vos IDEs JetBrains"
|
|
153
|
+
echo "2. 🔌 Installer le plugin Claude (si pas déjà fait)"
|
|
154
|
+
echo "3. ⚙️ Vérifier les paramètres Claude dans Settings → Tools → Claude"
|
|
155
|
+
echo "4. 🧪 Tester avec une question Spring dans le chat Claude"
|
|
156
|
+
echo
|
|
157
|
+
echo -e "${BLUE}💡 Exemple de test:${NC}"
|
|
158
|
+
echo "Demandez à Claude dans votre IDE: 'Quels sont les projets Spring pour la sécurité ?'"
|
|
159
|
+
echo
|
|
160
|
+
echo -e "${YELLOW}🔧 En cas de problème:${NC}"
|
|
161
|
+
echo "- Vérifiez que springdocs-mcp fonctionne: echo '{\"jsonrpc\": \"2.0\", \"id\": 1, \"method\": \"tools/list\", \"params\": {}}' | springdocs-mcp"
|
|
162
|
+
echo "- Consultez TROUBLESHOOTING.md pour plus d'aide"
|
|
163
|
+
echo
|
|
164
|
+
echo -e "${GREEN}✨ Votre serveur MCP Spring Documentation est maintenant disponible dans tous vos IDEs JetBrains !${NC}"
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
echo "🧪 Test des configurations JetBrains IDEs"
|
|
4
|
+
echo "========================================="
|
|
5
|
+
echo
|
|
6
|
+
|
|
7
|
+
# Couleurs
|
|
8
|
+
GREEN='\033[0;32m'
|
|
9
|
+
YELLOW='\033[1;33m'
|
|
10
|
+
BLUE='\033[0;34m'
|
|
11
|
+
RED='\033[0;31m'
|
|
12
|
+
NC='\033[0m'
|
|
13
|
+
|
|
14
|
+
# Fonction de test
|
|
15
|
+
test_config_file() {
|
|
16
|
+
local file="$1"
|
|
17
|
+
local description="$2"
|
|
18
|
+
|
|
19
|
+
if [ -f "$file" ]; then
|
|
20
|
+
echo -e "${GREEN}✅ $description${NC}"
|
|
21
|
+
echo -e "${BLUE} 📁 $file${NC}"
|
|
22
|
+
|
|
23
|
+
# Vérifier si c'est un fichier JSON valide
|
|
24
|
+
if [[ "$file" == *.json ]]; then
|
|
25
|
+
if python3 -m json.tool "$file" > /dev/null 2>&1; then
|
|
26
|
+
echo -e "${GREEN} ✅ JSON valide${NC}"
|
|
27
|
+
else
|
|
28
|
+
echo -e "${RED} ❌ JSON invalide${NC}"
|
|
29
|
+
fi
|
|
30
|
+
fi
|
|
31
|
+
|
|
32
|
+
# Vérifier si c'est un fichier XML valide
|
|
33
|
+
if [[ "$file" == *.xml ]]; then
|
|
34
|
+
if command -v xmllint &> /dev/null; then
|
|
35
|
+
if xmllint --noout "$file" 2>/dev/null; then
|
|
36
|
+
echo -e "${GREEN} ✅ XML valide${NC}"
|
|
37
|
+
else
|
|
38
|
+
echo -e "${RED} ❌ XML invalide${NC}"
|
|
39
|
+
fi
|
|
40
|
+
else
|
|
41
|
+
echo -e "${YELLOW} ⚠️ xmllint non disponible (optionnel)${NC}"
|
|
42
|
+
fi
|
|
43
|
+
fi
|
|
44
|
+
echo
|
|
45
|
+
else
|
|
46
|
+
echo -e "${YELLOW}⚠️ $description - Non trouvé${NC}"
|
|
47
|
+
echo -e "${BLUE} 📁 $file${NC}"
|
|
48
|
+
echo
|
|
49
|
+
fi
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
echo -e "${YELLOW}🔍 Vérification des configurations créées...${NC}"
|
|
53
|
+
echo
|
|
54
|
+
|
|
55
|
+
# Configuration générique
|
|
56
|
+
test_config_file "$HOME/.jetbrains/claude_mcp_config.json" "Configuration générique JetBrains"
|
|
57
|
+
|
|
58
|
+
# IDEs spécifiques
|
|
59
|
+
JETBRAINS_BASE="$HOME/Library/Application Support/JetBrains"
|
|
60
|
+
|
|
61
|
+
if [ -d "$JETBRAINS_BASE" ]; then
|
|
62
|
+
echo -e "${BLUE}📍 Recherche des configurations IDE...${NC}"
|
|
63
|
+
echo
|
|
64
|
+
|
|
65
|
+
# IntelliJ IDEA
|
|
66
|
+
find "$JETBRAINS_BASE" -name "IntelliJIdea*" -type d | while read -r ide_dir; do
|
|
67
|
+
claude_xml="$ide_dir/options/claude.xml"
|
|
68
|
+
test_config_file "$claude_xml" "IntelliJ IDEA $(basename "$ide_dir")"
|
|
69
|
+
done
|
|
70
|
+
|
|
71
|
+
# WebStorm
|
|
72
|
+
find "$JETBRAINS_BASE" -name "WebStorm*" -type d | while read -r ide_dir; do
|
|
73
|
+
claude_xml="$ide_dir/options/claude.xml"
|
|
74
|
+
test_config_file "$claude_xml" "WebStorm $(basename "$ide_dir")"
|
|
75
|
+
done
|
|
76
|
+
|
|
77
|
+
# GoLand
|
|
78
|
+
find "$JETBRAINS_BASE" -name "GoLand*" -type d | while read -r ide_dir; do
|
|
79
|
+
claude_xml="$ide_dir/options/claude.xml"
|
|
80
|
+
test_config_file "$claude_xml" "GoLand $(basename "$ide_dir")"
|
|
81
|
+
done
|
|
82
|
+
|
|
83
|
+
# PyCharm
|
|
84
|
+
find "$JETBRAINS_BASE" -name "PyCharm*" -type d | while read -r ide_dir; do
|
|
85
|
+
claude_xml="$ide_dir/options/claude.xml"
|
|
86
|
+
test_config_file "$claude_xml" "PyCharm $(basename "$ide_dir")"
|
|
87
|
+
done
|
|
88
|
+
|
|
89
|
+
else
|
|
90
|
+
echo -e "${RED}❌ Dossier JetBrains non trouvé: $JETBRAINS_BASE${NC}"
|
|
91
|
+
fi
|
|
92
|
+
|
|
93
|
+
echo -e "${YELLOW}🧪 Test du serveur MCP...${NC}"
|
|
94
|
+
echo
|
|
95
|
+
|
|
96
|
+
# Test du serveur MCP
|
|
97
|
+
if command -v springdocs-mcp &> /dev/null; then
|
|
98
|
+
echo -e "${GREEN}✅ Commande springdocs-mcp disponible${NC}"
|
|
99
|
+
|
|
100
|
+
# Test rapide du serveur
|
|
101
|
+
echo -e "${BLUE}🔄 Test d'initialisation...${NC}"
|
|
102
|
+
echo '{"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"protocolVersion": "2024-11-05", "capabilities": {}, "clientInfo": {"name": "test", "version": "1.0.0"}}}' | timeout 5s springdocs-mcp > /dev/null 2>&1
|
|
103
|
+
|
|
104
|
+
if [ $? -eq 0 ]; then
|
|
105
|
+
echo -e "${GREEN}✅ Serveur MCP répond correctement${NC}"
|
|
106
|
+
else
|
|
107
|
+
echo -e "${RED}❌ Problème avec le serveur MCP${NC}"
|
|
108
|
+
fi
|
|
109
|
+
else
|
|
110
|
+
echo -e "${RED}❌ Commande springdocs-mcp non disponible${NC}"
|
|
111
|
+
echo "Exécutez: npm install -g @enokdev/springdocs-mcp"
|
|
112
|
+
fi
|
|
113
|
+
|
|
114
|
+
echo
|
|
115
|
+
echo -e "${YELLOW}📋 Résumé des tests${NC}"
|
|
116
|
+
echo -e "${GREEN}✅ = Configuration trouvée et valide${NC}"
|
|
117
|
+
echo -e "${YELLOW}⚠️ = Configuration manquante (normal si IDE non installé)${NC}"
|
|
118
|
+
echo -e "${RED}❌ = Problème détecté${NC}"
|
|
119
|
+
echo
|
|
120
|
+
echo -e "${BLUE}💡 Prochaines étapes:${NC}"
|
|
121
|
+
echo "1. Redémarrer vos IDEs JetBrains"
|
|
122
|
+
echo "2. Installer le plugin Claude dans chaque IDE"
|
|
123
|
+
echo "3. Tester avec: 'Quels sont les projets Spring pour la sécurité ?'"
|
|
124
|
+
echo
|
|
125
|
+
echo -e "${GREEN}🎉 Configuration JetBrains terminée !${NC}"
|