Developing a Spring AI Enhanced Restaurant Booking System Employing an API-first Approach
This multi-module project hosts a client code-generated from an OpenAPI derivative of the ResOs API combined with a Spring AI implementation. It also includes an MCP server, MCP client configuration for use with Claude and a standalone ReactJS powered chatbot UI.
Overview
Spring AI ResOs is a multi-module project that enhances restaurant booking systems using an API-first approach, integrating a client generated from an OpenAPI derivative of the ResOs API with a Spring AI implementation.
To use Spring AI ResOs, clone the repository from GitHub, build the project using Maven, and run the backend server. You can then interact with the system through a ReactJS powered chatbot UI or integrate it with various LLM providers.
- API-first design for restaurant booking - Integration with multiple LLM providers - Standalone chatbot UI for user interaction - Support for various configurations and dependencies
- Conversing with a chatbot to search for restaurants and make reservations.
- Integrating with LLM providers for enhanced user interaction.
- Building custom applications that leverage the ResOs API for restaurant management.
Add to your AI client
Use these steps to connect Developing a Spring AI Enhanced Restaurant Booking System Employing an API-first Approach in Cursor, Claude, VS Code, and other MCP-compatible apps. The same JSON appears in the Use with menu above for one-click copy.
Cursor
Add this to your .cursor/mcp.json file in your project root, then restart Cursor.
.cursor/mcp.json
{
"mcpServers": {
"spring-ai-resos-pacphi": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-spring-ai-resos-pacphi"
]
}
}
}Claude Desktop
Add this server entry to the mcpServers object in your Claude Desktop config, then restart the app.
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
{
"mcpServers": {
"spring-ai-resos-pacphi": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-spring-ai-resos-pacphi"
]
}
}
}Claude Code
Add this to your project's .mcp.json file. Claude Code will detect it automatically.
.mcp.json (project root)
{
"mcpServers": {
"spring-ai-resos-pacphi": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-spring-ai-resos-pacphi"
]
}
}
}VS Code (Copilot)
Add this to your .vscode/mcp.json file. Requires the GitHub Copilot extension with MCP support enabled.
.vscode/mcp.json
{
"servers": {
"spring-ai-resos-pacphi": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-spring-ai-resos-pacphi"
]
}
}
}Windsurf
Add this to your Windsurf MCP config file, then restart Windsurf.
~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"spring-ai-resos-pacphi": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-spring-ai-resos-pacphi"
]
}
}
}Cline
Open Cline settings, navigate to MCP Servers, and add this server configuration.
Cline MCP Settings (via UI)
{
"mcpServers": {
"spring-ai-resos-pacphi": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-spring-ai-resos-pacphi"
]
}
}
}FAQ
Can I use Spring AI ResOs without an API key?
Yes, but an API key is required if you intend to register as a restaurateur or access certain features.
Is there a specific Java version required?
Yes, Java SDK 21 or better is required to run the project.
How can I contribute to the project?
You can contribute by forking the repository, making changes, and submitting a pull request.