车辆数据查询服务

CarsXE MCP Server是一个模块化、可扩展的车辆数据查询和分析服务,支持从CarsXE API获取车辆规格、历史、图像、召回信息等,并提供适合聊天机器人和LLM的Markdown格式输出。

  • by carsxe
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 carsxe/carsxe-remote-mcp-server

使用说明

🚗 CarsXE MCP服务器

一个模块化、可扩展的模型上下文协议(MCP)服务器,用于查询和分析来自 CarsXE API,为LLM和聊天机器人提供美观、聊天友好的Markdown输出。


ℹ️ 什么是CarsXE MCP服务器?

CarsXE MCP服务器是 Node.js/TypeScript 该应用程序公开了一套用于从CarsXE API查询综合车辆数据的工具。它旨在与LLM(如Anthropic Claude、OpenAI GPT等)、聊天机器人和开发工具无缝集成,提供:

  • 🧩 干净的模块化代码 对于每个CarsXE端点
  • 📝 一致的、富含Markdown的输出 用于聊天/LLM环境
  • 🛡️ 稳健的错误处理 以及用户友好的消息
  • 🔌 易于扩展 用于新的端点和功能

✨ 特性

  • 🤖 使用Anthropic-Claude根据API数据和用户查询生成全面、专业的答案
  • 🚙 查询车辆规格、历史、图像、召回、市场价值等
  • 🏷️ 解码车牌和VIN(包括图像的OCR)
  • 🛠️ 解码OBD(车载诊断)代码
  • 🎨 所有端点都返回优雅的分组表情Markdown
  • 🧑‍💻 模块化代码:类型、API逻辑和格式化程序是分开的,以便于维护
  • 🧪 易于运行、测试和扩展

⚙️ 先决条件

  • Node.js v18或更高版本
  • npm (附带Node.js)
  • CarsXE API钥匙 (在这里买一个)
  • (可选) 人类克劳德API密钥 用于高级LLM集成

📦 安装

  1. 克隆存储库:

    git clone https://github.com/carsxe/carsxe-mcp.git
    cd carsxe-mcp
    
  2. 安装依赖项:

    npm install
    
  3. 设置环境变量: 创建一个名为的文件 .env 在项目根目录中:

    CARSXE_API_KEY=your_carsxe_api_key_here
    

🗂️ 项目结构

carsxe-mcp/
  build/           # Compiled JavaScript output (after build)
  src/
    formatters/    # Markdown/LLM formatters for API responses
    tools/         # Tool modules for each CarsXE API endpoint
    types/         # TypeScript type definitions for API responses
    utils/         # Utility functions (API request logic, etc.)
    index.ts       # Main MCP server entrypoint (tool registration)
  package.json     # Project metadata and dependencies
  README.md        # Project documentation (this file)
  tsconfig.json    # TypeScript configuration
  ...

🔑 如何获取和设置CarsXE API密钥

1.️⃣ 步骤1:注册CarsXE帐户

2.️⃣ 第2步:获取API密钥

  • 登录后,导航到仪表板的“开发人员”部分
  • 复制API密钥(它看起来像一个长串的字母和数字)

3.️⃣ 步骤3:在项目中设置API密钥

CARSXE_API_KEY=your_carsxe_api_key_here

⚠️ 安全警告:

  • 永远不要将真正的API密钥提交到公共存储库。
  • .env 文件仅用于本地开发,应添加到 .gitignore.
  • 将您的API密钥视为密码-保密!

4.️⃣ 步骤4:测试您的密钥

  • 运行服务器并尝试任何CarsXE工具(例如,获取车辆规格)
  • 如果出现身份验证错误,请双击API密钥和配额

🖥️ 一步一步:使用CarsXE MCP服务器安装和配置Claude桌面

按照以下步骤设置Claude Desktop并将其连接到本地CarsXE MCP服务器:

1.️⃣ 下载并安装Claude Desktop

  • 去找官方 克劳德桌面下载页面
  • 下载适用于您的操作系统(macOS、Windows或Linux)的安装程序
  • 按照屏幕上的说明安装Claude Desktop

2.️⃣ 建设CarsXE MCP项目

  • 打开终端并导航到您的 carsxe-mcp 项目目录

  • 🚀 运行:

    npm run build
    

3.️⃣ 配置Claude Desktop以使用CarsXE MCP服务器

a.打开克劳德桌面设置

  • 启动Claude Desktop应用程序
  • 点击 文件 在菜单栏中
  • 选择 设置
  • 在“设置”窗口中,转到 开发者 选项卡(您可能需要滚动或展开高级选项)
  • 点击 编辑配置 (或 打开配置文件)

b.编辑配置文件

  • 这将打开 claude_desktop_config.json 默认文本编辑器中的文件。

  • 找到 "mcpServers" 部分。如果不存在,请按如下所示添加。

  • 为CarsXE添加或更新以下条目:

    {
      "mcpServers": {
        "carsxe": {
          "command": "node",
          "args": [
            "/absolute/path/to/carsxe-mcp/build/index.js",
            "--mcp-server-name",
            "carsxe"
          ]
        }
      }
    }
    
  • 替换 /absolute/path/to/carsxe-mcp/build/index.js 与您构建的实际路径 index.js 文件。例如:

    • 在 macOS 上: /Users/yourname/carsxe-mcp/build/index.js
    • 在Windows上: C:/Users/yourname/carsxe-mcp/build/index.js
  • 提示: 您可以在下面添加多个MCP服务器 "mcpServers" 如果你使用多个。

  • 保存 打开配置文件并关闭编辑器。

c.重新启动克劳德桌面

  • 关闭并重新打开Claude Desktop应用程序以应用新配置。

4.️⃣ 验证CarsXE MCP服务器是否可用

  • 重新启动后,打开Claude Desktop。
  • 转到工具或插件部分(通常在侧边栏或工具菜单下)。
  • 你应该看看 CarsXE 列为可用的MCP服务器/工具。
  • 尝试运行CarsXE工具(例如,获取车辆规格)以验证一切正常。

🛠️ 可用工具和示例提示

下面列出了所有可用的CarsXE工具、它们的参数、预期输出和在Claude Desktop中使用的示例提示。

1. get-vehicle-specs 🚙

  • 说明: 通过VIN获取全面的车辆规格
  • 参数:
    • vin (字符串,必填):17个字符的车辆识别号
  • ⚡ 示例提示:

    获取规格 WBAFR7C57CC811956

  • 输出: Markdown格式的车辆规格(年份、品牌、型号、发动机、尺寸、颜色、设备等)

2. decode-vehicle-plate 🏷️

  • 说明: 解码车辆牌照以获取VIN和基本信息
  • 参数:
    • plate (字符串,必填):车牌号
    • state (字符串,可选):州缩写(例如CA)
    • country (字符串,必填,默认值:美国):国家代码
  • ⚡ 示例提示:

    板解码器: 7XER187 CA

  • 输出: 解码车辆信息的Markdown摘要(VIN、品牌、型号、年份等)

链式示例

  • 印版解码器→ 获取规格:
    1. 板解码器: 7XER187 CA

    2. 获取其规格

    • 首先,对车牌进行解码以获取VIN,然后使用VIN获取完整的车辆规格 get-vehicle-specs 工具。

3. international-vin-decoder 🌍

  • 说明: 解码国际VIN以获取详细信息
  • 参数:
    • vin (字符串,必填):17个字符的VIN
  • ⚡ 示例提示:

    获取规格 WF0MXXGBWM8R43240

  • 输出: 带有国际车辆详细信息(制造商、规格、排放等)的Markdown

4. get-market-value 💰

  • 说明: 通过VIN获取车辆的估计市场价值
  • 参数:
    • vin (字符串,必填):17个字符的VIN
    • state (字符串,可选):美国州缩写
    • country (字符串,可选):国家代码
  • ⚡ 示例提示:

    市场价值 WBAFR7C57CC811956

  • 输出: 带市值细分的Markdown(零售、折价、MSRP等)

5. get-vehicle-history 🕓

  • 说明: 按VIN获取全面的车辆历史报告
  • 参数:
    • vin (字符串,必填):17个字符的VIN
    • format (字符串,可选):响应格式(json或xml)
  • ⚡ 示例提示:

    车辆历史记录 WBAFR7C57CC811956

  • 输出: 带有历史记录的Markdown(垃圾/打捞、保险、品牌、标题、里程表等)

6. get-vehicle-images 🖼️

  • 说明: 按品牌、型号和过滤器获取车辆图像
  • 参数:
    • make (字符串,必填)
    • model (字符串,必填)
    • year, trim, color, transparent, angle, photoType, size, license, format (全部可选)
  • ⚡ 示例提示:

    获取a的图像 blue 2018 Toyota Tacoma

  • 输出: Markdown最多可包含5张图片(链接、缩略图、详细信息)

7. get-vehicle-recalls 🚨

  • 说明: 按VIN获取车辆召回信息
  • 参数:
    • vin (字符串,必填):17个字符的VIN
  • ⚡ 示例提示:

    获取车辆召回 1C4JJXR64PW696340

  • 输出: 带有召回详细信息(日期、描述、风险、补救措施、状态等)的Markdown

8. recognize-plate-image 🏷️

  • 说明: 从车辆图像URL中识别和提取车牌
  • 参数:
    • imageUrl (string,必填):指向车辆牌照图像的直接URL
  • ⚡ 示例提示:

    拿盘子 https://api.carsxe.com/img/apis/plate_recognition.JPG

  • 输出: 带有检测到的车牌、置信度评分、边界框、车辆类型等的Markdown。

9. vin-ocr 🔍

  • 说明: 使用OCR从车辆图像中提取VIN
  • 参数:
    • imageUrl (字符串,必填):指向车辆VIN图像的直接URL
  • ⚡示例提示:
  1. vin ocr https://user-images.githubusercontent.com/5663423/30922082-64edb4fa-a3a8-11e7-873e-3fbcdce8ea3a.png

  2. vin ocr https://res.cloudinary.com/carsxe/image/upload/q_auto/f_auto/v1713204144/base/images/vin-ocr/vin.jpg

  • 输出: 带有检测到的VIN、置信度、边界框和候选者的Markdown

10. get-year-make-model 📅

  • 说明: 按年份、品牌、型号和可选装饰获取全面的车辆信息
  • 参数:
    • year (字符串,必填)
    • make (字符串,必填)
    • model (字符串,必填)
    • trim (字符串,可选)
  • ⚡ 示例提示:

    麦克默里堡 Toyota Camry 2020

  • 输出: 带有车辆详细信息、颜色、功能、选项和包装的Markdown

11. decode-obd-code 🛠️

  • 说明: 解码OBD代码并获取诊断信息
  • 参数:
    • code (字符串,必填):OBD代码(例如P0115)
  • ⚡ 示例提示:

    obd代码 P0115

  • 输出: 带有代码、诊断和日期的Markdown

⚙️ 每种工具的工作原理

  • 所有工具 使用通用API请求实用程序(carsxeApiRequest)使用正确的端点和参数调用CarsXE API。
  • TypeScript类型 确保正确的参数和响应处理。
  • 使用格式器 将API响应转换为带有表情符号、粗体和项目符号的漂亮分组Markdown,以实现聊天/LLM兼容性。
  • 错误处理:如果API调用失败或参数无效,则所有工具都会返回用户友好的错误消息。

🧩 如何扩展或添加新端点

  1. 添加响应类型 向 src/types/carsxe.ts.
  2. 添加格式化程序 向 src/formatters/carsxe.ts 用于Markdown输出。
  3. 注册新工具 在……里面 src/index.ts:
    • 使用 carsxeApiRequest 具有正确的端点和参数。
    • 将响应传递给您的格式化程序。
  4. 重建项目
  5. 测试 带有示例数据的新工具。

📚 支持和参考

对于问题或功能请求,请在存储库上打开问题或联系维护人员。