使用说明
🚢 带Spring Boot的MCP服务器· dan-laera-mcpserver
使用Java和Spring Boot构建的轻量级MCP(模型上下文协议)服务器,使用官方 spring-ai-starter-mcp-server 附属国。该应用程序为任何与MCP兼容的AI工具(如Claude、Cursor、Warp或IntelliJ)提供了一个完全可查询的内存图书目录。
无滞留层,无绒毛。只需干净的代码、工具注释和boom——数据就可以提供给你的AI代理。
🧠 What Is MCP?
MCP(模型上下文协议)是一个开放标准(由Anthropic率先提出),允许AI模型和工具使用简单的结构化协议(通常是STDIO上的JSON-RPC)与外部数据、API、工具和内存进行交互。
该项目作为一个独立的 MCP服务器,向支持MCP的任何主机提供图书数据和推荐逻辑。
⚙️ 技术栈
- ☕ Java 21+
- 🧰 Spring Boot
- 📦
org.springframework.ai:spring-ai-starter-mcp-server - 🧠 MCP兼容的AI工具(Claude、Warp、Cursor等)
📚 特性
| 工具名称 | 描述 |
|---|---|
dl_get_books |
获取所有可用书籍 |
dl_get_book_by_title |
按标题搜索书籍 |
dl_get_books_by_author |
列出特定作者的所有书籍 |
dl_get_books_by_genre |
按类型筛选书籍 |
dl_get_books_by_rating |
获取评级高于给定阈值的书籍 |
dl_get_best_rated_books |
排名前N的书籍(默认值:5) |
dl_get_available_books |
只有当前标记为可用的退货书籍 |
dl_search_books |
全文搜索标题、作者、描述、标签 |
dl_get_book_recommendations |
基于类型、评级和标签相似性的智能推荐 |
所有工具均暴露在外 @Tool 注释,并通过自动注册 ToolCallbacks.
🛠️ 运作原理
- 预加载列表
Book记录(JavarecordDTO) - 没有JPA/数据库--完全在内存中
- 在应用程序启动时
LibraryService在Spring AI MCP服务器上注册所有工具方法 - 当应用程序打印时
{"type":"mcp","status":"ready"}向stderr,它已经准备好发球了 - AI客户端(例如Warp或Cursor中的Claude)可以调用任何工具
🚀 运行服务器
# Package the app
./mvnw clean package
# Run the MCP server
java -jar target/mcp-server-0.0.1-SNAPSHOT.jar```