loading…
Search for a command to run...
loading…
Enables users to access and search Spring ecosystem documentation, guides, tutorials, and best practices through 12 tools, including Spring AI support and intel
Enables users to access and search Spring ecosystem documentation, guides, tutorials, and best practices through 12 tools, including Spring AI support and intelligent caching.
npm version License: MIT Node.js MCP Compatible
🚀 Enhanced v1.2.8: 12 powerful tools with Spring AI support, 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:
{
"mcpServers": {
"spring-docs": {
"command": "npx",
"args": ["@enokdev/springdocs-mcp@latest"],
"description": "Spring Documentation MCP Server with 12 powerful tools"
}
}
}
mcp_servers:
spring-docs:
command: "npx"
args: ["@enokdev/springdocs-mcp@latest"]
description: "Spring Documentation Server"
{
"mcp.servers": {
"spring-docs": {
"command": "npx",
"args": ["@enokdev/springdocs-mcp@latest"]
}
}
}
npx @enokdev/springdocs-mcp@latest
npm install -g @enokdev/springdocs-mcp
# Then use: springdocs-mcp
# Via Docker MCP CLI (when available in catalog)
docker mcp add springdocs-mcp
# Via Docker directly
docker pull mcp/springdocs-mcp:latest
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}' | \
docker run -i mcp/springdocs-mcp:latest
Benefits of Docker distribution:
Config file locations:
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) / %APPDATA%\Claude\claude_desktop_config.json (Windows)~/.claude-code/mcp-config.json~/.vscode/mcp-settings.json.jetbrains/mcp-config.json| Tool | Purpose | Example Usage |
|---|---|---|
search_spring_docs |
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 docs for Boot/AI/Framework | "Get Spring AI chatclient reference" |
search_spring_concepts |
Explore Spring concepts | "Explain auto-configuration" |
| Tool | Purpose | Example Usage |
|---|---|---|
search_spring_ecosystem |
Search entire ecosystem + Spring AI | "Find RAG and embeddings 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" |
"Search for REST API documentation in Spring Boot"
"Get Spring AI ChatClient reference documentation"
"Search for RAG and embeddings in Spring AI"
"Show me Spring AI vector store documentation"
"Find Spring AI LLM integration examples"
"Search the Spring ecosystem for microservices patterns"
"Get a beginner tutorial for REST API development"
"Diagnose 'Failed to configure DataSource' error"
"Compare Spring Boot 2.7.0 and 3.0.0 breaking changes"
"Get architecture best practices for expert developers"
{
"mcpServers": {
"spring-docs": {
"command": "npx",
"args": ["@enokdev/springdocs-mcp@latest"],
"env": {
"NODE_OPTIONS": "--max-old-space-size=4096",
"REQUEST_TIMEOUT": "15000",
"MAX_RETRIES": "3"
}
}
}
}
{
"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"
}
}
}
}
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list", "params": {}}' | npx @enokdev/springdocs-mcp@latest
git clone https://github.com/tky0065/springdocs-mcp.git
cd springdocs-mcp
npm install
npm run build
npm test
# 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
# Check Node.js version (requires 18+)
node --version
# Update to latest
npm update -g @enokdev/springdocs-mcp
# Clear cache
npm cache clean --force
# Test connectivity
curl -I https://spring.io
# Check Claude Desktop config syntax
cat ~/Library/Application\ Support/Claude/claude_desktop_config.json | jq .
NODE_OPTIONS="--max-old-space-size=4096"Solution: Change port in application.properties:
server.port=8081
Solutions:
pom.xmlapplication.properties@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})#!/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"
| 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 |
# Setup development environment
git clone https://github.com/tky0065/springdocs-mcp.git
cd springdocs-mcp
npm install
npm run build
# Run tests
npm test
./test-enhanced.sh
# Submit PR
git checkout -b feature/your-feature
# Make changes
git commit -m "feat: add your feature"
git push origin feature/your-feature
# Direct usage
claude-code --mcp-server "npx @enokdev/springdocs-mcp@latest"
# With config file
claude-code --mcp-config claude-mcp-config.json
# Direct integration
gemini --mcp-server "npx @enokdev/springdocs-mcp@latest"
# With YAML config
gemini --mcp-config gemini-config.yaml
# Environment variable
export GEMINI_MCP_SERVERS='[{"name":"spring-docs","command":"npx","args":["@enokdev/springdocs-mcp@latest"]}]'
gemini "Search for Spring Boot security documentation"
// 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...
});
# 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@latest
# Test tools listing
echo '{"jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": {}}' | npx @enokdev/springdocs-mcp@latest
# Test 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:
🚀 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
Run in your terminal:
claude mcp add springdocs-mcp -- npx Security
Low riskAutomated heuristic from public metadata — not a security guarantee.