Spring Documentation MCP Server
Spring Boot based MCP Server provide full Spring Ecosystem Documentation for LLMs
Ask AI about Spring Documentation MCP Server
Powered by Claude Β· Grounded in docs
I know everything about Spring Documentation MCP Server. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
Spring Documentation MCP Server
A comprehensive Spring Boot application that serves as a Model Context Protocol (MCP) Server, providing AI assistants with full-text searchable access to Spring ecosystem documentation via Server-Sent Events (SSE).
What is this?
This MCP server enables AI assistants (like Claude) to search, browse, and retrieve Spring Framework documentation, code examples, and API references. It includes:
- MCP Server: SSE-based protocol implementation using Spring AI
- Documentation Sync: Automated synchronization from spring.io
- Full-Text Search: PostgreSQL-powered search across all Spring documentation
- Web Management UI: Thymeleaf-based interface for managing projects, versions, and documentation
- Code Examples: Searchable repository of Spring code snippets
Screenshots
Login - Secure authentication with Spring Security |
Dashboard - Overview statistics and quick actions |
Spring Boot - Spring Boot project management |
Projects - All Spring projects overview |
Project Details - Spring Batch project details |
Versions - Version management and tracking |
Documentation - Full-text search and browse |
Code Examples - Searchable code snippets library with language and tag filters |
Settings - Application configuration, scheduler, and sync controls |
Documentation Markdown - Expanded Spring Batch documentation content |
MCP Inspector - MCP Inspector connected to Spring Documentation MCP Server |
Claude Code Integration - Claude Code console listing all Spring Boot versions via MCP |
Spring AI Compatibility - Claude using MCP to find compatible Spring AI version for Spring Boot 3.5.7 |
Current Status
β Fully Implemented Features
MCP Tools (10 tools available)
- searchSpringDocs - Full-text search across all Spring documentation with filters
- getSpringVersions - List available versions for any Spring project
- listSpringProjects - Browse all available Spring projects
- getDocumentationByVersion - Get all documentation for a specific version
- getCodeExamples - Search code examples with language/project/version filters
- listSpringBootVersions - List Spring Boot versions with state filtering
- getLatestSpringBootVersion - Get latest patch for major.minor version
- filterSpringBootVersionsBySupport - Filter by support status (OSS/Enterprise)
- listProjectsBySpringBootVersion - List compatible projects for Spring Boot version
- findProjectsByUseCase - Search projects by use case keywords
Web Management UI
- Dashboard - Overview statistics and recent updates
- Projects - Manage Spring projects (Spring Boot, Framework, Data, Security, Cloud, etc.)
- Versions - Version management with latest/default marking
- Documentation - Browse and search documentation links with full-text search
- Code Examples - Code snippet library with tagging
- Users - User management with role-based access
- Settings - Application configuration, feature toggles, and API Key Management
- Authentication - Spring Security with session management
- API Key Management - Secure token-based authentication for MCP endpoints
Documentation Sync Services
- Automated sync from spring.io/projects
- Version detection and tracking
- Spring Boot version synchronization
- Project relationship mapping
- Spring Generations support
- Scheduled updates (configurable cron)
- Bootstrap data loading
Database Features
- PostgreSQL 18 with full-text search (tsvector)
- Flyway migrations for version control
- Optimized indexes for search performance
- Support for relationships and metadata
Prerequisites
IMPORTANT: This project requires Java 25 (LTS).
Install Java 25
Option 1: SDKMAN (Recommended)
# Install SDKMAN
curl -s "https://get.sdkman.io" | bash
# Install Java 25
sdk install java 25.0.1-tem
# Use Java 25
sdk use java 25.0.1-tem
Option 2: Download from Adoptium
- Download from: https://adoptium.net/temurin/releases/?version=25
- Install and set JAVA_HOME
Option 3: Homebrew (macOS)
brew install openjdk@25
Verify Installation
java -version
# Should show: openjdk version "25"
Quick Start
1. Start PostgreSQL Database
docker-compose up -d postgres
2. Verify Database is Running
docker-compose ps
# You should see spring-mcp-db with status "Up" and "healthy"
3. Build the Application
./gradlew clean build
4. Run the Application
java -jar build/libs/spring-mcp-server-1.0.0.jar
Or using Gradle:
./gradlew bootRun
5. Access the Application
- Web UI: http://localhost:8080
- Login: Username:
admin, Password:admin - MCP SSE Endpoint: http://localhost:8080/mcp/spring/sse
- MCP Message Endpoint: http://localhost:8080/mcp/spring/messages
API Key Authentication
Creating an API Key
API Key Management interface with secure key generation, activation/deactivation controls, and confirmation modals
The MCP endpoints are protected by secure API key authentication. To create an API key:
- Log in to the Web UI at http://localhost:8080 (Username:
admin, Password:admin) - Navigate to Settings (
/settings) - Scroll to "API Key Management" section
- Click "Create New API Key" button
- Enter details:
- Name: Unique identifier for this key (minimum 3 characters)
- Description: Optional purpose description
- Click "Create API Key"
- β οΈ IMPORTANT: Copy the API key immediately - it will only be shown once!
API Key Format: smcp_<secure-random-string> (256-bit cryptographically secure)
Security Features:
- Keys are hashed using BCrypt (cost factor 12) - never stored in plain text
- Support for activate/deactivate (soft delete)
- Last used timestamp tracking for auditing
Using API Keys
API keys can be provided in three ways (in order of preference):
-
X-API-Key Header (Recommended):
curl -H "X-API-Key: smcp_your_key_here" http://localhost:8080/mcp/spring/sse -
Authorization Bearer Header:
curl -H "Authorization: Bearer smcp_your_key_here" http://localhost:8080/mcp/spring/sse -
Query Parameter (Testing only - less secure):
curl "http://localhost:8080/mcp/spring/sse?api_key=smcp_your_key_here"
Testing the MCP Server
Option 1: MCP Inspector (Recommended for Testing)
MCP Inspector is an excellent tool for testing and debugging MCP servers. It provides a visual interface to test all MCP capabilities.
Install and Run MCP Inspector
npx @modelcontextprotocol/inspector
This will start the MCP Inspector and output something like:
Starting MCP inspector...
Proxy server listening on localhost:6277
Session token: 3c672c3389d66786f32ffe2f90d6d2116634bef316a09198fb6e933a5eeefe2b
MCP Inspector is up and running at:
http://localhost:6274/?MCP_PROXY_AUTH_TOKEN=3c672c3389d66786f32ffe2f90d6d2116634bef316a09198fb6e933a5eeefe2b
Configure MCP Inspector
- Open the MCP Inspector URL in your browser
- Select "SSE" as the Transport Type
- Enter the URL:
http://localhost:8080/mcp/spring/sse - Add Headers (click "Add Header"):
- Header Name:
X-API-Key - Header Value:
smcp_your_api_key_here(your actual API key)
- Header Name:
- Click "Connect"
Once connected, you can:
- List Tools: View all 10 available MCP tools
- Test Tools: Execute tools with parameters and see responses
- View Logs: See real-time communication between client and server
- Debug Issues: Inspect request/response payloads
Example: Testing searchSpringDocs Tool
In MCP Inspector:
- Navigate to the "Tools" tab
- Select "searchSpringDocs" tool
- Fill in parameters:
{ "query": "autoconfiguration", "project": "spring-boot", "version": "3.5.7" } - Click "Execute"
- View the typed response with all documentation results
Option 2: Claude Desktop/Claude Code
Add to your Claude Desktop or Claude Code MCP configuration (.mcp.json):
{
"mcpServers": {
"spring-documentation": {
"type": "sse",
"url": "http://localhost:8080/mcp/spring/sse",
"headers": {
"X-API-Key": "YOUR_API_KEY_HERE"
}
}
}
}
Configuration Steps:
- Create or edit
.mcp.jsonin your project root or Claude Code configuration directory - Replace
YOUR_API_KEY_HEREwith your actual API key from the Settings page - Restart Claude Code to load the new MCP server
- The Spring Documentation tools will be available in your Claude Code session
Note: The API key format is smcp_<random-string>. Get your key from the Web UI Settings page.
Available MCP Tools
Once connected, the following 10 tools are available to AI assistants:
Documentation Tools
1. searchSpringDocs
Search across all Spring documentation with optional filters.
Parameters:
query(required): Search termproject(optional): Project slug (e.g.,spring-boot)version(optional): Version string (e.g.,3.5.7)docType(optional): Documentation type (e.g.,reference,api)
Example:
{
"query": "autoconfiguration",
"project": "spring-boot",
"version": "3.5.7"
}
2. getSpringVersions
List all available versions for a Spring project.
Parameters:
project(required): Project slug
Example:
{
"project": "spring-boot"
}
3. listSpringProjects
List all available Spring projects.
No parameters required.
4. getDocumentationByVersion
Get all documentation for a specific project version.
Parameters:
project(required): Project slugversion(required): Version string
Example:
{
"project": "spring-framework",
"version": "6.2.1"
}
5. getCodeExamples
Search code examples with filters.
Parameters:
query(optional): Search in title/descriptionproject(optional): Project slugversion(optional): Version stringlanguage(optional): Programming languagelimit(optional): Max results (default: 10, max: 50)
Example:
{
"query": "REST controller",
"project": "spring-boot",
"language": "java",
"limit": 20
}
Spring Boot Version Tools
6. listSpringBootVersions
List all Spring Boot versions with optional filtering.
Parameters:
state(optional): Filter by state ('GA', 'RC', 'SNAPSHOT', 'MILESTONE')limit(optional): Max results (default: 20, max: 100)
Example:
{
"state": "GA",
"limit": 10
}
7. getLatestSpringBootVersion
Get the latest patch version for a specific Spring Boot major.minor version.
Parameters:
majorVersion(required): Major version (e.g., 3)minorVersion(required): Minor version (e.g., 5)
Example:
{
"majorVersion": 3,
"minorVersion": 5
}
8. filterSpringBootVersionsBySupport
Filter Spring Boot versions by support status.
Parameters:
supportActive(optional): true for supported, false for end-of-lifelimit(optional): Max results (default: 20, max: 100)
Example:
{
"supportActive": true,
"limit": 20
}
9. listProjectsBySpringBootVersion
List all Spring projects compatible with a specific Spring Boot version.
Parameters:
majorVersion(required): Spring Boot major versionminorVersion(required): Spring Boot minor version
Example:
{
"majorVersion": 3,
"minorVersion": 5
}
10. findProjectsByUseCase
Search for Spring projects by use case keywords.
Parameters:
useCase(required): Use case keyword (e.g., 'data access', 'security', 'messaging')
Example:
{
"useCase": "security"
}
Configuration
Environment Variables
# Database Configuration
export DB_HOST=localhost
export DB_PORT=5432
export DB_NAME=spring_mcp
export DB_USER=postgres
export DB_PASSWORD=postgres
# Security
export ADMIN_USER=admin
export ADMIN_PASSWORD=changeme
# Server
export SERVER_PORT=8080
# Documentation Bootstrap
export BOOTSTRAP_DOCS=false # Set to true to load sample data on startup
Application Configuration
Key configuration in src/main/resources/application.yml:
spring:
ai:
mcp:
server:
name: "spring-documentation-server"
type: "sync"
version: "1.0.0"
instructions: |
Spring Documentation MCP Server provides comprehensive access...
sse-endpoint: /mcp/spring/sse
sse-message-endpoint: /mcp/spring/messages
capabilities:
tool: true
completion: false
prompt: false
resource: false
mcp:
documentation:
fetch:
enabled: true
schedule: "0 0 2 * * ?" # Daily at 2 AM
bootstrap:
enabled: ${BOOTSTRAP_DOCS:false}
on-startup: false
projects:
- spring-boot
- spring-framework
- spring-data
- spring-security
- spring-cloud
search:
max-results: 50
default-limit: 20
Technology Stack
Core Framework
- Spring Boot: 3.5.7
- Java: 25 (LTS)
- Build Tool: Gradle 9.2.0
MCP Protocol
- Spring AI MCP Server: 1.0.3
- Protocol: Server-Sent Events (SSE)
- Auto-discovery:
@Toolannotations
Data Layer
- Database: PostgreSQL 18
- ORM: Spring Data JPA / Hibernate 6.6
- Migrations: Flyway
- Full-Text Search: PostgreSQL tsvector + tsquery
UI Layer
- Template Engine: Thymeleaf 3.1
- Layout: Thymeleaf Layout Dialect
- CSS Framework: Bootstrap 5
- Security: Spring Security 6 (Spring Security Extras for Thymeleaf)
Documentation Fetching
- HTML Parsing: JSoup 1.21.2
- JavaScript Support: HtmlUnit 4.18.0
- HTML to Markdown: Flexmark 0.64.8
- HTTP Client: Spring WebFlux WebClient
Security & Monitoring
- Authentication: Spring Security Basic Auth
- Session Management: HTTP Session
- Health Checks: Spring Boot Actuator
- Logging: Logback
Project Structure
spring-mcp-server/
βββ src/main/java/com/spring/mcp/
β βββ config/ # Spring configuration
β β βββ CacheConfig.java # Caching configuration
β β βββ McpConfig.java # MCP server tool registration
β β βββ McpHealthIndicator.java # Health check for MCP server
β β βββ SecurityConfig.java # Security & authentication
β β βββ StartupSyncRunner.java # Startup sync initialization
β β βββ WebClientConfig.java # WebClient for HTTP requests
β β βββ WebMvcConfig.java # Web MVC configuration
β βββ controller/
β β βββ advice/ # Controller advice
β β β βββ GlobalModelAttributesAdvice.java # Global model attributes
β β βββ api/ # REST API controllers
β β β βββ DocumentationApiController.java
β β β βββ McpTestController.java
β β βββ web/ # Web UI controllers
β β βββ BootstrapController.java
β β βββ DashboardController.java
β β βββ DocumentationController.java
β β βββ ExamplesController.java
β β βββ ProjectsController.java
β β βββ SettingsController.java
β β βββ SpringBootController.java
β β βββ SyncController.java
β β βββ UsersController.java
β β βββ VersionsController.java
β βββ model/
β β βββ entity/ # JPA entities
β β β βββ ApiKey.java
β β β βββ CodeExample.java
β β β βββ DocumentationContent.java
β β β βββ DocumentationLink.java
β β β βββ DocumentationType.java
β β β βββ ExternalDoc.java
β β β βββ McpConnection.java
β β β βββ McpRequest.java
β β β βββ ProjectRelationship.java
β β β βββ ProjectVersion.java
β β β βββ SchedulerSettings.java
β β β βββ Settings.java
β β β βββ SpringBootCompatibility.java
β β β βββ SpringBootVersion.java
β β β βββ SpringProject.java
β β β βββ User.java
β β βββ dto/ # Data Transfer Objects
β β βββ mcp/ # MCP response DTOs
β β β βββ SearchDocsResponse.java
β β β βββ VersionsResponse.java
β β β βββ ProjectsListResponse.java
β β β βββ DocumentationByVersionResponse.java
β β β βββ CodeExamplesResponse.java
β β β βββ SpringBootVersionsResponse.java
β β β βββ LatestSpringBootVersionResponse.java
β β β βββ FilteredSpringBootVersionsResponse.java
β β β βββ ProjectsBySpringBootVersionResponse.java
β β β βββ ProjectsByUseCaseResponse.java
β β βββ ... (other DTOs)
β βββ repository/ # Spring Data JPA repositories
β β βββ ApiKeyRepository.java
β β βββ CodeExampleRepository.java
β β βββ DocumentationContentRepository.java
β β βββ DocumentationLinkRepository.java
β β βββ DocumentationTypeRepository.java
β β βββ ExternalDocRepository.java
β β βββ McpConnectionRepository.java
β β βββ McpRequestRepository.java
β β βββ ProjectRelationshipRepository.java
β β βββ ProjectVersionRepository.java
β β βββ SchedulerSettingsRepository.java
β β βββ SpringBootCompatibilityRepository.java
β β βββ SpringBootVersionRepository.java
β β βββ SpringProjectRepository.java
β β βββ UserRepository.java
β βββ service/
β β βββ tools/
β β β βββ SpringDocumentationTools.java # MCP @Tool methods
β β βββ documentation/
β β β βββ DocumentationFetchService.java
β β β βββ DocumentationService.java
β β βββ indexing/ # Content indexing services
β β β βββ CodeExampleExtractor.java
β β β βββ DocumentationIndexer.java
β β βββ mcp/
β β β βββ McpRequestLoggerService.java
β β βββ scheduler/ # Scheduler services
β β β βββ SchedulerService.java
β β βββ sync/ # Documentation sync services
β β β βββ ComprehensiveSyncService.java
β β β βββ DocumentationSyncService.java
β β β βββ ProjectSyncService.java
β β β βββ SpringBootVersionSyncService.java
β β β βββ SpringGenerationsSyncService.java
β β β βββ SpringProjectPageCrawlerService.java
β β βββ version/
β β β βββ VersionDetectionService.java
β β βββ bootstrap/
β β β βββ DocumentationBootstrapService.java
β β βββ ApiKeyService.java
β β βββ CodeExampleService.java
β β βββ ExternalDocService.java
β β βββ ProjectRelationshipService.java
β β βββ ProjectService.java
β β βββ SettingsService.java
β β βββ SpringBootCompatibilityService.java
β β βββ SpringBootService.java
β β βββ UserService.java
β βββ SpringMcpServerApplication.java
βββ src/main/resources/
β βββ db/migration/ # Flyway database migrations
β β βββ V1__init.sql # Consolidated initial schema
β βββ templates/ # Thymeleaf templates
β β βββ layouts/ # Page layouts
β β βββ fragments/ # Reusable fragments
β β βββ dashboard/
β β βββ projects/
β β βββ versions/
β β βββ documentation/
β β βββ examples/
β β βββ users/
β β βββ settings/
β βββ static/ # CSS, JS, images
β β βββ css/
β β βββ js/
β β βββ images/
β βββ application.yml # Application configuration
βββ docker-compose.yml # PostgreSQL service
βββ build.gradle # Gradle build configuration
Database Schema
Core Tables
- spring_projects - Spring ecosystem projects (Boot, Framework, Data, etc.)
- project_versions - Version tracking with state (STABLE, RC, SNAPSHOT)
- documentation_types - Types of documentation (Reference, API, Guide, Tutorial)
- documentation_links - Links to documentation resources
- documentation_content - Cached documentation with full-text search index
- code_examples - Code snippets with tags and metadata
- users - Application users with roles
- settings - Application-wide settings
Full-Text Search
PostgreSQL tsvector is used for efficient full-text search:
-- Search query example
SELECT dl.id
FROM documentation_content dc
JOIN documentation_links dl ON dc.link_id = dl.id
WHERE dc.indexed_content @@ plainto_tsquery('english', 'spring boot autoconfiguration')
ORDER BY ts_rank_cd(dc.indexed_content, plainto_tsquery('english', 'spring boot autoconfiguration')) DESC
Development
Running Tests
./gradlew test
Running with Dev Tools
./gradlew bootRun
# Dev tools will auto-reload on file changes
Database Migrations
View migration status:
./gradlew flywayInfo
Migrations are applied automatically on startup. Manual migration:
./gradlew flywayMigrate
Cleaning Build
./gradlew clean
./gradlew build --refresh-dependencies
API Endpoints
Web UI
GET /- DashboardGET /projects- Projects listGET /versions- Versions listGET /documentation- Documentation list with searchGET /examples- Code examplesGET /users- User management (Admin only)GET /settings- Application settings
REST API
GET /api/documentation/{id}/content- Get documentation contentGET /api/documentation/{id}/markdown- Get documentation as MarkdownPOST /api/sync/comprehensive- Trigger comprehensive syncPOST /api/sync/projects- Sync projectsPOST /api/sync/versions- Sync versions
MCP Protocol
- SSE Endpoint:
/mcp/spring/sse(connection endpoint) - Message Endpoint:
/mcp/spring/messages(messaging endpoint) - Authentication: API Key (X-API-Key header, Bearer token, or query parameter)
Health & Monitoring
GET /actuator/health- Health checkGET /actuator/info- Application infoGET /actuator/metrics- Metrics
Features in Detail
Documentation Synchronization
The system can automatically sync documentation from spring.io:
- Project Discovery: Crawls spring.io/projects to discover projects
- Version Detection: Detects available versions for each project
- Documentation Fetching: Downloads and parses documentation HTML
- Content Conversion: Converts HTML to searchable Markdown
- Indexing: Builds PostgreSQL full-text search index
- Scheduling: Runs daily updates (configurable)
Trigger manual sync via Web UI:
- Settings page β "Sync Documentation" button
- Or use REST API:
POST /api/sync/comprehensive
Full-Text Search
Search features:
- Natural language queries via
plainto_tsquery - Relevance ranking with
ts_rank_cd - Filter by project, version, documentation type
- Pagination support
- Highlighted snippets (planned)
Code Examples
The Code Examples feature provides a searchable repository of Spring code snippets that can be accessed both through the MCP server and the web UI.
Features:
- Rich Code Snippets: Store complete code examples with syntax highlighting
- Title & Description: Each example has a descriptive title and detailed explanation
- Language Support: Tag examples with programming language (Java, Kotlin, Groovy, XML, YAML, etc.)
- Category Organization: Organize examples into logical categories (Configuration, REST API, Data Access, Security, etc.)
- Tag System: Multiple tags per example for enhanced discoverability
- Version Association: Link examples to specific Spring project versions
- Source Tracking: Reference original source URLs for attribution
- Full-Text Search: Search across titles, descriptions, and code content
- MCP Integration: Available via
getCodeExamplestool for AI assistants
Use Cases:
- Quick reference for common Spring patterns
- Learning Spring best practices
- Sharing code snippets with team members
- Building a knowledge base of working examples
- AI-assisted code generation with real examples
Scheduler Configuration
The built-in scheduler allows you to automate documentation synchronization on a configurable schedule.
Configuration (Settings Page):
- Enable/Disable Sync: Toggle automatic synchronization on or off
- Sync Time: Set the daily sync time in 24-hour or 12-hour format (e.g., "03:00" or "3:00 AM")
- Time Format: Choose between 24-hour (military) or 12-hour (AM/PM) time display
- Next Sync Run: View when the next scheduled synchronization will occur
- Last Sync Run: Track when the last successful sync completed
- Manual Trigger: Run synchronization immediately via "Sync Now" button
How It Works:
- The scheduler runs a comprehensive documentation sync at the configured time
- Synchronization includes:
- Spring project metadata updates
- New version detection
- Documentation link discovery
- Spring Boot version compatibility mapping
- Spring Generations tracking
- All sync operations are logged for troubleshooting
- Failed syncs are reported in the application logs
Best Practices:
- Schedule syncs during low-traffic periods (e.g., 2-4 AM)
- Allow sufficient time between syncs (daily is recommended)
- Monitor logs after scheduling changes to ensure proper operation
- Use manual sync for immediate updates when needed
Troubleshooting
Java Version Issues
Error: "Unsupported class file major version"
Solution:
java -version # Verify Java 25
echo $JAVA_HOME # Ensure JAVA_HOME points to Java 25
Database Connection Issues
Check PostgreSQL:
docker-compose ps
docker-compose logs postgres
Verify connection:
psql -h localhost -U postgres -d spring_mcp
# Password: postgres
Build Issues
Clean and rebuild:
./gradlew clean build --refresh-dependencies
Port Already in Use
Kill process on port 8080:
lsof -ti :8080 | xargs kill -9
MCP Connection Issues
-
Verify application is running:
curl http://localhost:8080/actuator/health -
Check MCP endpoint with API key:
curl -H "X-API-Key: your_api_key" http://localhost:8080/mcp/spring/sse -
Test with MCP Inspector:
npx @modelcontextprotocol/inspectorThen configure with URL:
http://localhost:8080/mcp/spring/sseand your API key header. -
Review application logs:
tail -f logs/spring-mcp-server.log -
Check registered tools:
grep "Registered tools" logs/spring-mcp-server.log # Should show: Registered tools: 10
Roadmap
Completed β
- Spring Boot 3.5.7 project setup
- PostgreSQL database with Docker Compose
- Flyway migrations
- Entity models and repositories
- Spring Security with API Key authentication
- Thymeleaf UI with Bootstrap 5
- MCP Server with Spring AI (SSE-based)
- 10 MCP tools implemented with typed DTOs
- Full-text search with PostgreSQL
- Documentation sync services
- Version detection and tracking
- Web management UI (all pages)
- User management
- Settings management
- API Key management with BCrypt encryption
- Code examples repository
- Spring Boot version compatibility tracking
- Scheduler configuration for automated syncs
In Progress π§
- Comprehensive documentation coverage for all Spring projects
- Enhanced search with highlighting and snippets
- More code examples across Spring ecosystem
- Performance optimization for large result sets
Planned π
- Semantic search using embeddings
- Version comparison and diff
- Migration guides between versions
- Export features (PDF, Markdown)
- Analytics and usage tracking
- Multi-language documentation support
- Offline mode
- Air-Gapped Replication Mode for cascaded setups
- Additional MCP resources (prompts, completions)
- GitHub integration for code samples
- Spring Initializr integration
Contributing
This is a demonstration/reference MCP server implementation. Contributions are welcome!
Areas for contribution:
- Additional Spring project coverage
- Enhanced search algorithms
- UI/UX improvements
- Performance optimizations
- Documentation
- Test coverage
License
This project is licensed under the MIT License - see the LICENSE file for details.
Resources
- Spring AI MCP Server Docs: https://docs.spring.io/spring-ai/reference/api/mcp/mcp-overview.html
- MCP Protocol Specification: https://spec.modelcontextprotocol.io/
- Spring Documentation: https://spring.io/projects
