Carsmcpserver

Carsmcpserver

🚀 里程牌协议(MCP)汽车服务器

本项目是一个基于Spring AI构建的MCP(模型上下文协议)服务器。它展示了如何利用Spring AI的ToolCallback API公开工具,从而处理Amarpreet心愿单中的车辆列表,为车辆数据的管理和交互提供了便捷的解决方案。

🚀 快速开始

运行方法

使用Maven构建项目

mvn clean install

运行应用程序

java -jar target/carsmcpserver-0.0.1-SNAPSHOT.jar

✨ 主要特性

  • 基于Spring AI构建,利用ToolCallback API将业务逻辑暴露给AI进行交互。
  • 管理Amarpreet心愿单中的车辆列表,提供获取车辆信息的多种方法。

📦 安装指南

该项目可通过Maven进行构建,具体命令如下:

mvn clean install

💻 使用示例

基础用法

CarsmcpserverApplication.java中使用ToolCallback API注册工具:

@Bean
public List amarpreetTools(CarService carService) {
return List.of(ToolCallbacks.from(carService));
}

此代码会注册CarService类中标记为@Tool的所有方法,作为ToolCallback实例。

高级用法

CarService类中初始化车辆列表:

@PostConstruct
public void init() {
log.info("Initializing cars MCP server...");
cars.addAll(List.of(
new Car("BMW Neue Klasse", 2025),
new Car("Ferrari EV", 2025),
new Car("Mercedes AMG 4dr EV", 2025),
new Car("Porsche 718 Boxster", 2025)
));
}

此代码在应用程序启动时初始化车辆列表。

📚 详细文档

演示

演示视频

项目结构

项目组织如下:

  • src/main/java/com/amarpreet/carsmcpserver/
    • CarsmcpserverApplication.java:应用程序的主要入口点,初始化应用程序并使用CarService类注册ToolCallback bean。
    • Car.java:表示汽车的简单record类,具有modelNamebuildYear两个字段。
    • CarService.java:提供与车辆列表交互的方法的服务类,这些方法通过ToolCallback API公开为工具。
  • src/main/resources/application.properties:包含Spring Boot应用程序的配置属性。
  • src/test/java/com/amarpreet/carsmcpserver/
    • CarsmcpserverApplicationTests.java:包含一个基本测试,确保应用上下文正确加载。

ToolCallback API

ToolCallback API用于将CarService类中的方法公开为工具,这些工具可以程序化调用或通过AI驱动的接口访问。

CarService

CarService类是项目的核心,管理车辆列表并提供以下方法:

getCars()

  • 工具名称get_cars
  • 描述:获取Amarpreet心愿单中的车辆列表。
  • 返回类型List

getCar(String name)

  • 工具名称get_car_by_name
  • 描述:根据型号名称查找车辆。
  • 参数
    • name:要搜索的型号名称。
  • 返回类型Car(未找到时为null

getCarByYear(Integer year)

  • 工具名称get_car_by_years
  • 描述:根据制造年份查找车辆。
  • 参数
    • year:要搜索的年份。
  • 返回类型Car(未找到时为null

配置

该项目可通过位于src/main/resources中的application.properties文件进行配置,关键属性包括:

属性 详情
spring.application.name 应用程序的名称
spring.main.web-application-type 设置为none以创建非Web应用程序
spring.ai.mcp.server MCP服务器的名称
spring.ai.mcp.version MCP服务器的版本
  • 0 关注
  • 0 收藏,29 浏览
  • system 提出于 2025-10-02 01:21

相似服务问题

相关AI产品