spring-mcp-bridge
Spring MCP Bridge is a tool that automatically converts REST endpoints from Spring Boot applications into an MCP (Message Conversation Protocol) server, allowing AI assistants like Claude, Cursor, and other MCP-compatible tools to directly interact with your APIs.
GitHub Stars
3
User Rating
Not Rated
Forks
2
Issues
1
Views
0
Favorites
0
Spring MCP Bridge
Spring MCP Bridge is a tool that automatically converts REST endpoints from Spring Boot applications into an MCP (Message Conversation Protocol) server, allowing AI assistants like Claude, Cursor, and other MCP-compatible tools to directly interact with your APIs.
*It does not currently include authentication. If your Spring Boot API requires authentication, you will need to modify the handler code to include the appropriate headers or tokens.
๐ Overview
Integrating existing APIs with AI assistants typically requires manual coding or complex configuration. Spring MCP Bridge eliminates this complexity by automatically scanning your Spring Boot project and generating a ready-to-use MCP server.
โจ Features
- Automatic Scanning: Discovers all REST endpoints (@RestController, @GetMapping, etc.)
- Zero Configuration: No modifications needed to existing Spring Boot code
- Model Preservation: Maintains request and response models as MCP tools
- Javadoc Extraction: Uses existing documentation to enhance MCP tool descriptions
- Complete Documentation: Generates README and clear instructions for use
๐ Installation
# Clone the repository
git clone https://github.com/brunosantos/spring-mcp-bridge.git
# Enter the directory
cd spring-mcp-bridge
๐ ๏ธ Usage
- Scan your Spring Boot project:
python spring_boot_mcp_converter.py --project /path/to/spring-project --output ./mcp_server --name MyAPI
- Run the generated MCP server:
cd mcp_server
pip install -r requirements.txt
python main.py
- Connect via MCP client:
- Configure your MCP client (Claude, Cursor, etc.) to use
http://localhost:8000
- The MCP schema will be available at
http://localhost:8000/.well-known/mcp-schema.json
- Configure your MCP client (Claude, Cursor, etc.) to use
๐ Arguments
Argument | Description | Default |
---|---|---|
--project |
Path to Spring Boot project | (required) |
--output |
Output directory | ./mcp_server |
--name |
Application name | SpringAPI |
--debug |
Enable debug logging | False |
๐ป Example
python spring_mcp_bridge.py --project ~/projects/my-spring-api --output ./mcp_server --name MyAPI
The tool will:
- Scan the Spring Boot project for REST controllers
- Identify model types, parameters, and return types
- Generate a fully functional MCP server in Python/FastAPI
- Create a compatible MCP schema that describes all endpoints
๐ How It Works
- Scanning: Analyzes Java source code to extract metadata from REST endpoints
- Conversion: Converts Java types to JSON Schema types for MCP compatibility
- Generation: Creates a FastAPI application that maps MCP calls to Spring REST calls
- Forwarding: Routes requests from MCP client to the Spring Boot application
๐ Spring Boot Features Supported
- REST Controllers (
@RestController
,@Controller
) - HTTP Methods (
@GetMapping
,@PostMapping
,@PutMapping
,@DeleteMapping
,@PatchMapping
) - Request Parameters (
@RequestParam
) - Path Variables (
@PathVariable
) - Request Bodies (
@RequestBody
) - Java Models and DTOs
โ๏ธ Configuration
The generated MCP server can be configured by editing the main.py
file:
# The Spring Boot base URL - modify this to match your target API
SPRING_BASE_URL = "http://localhost:8080"
๐งช Testing
To test the MCP server:
- Ensure your Spring Boot application is running
- Start the MCP server
- Visit
http://localhost:8000/docs
to see the FastAPI documentation - Check the MCP schema at
http://localhost:8000/.well-known/mcp-schema.json
- Connect with an MCP client like Claude
๐ค Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐จโ๐ป Author
Bruno Santos
๐ Acknowledgments
- Inspired by FastAPI-MCP and the growing ecosystem of MCP-compatible tools
- Thanks to the Spring Boot and FastAPI communities
Software Engineer with 20 years of experience programming in Java and various technologies. Here I demonstrate my expertise and hands-on experience.
13
Followers
28
Repositories
0
Gists
1
Total Contributions