spring-documentation
Spring Boot based MCP Server provide full Spring Ecosystem Documentation for LLMs
claude mcp add --transport stdio akvdevav-spring-documentation-mcp-server java -jar build/libs/spring-mcp-server-1.0.0.jar
How to use
This MCP server provides access to Spring Framework documentation via a dedicated SSE-based MCP endpoint. Once running, you can query and browse Spring documentation, code examples, and API references through the MCP tools exposed by the server, and you can manage documentation synchronization through the web UI. The server exposes an MCP SSE endpoint at /mcp/spring/sse for streaming context responses and a messages endpoint at /mcp/spring/messages for structured chat-like interactions. Use the Web Management UI to configure projects, versions, and documentation sources, and then leverage the MCP tools to search, filter, and retrieve documentation content across Spring ecosystem topics.
How to install
Prerequisites
- Java 25 (LTS)
- PostgreSQL 18+ (for full-text search and data storage) or a compatible configured database
- Optional: Docker and docker-compose for quick PostgreSQL setup
Install steps
- Install Java 25
- Follow one of the options in the project README (SDKMAN, Adoptium Temurin, or Homebrew) and verify:
java -version
- Set up PostgreSQL (local or via Docker)
- If using Docker:
docker-compose up -d postgres
- Ensure PostgreSQL is running and accessible (default user/db as configured by the project).
- Build the application
./gradlew clean build
- Run the MCP server
java -jar build/libs/spring-mcp-server-1.0.0.jar
- Access the Web UI and MCP endpoints
- Web UI: http://localhost:8080
- MCP SSE Endpoint: http://localhost:8080/mcp/spring/sse
- MCP Message Endpoint: http://localhost:8080/mcp/spring/messages
Notes
- If you change database settings, configure the appropriate environment variables or application.properties as needed for your deployment.
- Ensure the PostgreSQL schema/migrations are applied (Flyway migrations during startup).
Additional notes
Tips and considerations:
- The server uses a web UI for management (projects, versions, documentation, users, API keys).
- For production, configure API keys and security settings in Settings to protect MCP endpoints.
- If you run in Docker or Kubernetes, consider externalizing DB connections and using a managed PostgreSQL service.
- Environment variables you may encounter include SPRING_PROFILES_ACTIVE, DATABASE_URL, DATABASE_USER, DATABASE_PASSWORD, and any custom configuration keys defined by the application.
- When syncing documentation, verify cron/scheduling settings to keep the local docs up to date with spring.io sources.