About spring-ai-mcp-server
spring-ai-mcp-server is a Java MCP stack demo built with Spring Boot and Spring AI, including authorization, server, client, and an Angular chatbot. It demonstrates an end-to-end flow with OAuth2 sign-in and approval of tool calls.
Key features
- 01Java and Spring Boot MCP demos
- 02Authorization server, client, and server
- 03Angular chatbot interface
- 04OAuth2 sign-in and tool approval
- 05Scripts to start the full stack
Use cases
- 01Run a complete MCP demo stack locally
- 02Observe chatbot-to-MCP tool calls
- 03Demonstrate OAuth2 authentication
MCP support
The project includes an MCP server and client, with the client connecting to the server. The Angular chatbot supports conversations and tool-call approval.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMESpring AI MCP Demos
This is a whole MCP stack written in Java with Spring Boot 4.0.x and Spring AI. It implements several demos for the MCP server, MCP client and an Angular chatbot using deep-chat.

Prepare your LLM
Edit the mcp-client/src/main/resources/application.yaml file and set your OpenAI settings.
If you want to use a local model, you could also configure Ollama.
Starting the whole Stack
Two convenience scripts are provided at the repository root to start all four services at once: the OAuth2 authorization server, the MCP server, the MCP client and the Angular chatbot.
- Windows:
start-all.bat- Opens one console window per service (auth server, MCP server, MCP client, chatbot). Close a window (or press Ctrl+C in it) to stop that service.
- Linux/macOS:
./start-all.sh- Runs all services as background jobs of the script and writes their
output to
logs/*.log. Press Ctrl+C to stop everything.
- Runs all services as background jobs of the script and writes their
output to
Both scripts start the services in this order, with short delays so each service is ready before the next one that depends on it starts:
- MCP Authorization Server — http://localhost:9000
- MCP Server — http://localhost:8082
- MCP Client — http://localhost:8083
- MCP Chatbot (Angular) — http://localhost:4200
How to use the Chatbot
- Open http://localhost:4200 in a browser.
- Click Sign in and log in with the demo user:
- Username:
[email protected] - Password:
john
- Username:
- After a successful login you are redirected back to the app, the toolbar shows John Doe, and the deep-chat window connects to the mcp-client so you can start chatting.
- Ask "Which movie is Kai's favorite quote from?"
- Approve the tool call in the Chatbot
- The chatbot will call the MCP client, which calls the MCP server, which calls the OpenAI API to get the answer.
- Try "What's the weather in Munich?" to see mcp-client ask for your preferred temperature unit before calling the tool, or "What's the weather in Munich in Fahrenheit?" to see it skip that question when you already specified a unit.
Licenses
- mcp-authorization-server is licensed under the Apache License, Version 2.0
- mcp-client is licensed under the Apache License, Version 2.0
- mcp-server is licensed under the Apache License, Version 2.0
- mcp-chatbot is licensed under the MIT License
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.