使用说明
Spring AI MCP课程信息服务器
概述
此存储库包含一个Spring Boot应用程序,该应用程序实现了用于提供课程信息的模型控制协议(MCP)服务器。该应用程序创建了一个轻量级服务器,可以通过Spring AI MCP框架公开课程数据,允许AI模型使用标准化工具与您的自定义数据服务进行交互。
服务器公开了两个主要工具:
- 检索所有可用课程的工具
- 按标题搜索特定课程的工具
此实现是创建自己的模型控制协议服务器或通过Spring AI将外部数据源与AI模型集成的绝佳起点。
项目需求
- Java 21
- Maven 3.8+
- 弹簧靴3.4.4
- 春季AI 1.0.0-RC1
依赖项
该项目依赖于以下关键依赖关系:
- Spring AI MCP服务器:为创建MCP兼容服务器提供基础
<dependency> <groupId>org.springframework.ai</groupId> <artifactId>spring-ai-starter-mcp-server</artifactId> </dependency>
设置项目
-
审查项目结构,了解组成部分:
Course.java:表示课程数据的简单记录CourseService.java:带有MCP工具注释的服务McpDemoApplication.java:带有工具注册的主应用程序类application.properties:MCP服务器的配置
-
该应用程序被配置为使用用于MCP通信的STDIO传输作为非web应用程序运行:
spring.main.web-application-type=none spring.ai.mcp.server.name=hasan-spring-mcp spring.ai.mcp.server.version=0.0.1 # These settings are critical for STDIO transport spring.main.banner-mode=off logging.pattern.console=
如何运行应用程序
使用Maven运行应用程序很简单:
mvn spring-boot:run
该应用程序将作为可通过标准输入/输出访问的模型控制协议服务器启动。它不打开任何网络端口或提供web界面,如 spring.main.web-application-type=none 配置。
运行时,服务器向MCP注册两个工具:
dv_get_courses:返回所有可用课程dv_get_course:按标题返回特定课程dv_search_courses:搜索包含关键字的课程
MCP工具注释
这 @Tool 注释将常规方法转换为MCP兼容工具,包括:
- 用于识别的唯一名称
- 帮助AI模型理解工具目的的描述
使用带有AI模型的MCP服务器
要将此MCP服务器与AI模型一起使用:
- 确保您的AI框架支持模型控制协议
- 使用STDIO传输将AI模型连接到MCP服务器
- 然后,AI模型可以调用公开的工具:
- 请求所有课程的列表
- 按标题检索特定课程的详细信息
这允许人工智能模型访问实时课程信息,并在响应用户查询时提供这些信息。
Claude桌面客户端的配置
要将此MCP服务器与Claude Desktop客户端一起使用,您需要添加配置以告诉Claude在哪里可以找到服务器。将以下配置添加到您的Claude Desktop设置中:
{
"hasan-spring-mcp": {
"command": "/Library/Java/JavaVirtualMachines/temurin-21.jdk/Contents/Home/bin/java",
"args": [
"-jar",
"/Users/hasankagalwala/learn/mcp-demo/target/mcp-demo-0.0.1-SNAPSHOT.jar"
]
}
}
此配置:
- 在Claude Desktop中创建名为“hasan spring mcp”的工具
- 指定Java可执行文件的路径
- 提供参数以运行编译的JAR文件
确保调整路径以匹配您的特定环境:
- 更新Java路径以匹配您的安装
- 将JAR文件路径更新到编译后的应用程序所在的位置
结论
这个Spring AI MCP服务器提供了一个干净、可扩展的框架,用于通过模型控制协议公开课程数据。通过遵循Spring AI惯例并利用工具注释系统,您可以在AI模型和数据服务之间创建强大的集成。
该项目演示了如何在保持良好软件设计实践的同时,为MCP兼容性构建代码。有了这个基础,您可以构建更复杂的数据提供者,通过访问自定义的、特定于领域的信息来增强人工智能的能力。
有关Spring AI和模型控制协议的更多信息,请参阅官方文档。