This repository demonstrates how to build a Model Context Protocol (MCP) Server using the Embabel Framework and Spring Boot. The application exposes local file system capabilities (CRUD operations) as "Tools" that external AI agents (like Claude Desktop) can connect to and utilize.
📖 Complete Guide: For detailed explanations and a full code walkthrough, read our comprehensive tutorial.
👉 Embabel Framework: How to Build MCP Server
🎥 Video Tutorial: Prefer hands-on learning? Watch our step-by-step implementation guide.
👉 YouTube Tutorial - Coming soon!!
This application showcases how to give AI agents access to tools:
- Model Context Protocol (MCP) implementation using Embabel and Spring Boot.
- Tool Exposure using Embabel's
@Exportannotation to turn Java methods into AI tools. - File System Operations allowing an AI to Create, Read, Edit, and Delete files.
- SSE (Server-Sent Events) transport layer for real-time agent communication.
Before running this application, ensure you have:
- Java 21 or higher
- OpenRouter API Key (free tier available at OpenRouter.ai)
- Node.js (Optional, required if testing with MCP Inspector)
- Claude Desktop App (Optional, for real-world agent testing)
git clone https://github.com/BootcampToProd/embabel-mcp-file-server.git
cd embabel-mcp-file-serverProvide your OpenRouter API key as an environment variable.
OPENROUTER_API_KEY={YOUR_OPENROUTER_API_KEY}mvn clean installmvn spring-boot:runThe server will start on http://localhost:8080. The MCP endpoint is exposed at /sse.
You can test the server using Claude Desktop or the MCP Inspector.
-
Open your Claude Desktop configuration file:
- Mac:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- Mac:
-
Add the following configuration:
{
"mcpServers": {
"embabel-file-manager": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"http://localhost:8080/sse"
]
}
}
}-
Restart Claude Desktop. You should see a connection icon.
-
Ask Claude: "Create a file named
hello_world.txtwith a short poem about Java."
If you want to debug the tools manually:
- Ensure the Spring Boot app is running.
- Run the inspector in your terminal:
npx @modelcontextprotocol/inspector
- In the browser window that opens:
- Select SSE.
- Enter URL:
http://localhost:8080/sse. - Click Connect and test the tools via the UI.