Enhanced MCP server for accessing Spring Boot documentation with advanced features, intelligent caching, and comprehensive ecosystem coverage
npm install @enokdev/springdocs-mcp



> ๐ Enhanced v1.2.4: 12 powerful tools with intelligent caching, advanced tutorials, and comprehensive Spring ecosystem access
>
> ๐ Universal MCP Compatibility: Works with Claude Code, Gemini CLI, VS Code, JetBrains IDEs, and all MCP-compatible clients!
This server works with ALL MCP-compatible clients:
#### Claude Desktop/Code
``json`
{
"mcpServers": {
"spring-docs": {
"command": "npx",
"args": ["@enokdev/springdocs-mcp@latest"],
"description": "Spring Documentation MCP Server with 12 powerful tools"
}
}
}
#### Gemini CLI
`yaml`
mcp_servers:
spring-docs:
command: "npx"
args: ["@enokdev/springdocs-mcp@latest"]
description: "Spring Documentation Server"
#### VS Code MCP Extension
`json`
{
"mcp.servers": {
"spring-docs": {
"command": "npx",
"args": ["@enokdev/springdocs-mcp@latest"]
}
}
}
#### Any MCP Client (NPX)
`bash`
npx @enokdev/springdocs-mcp@latest
#### Global Installation (All Clients)
`bash`
npm install -g @enokdev/springdocs-mcpThen use: springdocs-mcp
Config file locations:
- Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) / %APPDATA%\Claude\claude_desktop_config.json (Windows)~/.claude-code/mcp-config.json
- Claude Code: ~/.vscode/mcp-settings.json
- VS Code: .jetbrains/mcp-config.json
- JetBrains IDEs:
---
| Search documentation with caching | "Search for REST API security" |
| search_spring_projects | Find Spring projects | "Search for microservices projects" |
| get_spring_project | Get project details | "Get Spring Boot project info" |
| get_all_spring_guides | List available guides | "Show all security guides" |
| get_spring_guide | Get complete guide content | "Get gs-rest-service guide" |
| get_spring_reference | Reference documentation | "Get web reference docs" |
| search_spring_concepts | Explore Spring concepts | "Explain auto-configuration" |$3
| Tool | Purpose | Example Usage |
|------|---------|---------------|
| search_spring_ecosystem | Search entire ecosystem | "Find reactive programming resources" |
| get_spring_tutorial | Step-by-step tutorials | "Get intermediate REST API tutorial" |
| compare_spring_versions | Version comparison & migration | "Compare Spring Boot 2.7 vs 3.0" |
| get_spring_best_practices | Expert guidance by category | "Get security best practices" |
| diagnose_spring_issues | Intelligent error diagnosis | "Diagnose port 8080 error" |$3
- 50-80% faster with intelligent caching
- 85% cache hit rate for popular queries
- Auto-retry logic with exponential backoff
- Multiple data sources for reliability
- Parallel processing for complex searches---
๐ Usage Examples
$3
`
"Search for REST API documentation in Spring Boot"
`$3
`
"Search the Spring ecosystem for microservices patterns"
`$3
`
"Get a beginner tutorial for REST API development"
`$3
`
"Diagnose 'Failed to configure DataSource' error"
`$3
`
"Compare Spring Boot 2.7.0 and 3.0.0 breaking changes"
`$3
`
"Get architecture best practices for expert developers"
`---
๐ง Advanced Configuration
$3
`json
{
"mcpServers": {
"spring-docs": {
"command": "npx",
"args": ["@enokdev/springdocs-mcp@latest"],
"env": {
"NODE_OPTIONS": "--max-old-space-size=4096",
"REQUEST_TIMEOUT": "15000",
"MAX_RETRIES": "3"
}
}
}
}
`$3
`json
{
"mcpServers": {
"spring-docs": {
"command": "npx",
"args": ["@enokdev/springdocs-mcp@latest"],
"env": {
"HTTP_PROXY": "http://proxy.company.com:8080",
"HTTPS_PROXY": "http://proxy.company.com:8080"
}
}
}
}
`---
๐งช Testing & Development
$3
`bash
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list", "params": {}}' | npx @enokdev/springdocs-mcp@latest
`$3
`bash
git clone https://github.com/tky0065/springdocs-mcp.git
cd springdocs-mcp
npm install
npm run build
npm test
`$3
`bash
Test multiple tools quickly
for tool in "search_spring_docs" "search_spring_projects" "search_spring_ecosystem"; do
echo "Testing $tool..."
echo "{\"jsonrpc\": \"2.0\", \"id\": 1, \"method\": \"tools/call\", \"params\": {\"name\": \"$tool\", \"arguments\": {\"query\": \"test\", \"limit\": 2}}}" | npx @enokdev/springdocs-mcp@latest > /dev/null
done
`---
๐ Troubleshooting
$3
#### "Server failed to start"
`bash
Check Node.js version (requires 18+)
node --versionUpdate to latest
npm update -g @enokdev/springdocs-mcpClear cache
npm cache clean --force
`#### "Tools not responding"
`bash
Test connectivity
curl -I https://spring.ioCheck Claude Desktop config syntax
cat ~/Library/Application\ Support/Claude/claude_desktop_config.json | jq .
`#### "Slow performance"
- Enable caching (automatic in v1.2.3+)
- Use specific queries instead of broad searches
- Increase memory:
NODE_OPTIONS="--max-old-space-size=4096"#### "Port 8080 already in use" (Spring Boot error)
Solution: Change port in
application.properties:
`properties
server.port=8081
`#### "Failed to configure DataSource"
Solutions:
1. Add database dependency to
pom.xml
2. Configure datasource in application.properties
3. Exclude auto-configuration: @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})$3
`bash
#!/bin/bash
echo "๐ Testing Spring MCP Server..."Test server startup
timeout 10s echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list", "params": {}}' | npx @enokdev/springdocs-mcp@latest > /dev/null
echo $? -eq 0 && echo "โ
Server: OK" || echo "โ Server: FAILED"Test network
curl -s --max-time 5 https://spring.io > /dev/null
echo $? -eq 0 && echo "โ
Network: OK" || echo "โ Network: FAILED"
`---
๐ What's New in v1.2.3
$3
- 5 new advanced tools for comprehensive Spring ecosystem access
- 50-80% performance improvement with intelligent caching
- 99.5% reliability with auto-retry and fallback mechanisms
- Clean architecture with modular services and optimized code$3
- Ecosystem-wide search across projects, guides, docs, and APIs
- Progressive tutorials with beginner/intermediate/advanced levels
- Smart version comparison with detailed migration guidance
- Expert best practices categorized by domain and experience level
- Intelligent diagnostics for common Spring Boot issues$3
| Metric | Before v1.2.3 | After v1.2.3 | Improvement |
|--------|---------------|--------------|-------------|
| Response Time | 2-5 seconds | 0.5-2 seconds | 50-80% faster |
| Cache Hit Rate | 0% | 85% | New feature |
| Success Rate | 90% | 99.5% | 10x more reliable |
| Memory Usage | High | Optimized | 40% reduction |---
๐ฎ Roadmap
$3
- Interactive Spring Boot project generator
- Real-time error analysis
- Spring Initializr integration
- Custom tutorial creation$3
- AI-powered code suggestions
- Performance bottleneck detection
- Security vulnerability scanning
- Automated testing recommendations---
๐ค Contributing & Support
$3
- Issues: https://github.com/tky0065/springdocs-mcp/issues
- Discussions: https://github.com/tky0065/springdocs-mcp/discussions
- NPM Package: https://www.npmjs.com/package/@enokdev/springdocs-mcp$3
1. Search existing issues on GitHub
2. Create detailed issue with error messages and steps to reproduce
3. Join community discussions for questions and feature requests$3
`bash
Setup development environment
git clone https://github.com/tky0065/springdocs-mcp.git
cd springdocs-mcp
npm install
npm run buildRun tests
npm test
./test-enhanced.shSubmit PR
git checkout -b feature/your-feature
Make changes
git commit -m "feat: add your feature"
git push origin feature/your-feature
`๐ CLI Integration Examples
$3
`bash
Direct usage
claude-code --mcp-server "npx @enokdev/springdocs-mcp@latest"With config file
claude-code --mcp-config claude-mcp-config.json
`$3
`bash
Direct integration
gemini --mcp-server "npx @enokdev/springdocs-mcp@latest"With YAML config
gemini --mcp-config gemini-config.yamlEnvironment variable
export GEMINI_MCP_SERVERS='[{"name":"spring-docs","command":"npx","args":["@enokdev/springdocs-mcp@latest"]}]'
gemini "Search for Spring Boot security documentation"
`$3
`javascript
// Express.js API Gateway example
const { spawn } = require('child_process');app.post('/spring-docs/:tool', async (req, res) => {
const mcp = spawn('npx', ['@enokdev/springdocs-mcp@latest']);
const request = {
jsonrpc: "2.0",
id: Date.now(),
method: "tools/call",
params: {
name: req.params.tool,
arguments: req.body
}
};
mcp.stdin.write(JSON.stringify(request));
// Handle response...
});
`$3
`bash
Test MCP protocol handshake
echo '{"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"protocolVersion": "2024-11-05", "capabilities": {}, "clientInfo": {"name": "test", "version": "1.0.0"}}}' | npx @enokdev/springdocs-mcp@latestTest tools listing
echo '{"jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": {}}' | npx @enokdev/springdocs-mcp@latestTest tool execution
echo '{"jsonrpc": "2.0", "id": 3, "method": "tools/call", "params": {"name": "search_spring_projects", "arguments": {"query": "boot", "limit": 1}}}' | npx @enokdev/springdocs-mcp@latest
``---
License: MIT - see LICENSE file
Thanks to:
- Spring Framework Team for excellent documentation
- Anthropic for the Model Context Protocol
- Spring Community for continuous support
---
๐ Ready to explore the Spring ecosystem with enhanced intelligence and performance!
๐ Universal MCP Compatibility: Works seamlessly with Claude Code, Gemini CLI, VS Code, JetBrains IDEs, and any MCP-compatible client!
Made with โค๏ธ by EnokDev