mcpField
C
CarsXE

CarsXE

远程服务
github.com/carsxe其他12 天前更新
代码仓库

关于 CarsXE

CarsXE 是通过 MCP 查询车辆数据的服务,面向聊天机器人、LLM 和开发工具。它涵盖车辆规格、历史、召回、估值等信息,并提供结构化数据与 Markdown 输出。

主要功能

  1. 01查询车辆规格、历史与召回
  2. 02解码车牌和国际 VIN
  3. 03获取车辆图片与市场估值
  4. 04解码 OBD 故障码
  5. 05提供 Markdown 与结构化结果
  6. 06提供车辆、估值和召回卡片渲染

适用场景

  1. 01购车前核查 VIN、历史和召回
  2. 02按车牌识别车辆信息
  3. 03估算车辆市场价值
  4. 04在支持的宿主中显示车辆数据卡片

MCP 相关

CarsXE 通过远程 MCP 服务向客户端公开车辆查询工具及专用渲染工具,支持以 API 密钥认证。数据工具返回 Markdown 和结构化内容。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.carsxe.com/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

12
参数类型必填说明
vinstring是17 位车辆识别码

详细介绍

🚗 CarsXE MCP 服务

一个模块化、可扩展的 Model Context Protocol(MCP)服务,用于查询和分析来自 CarsXE 的车辆数据,并为大模型和聊天机器人提供美观、适合聊天阅读的 Markdown 输出。

产品

ℹ️ 什么是 CarsXE MCP 服务?

CarsXE MCP 服务是一个 Node.js/TypeScript 应用,可提供一套工具,用于从 CarsXE 查询全面的车辆数据。它旨在与大模型(如 Anthropic Claude、OpenAI GPT 等)、聊天机器人和开发者工具无缝集成,并提供:

  • 🧩 每个 CarsXE 端点都有简洁、模块化的代码
  • 📝 适用于聊天/大模型环境的一致、内容丰富的 Markdown 输出
  • 🛡️ 可靠的错误处理和便于用户理解的提示
  • 🔌 便于添加新端点和功能,轻松扩展

💡 为什么通过 MCP 使用 CarsXE?

通过 MCP 将 CarsXE 连接到 AI 编辑器或聊天客户端,即可直接在你惯用的工具中畅享增强的车辆数据体验:

优势说明
用日常语言提问无需了解 API 端点或参数,只需描述你的需求
结合上下文回答AI 会将实时车辆数据与问题结合,给出针对性强、可付诸行动的回答
无需切换标签页无需离开编辑器或聊天界面,即可获取 VIN 规格、历史记录、召回信息和估值
轻松串联请求解码车牌 → 获取完整规格 → 检查召回信息 → 获取市场价值,全部在一次对话中完成
始终获取实时数据每次查询都会实时调用 CarsXE API,不会返回过期缓存或过时结果
兼容你喜爱的编辑器Claude Desktop、Cursor、VS Code、Windsurf,以及任何兼容 MCP 的客户端

✨ 功能

  • 🤖 使用 Anthropic Claude,根据 API 数据和用户查询生成全面、专业的回答
  • 🚙 查询车辆规格、历史记录、图片、召回信息、市场价值等
  • 🏷️ 解码车牌和国际 VIN(包括从图片中进行 OCR 识别)
  • 🛠️ 解码 OBD(车载诊断)代码
  • 🎨 所有端点均返回优雅、分组清晰且富含表情符号的 Markdown
  • 🧩 ChatGPT / MCP Apps 宿主可通过专用渲染工具展示车辆、市场价值和召回信息卡片
  • 🧑‍💻 模块化代码:类型、API 逻辑和格式化程序彼此分离,便于维护
  • 🧪 易于运行、测试和扩展

⚙️ 前提条件

CarsXE API 密钥(在此获取)


🖥️ 按编辑器安装

所有编辑器都使用相同的远程 MCP 端点。请在下方每个配置中,将 YOUR_API_KEY 替换为你实际的 CarsXE API 密钥。


Cursor Marketplace / Grok Bot

列出后,请从 Cursor Marketplace 安装 CarsXE(Grok Bot 使用相同的目录)。然后打开 Plugins → Configure,并设置 CARSXE_API_KEY,其值来自 CarsXE 开发者控制面板。请勿将真实密钥提交到代码库或粘贴到代码库中。

下方的 Cursor 深层链接仍可作为备用方案。


Claude Desktop
1️⃣ 下载并安装 Claude Desktop
  • 前往官方 Claude Desktop 下载页面
  • 下载适用于你的操作系统(macOS、Windows 或 Linux)的安装程序
  • 按照屏幕上的说明安装 Claude Desktop
2️⃣ 配置 Claude Desktop 以使用 CarsXE MCP 服务

a. 打开 Claude Desktop 设置

  • 启动 Claude Desktop 应用
  • 点击菜单栏中的 Claude
  • 选择 Settings
  • 在 Settings 窗口中,前往 Developer 选项卡(你可能需要滚动或展开高级选项)
  • 点击 Edit Config(或 Open Config File)

b. 编辑配置文件

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

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

  • 添加或更新 CarsXE 对应的条目:

    "mcpServers": {
      "carsxe": {
        "command": "npx",
        "args": [
          "mcp-remote@latest",
          "https://mcp.carsxe.com/mcp",
          "--header",
          "X-API-Key: YOUR_API_KEY"
        ]
      }
    },
    
  • 将 YOUR_API_KEY 替换为你的实际 CarsXE API Key

  • 提示: 如果使用多个 MCP 服务,可以在 "mcpServers" 下添加多个服务。

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

c. 重启 Claude Desktop

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

    更改可能需要短暂等待才能生效。

3️⃣ 验证 CarsXE MCP 服务是否可用
  • 重启后,打开 Claude Desktop。
  • 前往工具或插件区域(通常位于搜索栏中或工具菜单下)。
  • 你应该会看到 CarsXE 列为可用的 MCP 服务/工具。
  • 尝试运行 CarsXE 工具(例如 get_vehicle_specs),验证一切是否正常。

    只有在你的 API 密钥关联了有效订阅时,此操作才会生效。


Cursor

如果 Marketplace 列表尚不可用,可使用此备用方案:

为 Cursor 安装 CarsXE MCP

安装对话框将预先填入以下内容:

字段值
NameCarsXE
TypestreamableHttp
URLhttps://mcp.carsxe.com/mcp
HeaderX-API-Key: YOUR_API_KEY

将 YOUR_API_KEY 替换为你的实际 CarsXE API 密钥,然后点击 Install。


Visual Studio Code (GitHub Copilot)

为 VS Code 安装 CarsXE MCP

点击安装后,你需要手动添加 API 密钥:

  1. 打开 Command Palette(Ctrl+Shift+P / Cmd+Shift+P)
  2. 运行 MCP: List Servers
  3. 在列表中找到 CarsXE 并点击
  4. 点击 Show Configuration
  5. 将 YOUR_API_KEY 替换为你的实际 CarsXE API 密钥:
   "CarsXE": {
     "type": "http",
     "url": "https://mcp.carsxe.com/mcp",
     "headers": {
       "X-API-Key": "YOUR_ACTUAL_KEY_HERE"
     }
   }
  1. 保存文件 — VS Code 将自动连接。

注意: 请确保已安装 GitHub Copilot 扩展并启用 Agent 模式(在 VS Code 设置中设置 chat.agent.enabled)。


Windsurf
1️⃣ 打开 MCP 配置
  • 前往 Windsurf Settings → MCP(或按 Ctrl+, 并搜索 MCP)
  • 点击 "Edit Config",打开 ~/.codeium/windsurf/mcp_config.json
2️⃣ 添加 CarsXE 服务
{
  "mcpServers": {
    "carsxe": {
      "command": "npx",
      "args": [
        "mcp-remote@latest",
        "https://mcp.carsxe.com/mcp",
        "--header",
        "X-API-Key: YOUR_API_KEY"
      ]
    }
  }
}
3️⃣ 重启 Windsurf

重新加载窗口或重启 Windsurf。打开 Cascade 聊天面板,CarsXE 工具将自动显示。


其他编辑器(手动 / 通用)

对于任何其他兼容 MCP 的客户端,请使用以下信息注册远程 MCP 服务:

  • 端点: https://mcp.carsxe.com/mcp
  • 传输方式: HTTP(Streamable HTTP)
  • 身份验证标头: X-API-Key: YOUR_API_KEY

请参阅编辑器的 MCP 文档,了解确切的配置格式。


🖼️ ChatGPT / MCP Apps UI(数据 → 渲染)

实现了 MCP Apps 的托管方(包括 ChatGPT)可以显示内嵌的车辆卡片。CarsXE 将获取工具作为数据工具,仅从专用的渲染工具挂载 UI,因此 ChatGPT 不会在每次查询时重新挂载 iframe。

建议的调用流程:

  1. 调用数据工具(get_vehicle_specs、get_market_value 或 get_vehicle_recalls)。它会返回 Markdown 和 structuredContent,不包含 _meta.ui.resourceUri。
  2. 模型可以进一步处理这些结构化结果。
  3. 使用这些字段调用对应的渲染工具(render_vehicle_card、render_market_value 或 render_recalls)。
  4. 托管方加载 ui://carsxe/… HTML 资源(text/html;profile=mcp-app),并渲染一次卡片。

卡片使用 @carsxe/design-system 中发布的令牌(--primary #065774、--background #F9F9F9、--card #FFFFFF、圆角 2xl 样式),以及官方 Logo 资源 https://ui.carsxe.com/logo-light.png / logo-dark.png。

身份验证方式不变:MCP 仍需要 API 密钥或 OAuth。x402 仍仅支持 REST。

在本地预览卡片(无需 API 密钥,使用模拟数据):

npm run preview:ui

然后在浏览器中打开 previews/vehicle-card.html、previews/market-value.html 和 previews/recalls.html。


🛠️ 可用工具和示例提示词

以下列出了所有可用的 CarsXE 工具、它们的参数及示例提示词。这些提示词适用于任何连接到 MCP 的客户端。

1. get_vehicle_specs 🚙
  • 描述: 根据 VIN 获取全面的车辆规格(车辆规格)

  • 参数:

    • vin(字符串,必填):17 位车辆识别号码
  • 示例提示词:

    VIN WBAFR7C57CC811956 对应车辆的完整规格是什么?

    这辆车搭载的是 V6 还是 V8?VIN:WBAFR7C57CC811956

    WBAFR7C57CC811956 的配置级别是什么?

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


2. decode_license_plate 🏷️
  • 描述: 解码车辆牌照以获取 VIN 和基本信息(车辆牌照解码器)

  • 参数:

    • plate(字符串,必填):牌照号码
    • state(字符串,可选):州缩写(例如,CA)
    • country(字符串,必填,默认值:US):国家代码
  • 示例提示词:

    加利福尼亚州的牌照 7XER187 对应哪辆车?

    解码州代码为 CA 的牌照 7XER187

    查询德克萨斯州的牌照 ABC1234

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


3. decode_international_vin 🌍
  • 描述: 解码国际 VIN 以获取详细信息(国际 VIN 解码器)

  • 参数:

    • vin(字符串,必填):17 位 VIN
  • 示例提示词:

    解码这个欧洲 VIN:WF0MXXGBWM8R43240

    WAUZZZ8K9AA123456 是什么车?它是德国 VIN。

  • 输出: 包含国际车辆详情的 Markdown(制造商、规格、排放等)


4. get_market_value 💰
  • 说明: 根据 VIN 获取车辆的估算市场价值(车辆市场价值)

  • 参数:

    • vin(字符串,必填):17 位 VIN
    • state(字符串,可选):美国州缩写
    • mileage(数字,可选):车辆当前里程,用于调整市场价值
    • condition(字符串,可选):车辆总体状况——excellent、clean、average 或 rough
  • 示例提示词:

    WBAFR7C57CC811956 值多少钱?

    我在考虑购买 VIN 为 WBAFR7C57CC811956 的车辆——合理价格是多少?

    WBAFR7C57CC811956 在佛罗里达州、里程为 45,000 英里且车况良好的情况下,置换价值是多少?

  • **输出:**包含市场价值细分(零售、置换、MSRP 等)的 Markdown


5. get_vehicle_history 🕓
  • 说明: 根据 VIN 获取完整的车辆历史报告(车辆历史)

  • 参数:

    • vin(字符串,必填):17 位 VIN
    • format(字符串,可选):响应格式(json 或 xml)
  • 示例提示词:

    WBAFR7C57CC811956 是否发生过事故?

    显示 VIN 为 WBAFR7C57CC811956 的完整历史记录

    WBAFR7C57CC811956 有过几任车主?

  • **输出:**包含历史记录(报废/残值、保险、品牌、所有权文件、里程表等)的 Markdown


6. get_vehicle_images 🖼️
  • 说明: 根据品牌、车型和筛选条件获取车辆图片(车辆图片)

  • 参数:

    • make(字符串,必填)
    • model(字符串,必填)
    • year、trim、color、transparent、angle、photoType、size、license、format(均可选)
  • 示例提示词:

    显示一辆蓝色的 2018 款 Toyota Tacoma 的照片

    获取一辆红色的 2022 款 Ford Mustang GT 的图片

    白色的 2020 款 Tesla Model 3 看起来是什么样?

  • **输出:**包含最多 5 张图片(链接、缩略图、详情)的 Markdown


7. get_vehicle_recalls 🚨
  • 说明: 根据 VIN 获取车辆召回信息(车辆召回)

  • 参数:

    • vin(字符串,必填):17 位 VIN
  • 示例提示词:

    1C4JJXR64PW696340 是否有尚未处理的召回?

    我刚买了 VIN 为 1C4JJXR64PW696340 的车辆——需要担心召回问题吗?

    检查 WBAFR7C57CC811956 是否有安全召回

  • **输出:**包含召回详情(日期、描述、风险、补救措施、状态等)的 Markdown


8. read_license_plate_from_image 🏷️
  • 说明: 从车辆图片 URL 识别并提取车牌(车辆车牌解码器)

  • 参数:

    • imageUrl(字符串,必填):车辆车牌图片的直接 URL
  • 示例提示词:

    这张图片里的车牌号码是什么?https://imagedelivery.net/moyiiSImjJPI_EZVxNMBBw/f49aed53-d736-4370-f3f4-97418841c800/public

    读取这张照片里的车牌:[image URL]

  • **输出:**包含检测到的车牌、置信度分数、边界框、车辆类型等信息的 Markdown


9. extract_vin_from_image 🔍
  • 说明: 使用 OCR 从车辆图片中提取 VIN

  • 参数:

    • imageUrl(字符串,必填):车辆 VIN 图片的直接 URL
  • 示例提示词:

    从这张图片中提取 VIN:https://user-images.githubusercontent.com/5663423/30922082-64edb4fa-a3a8-11e7-873e-3fbcdce8ea3a.png

    这张照片里的 VIN 是什么?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(string,必填)
    • make(string,必填)
    • model(string,必填)
    • trim(string,可选)
  • 示例提示词:

    2020 款 Toyota Camry 的规格是什么?

    介绍一下 2019 款 Honda Civic Sport 配置

    2021 款 Ford F-150 有哪些可选颜色?

  • 输出: 包含车辆详情、颜色、功能、选项和套件的 Markdown


11. decode_obd_code 🛠️
  • 描述: 解读 OBD 代码并获取诊断信息

  • 参数:

    • code(string,必填):OBD 代码(例如 P0115)
  • 示例提示词:

    我的发动机故障灯亮了,显示代码 P0115——这是什么意思?

    解读 OBD 代码 P0300

    仪表盘上显示代码 C1234——严重吗?

  • 输出: 包含代码、诊断结果和日期的 Markdown


12. check_lien_and_theft 🔒
  • 描述: 根据 VIN 获取车辆的留置权和盗窃信息

  • 参数:

    • vin(string,必填):17 位车辆识别号码
  • 示例提示词:

    WBAFR7C57CC811956 是否有留置权?

    我正在购买一辆 VIN 为 WBAFR7C57CC811956 的二手车——检查它是否为盗窃车辆

    核实 WBAFR7C57CC811956 的产权记录是否清白

  • 输出: 包含留置权持有人信息、盗窃记录、找回日期和状态的 Markdown


13. get_recalls_by_ymm 🚨
  • 描述: 根据年份、品牌和车型获取安全召回信息(无需 VIN)(车辆召回)

  • 参数:

    • year(string,必填):4 位车型年份
    • make(string,必填)
    • model(string,必填)
  • 示例提示词:

    2026 款 Toyota Corolla 有召回吗?

    查询 2019 款 Honda Civic 的安全召回信息

    2020 款 Ford F-150 有哪些召回事项?

  • 输出: 包含 NHTSA 活动编号、部件、风险和补救措施的 Markdown


14. submit_recalls_batch 📦
  • 描述: 提交异步批量召回检查,最多支持 10,000 个 VIN(车辆召回)

  • 参数:

    • vins(string[] 或逗号分隔的字符串,可选)
    • csv(string,可选):内嵌的 VIN CSV
    • csvUrl(string,可选):包含 VIN 的 CSV 文件的 HTTPS URL
    • webhookUrl(string,可选):批次完成时调用的 HTTPS webhook
  • 示例提示词:

    为 VIN 1HGBH41JXMN109186、5YJSA1E26HF000001 和 1C4JJXR64PW696340 提交一批召回检查

    从此 CSV URL 启动批量召回检查:https://example.com/vins.csv

  • 输出: 包含 batchId 和状态的 Markdown。接下来轮询 get_recalls_batch_status。


15. get_recalls_batch_status 📦
  • 描述: 检查先前提交的召回批次状态(车辆召回)

  • 参数:

    • batchId(string,必填)
  • 示例提示词:

    召回批次 brb_mnablbn7_wvbaqv 的状态是什么?

  • 输出: 包含状态、已处理 VIN 数量和命中率的 Markdown


16. get_recalls_batch_results 📦
  • 描述: 获取已完成的批量召回结果(JSON 格式)(状态为 completed 或 partial 后)(车辆召回)

  • 参数:

    • batchId(string,必填)
  • 示例提示词:

    获取批次 brb_mnablbn7_wvbaqv 的召回结果

  • 输出: 按 VIN 列出的 Markdown 摘要(批次较大时会截断)


17. download_recalls_batch 📦
  • 描述: 下载已完成的批量召回结果(CSV 格式)(车辆召回)

  • 参数:

    • batchId(string,必填)
  • 示例提示词:

    下载召回批次 brb_mnablbn7_wvbaqv 的 CSV

  • 输出: CSV 的 Markdown 预览


18. get_ymm_options 📋
  • **Description:**列出用于下拉菜单的级联年份、品牌、车型、配置或变体选项(车辆规格)

  • Parameters:

    • dimension(string,可选):years | makes | models | trims | variants
    • year、make、model、trim(均为可选筛选条件)
  • Example Prompts:

    CarsXE 有哪些年份的车辆数据?

    列出 Toyota 车型

    2026 年有哪些 Tacoma 变体?

  • **Output:**以 Markdown 列出推断或请求的维度


19. get_ownership_by_vin 👤
  • **Description:**企业版——查询 VIN 对应的登记车主

  • Parameters:

    • vin(string,必填):17 位 VIN
    • include(string,可选):demographics,emails,phones,vehicle_history
  • Example Prompts:

    VIN 1FT8X3BT0BEA61538 的登记车主是谁?

  • **Output:**以 Markdown 展示车主、联系信息、人口统计信息和车辆历史。按车主记录计费。


20. get_ownership_by_person 👤
  • **Description:**企业版——按姓名、街道地址和 ZIP 查询个人

  • Parameters:

    • firstName、lastName、address、zip(必填)
    • include(string,可选)
  • Example Prompts:

    查询住在 123 Example St、ZIP 为 90210 的 John Sample

  • **Output:**以 Markdown 展示匹配的个人、联系信息和关联车辆


21. get_ownership_by_address 👤
  • **Description:**企业版——按街道地址和 ZIP 查询居民

  • Parameters:

    • address、zip(必填)
    • include、variant(可选;优先使用 include)
  • Example Prompts:

    谁住在 ZIP 为 90210 的 123 Example St?

  • **Output:**以 Markdown 展示居民和关联车辆


22. get_ownership_by_zip 👤
  • **Description:**企业版——在 5 位 ZIP 范围内搜索个人,并可使用可选筛选条件

  • Parameters:

    • zip(string,必填)
    • gender、minAge、maxAge、income、page、limit、include、variant(可选)
  • Example Prompts:

    查找 ZIP 90210 中年龄在 45 岁及以上的人

    搜索 ZIP 49646 中收入代码为 F 的女性

  • **Output:**以 Markdown 展示匹配记录的分页结果。按返回的记录计费(默认上限为 15,最高为 100)。


23. render_vehicle_card 🖼️
  • **Description:**渲染展示 VIN 身份信息和关键规格的可视化卡片。务必先调用 get_vehicle_specs,并传入其 structuredContent。(车辆规格)

  • Parameters:vin(必填),以及可选的 year、make、model、trim、style、engine、transmission、drivetrain、fuel、MPG、seating、MSRP、built-in country

  • Example Prompts:

    查询 VIN WBAFR7C57CC811956 的规格,然后显示车辆卡片。

  • **Output:**MCP Apps / ChatGPT iframe 卡片。文本回退内容会概述车辆信息。


24. render_market_value 🖼️
  • **Description:**渲染零售价值和以旧换新价值区间。务必先调用 get_market_value,并传入其 structuredContent。(车辆市场价值)

  • Example Prompts:

    WBAFR7C57CC811956 在 California 值多少钱?然后显示市场价值卡片。

  • **Output:**MCP Apps / ChatGPT iframe 卡片。文本回退内容会概述估值。


25. render_recalls 🖼️
  • **Description:**渲染尚未处理的召回列表。务必先调用 get_vehicle_recalls,并传入其 structuredContent。(车辆召回)

  • Example Prompts:

    检查 VIN 1C4JJXR64PW696340 的召回信息,并显示召回卡片。

  • **Output:**MCP Apps / ChatGPT iframe 卡片。文本回退内容会报告召回数量。


🔗 工具链式调用 — 高级用户示例

CarsXE MCP 的真正优势,在于能在一次对话中链式调用工具:

场景 1 — 购车前尽职调查:

  1. 解码加利福尼亚州车牌 7XER187

  2. 现在获取该车辆的完整历史记录

  3. 它是否有未处理的召回?

  4. 如果我今天买下它,它值多少钱?

场景 2 — 在街上看到一辆车:

  1. 从这张图片中读取车牌:[photo URL]

  2. 在德克萨斯州查询该车牌

  3. 给我看看该车型的照片

场景 3 — 汽修技师 / 维修店:

  1. 从仪表盘照片中解码这个 VIN:[image URL]

  2. 获取它的完整规格

  3. 我的客户说发动机故障码是 P0300——这对这辆车来说意味着什么?

场景 4 — 无需 VIN 的车队召回扫描:

  1. 列出 2020 年的 Toyota 车型

  2. 查询 2020 款 Toyota Camry 的召回信息

  3. 为这些库存 VIN 提交批量召回查询:[list]

  4. 查询批次状态,然后显示结果


🔐 OAuth 2.1(Claude.ai 自定义连接器)

托管服务 https://mcp.carsxe.com/mcp 支持两种身份验证方式:

  1. API 密钥(不变)——X-API-Key 标头、Authorization: Bearer <api-key> 或 ?key= 查询参数。供 Claude Desktop / mcp-remote 和本地客户端使用。
  2. OAuth 2.1——供 Claude.ai 自定义连接器等托管 MCP 客户端使用。在 Claude.ai 中点击 Connect 后,将运行标准的 Authorization Code + PKCE 流程:动态客户端注册(RFC 7591)、在 CarsXE 授权页面通过浏览器登录,然后交换令牌。访问令牌(mcp_at_*,有效期 1 h)对应用户的 CarsXE API 密钥;刷新令牌(mcp_rt_*,有效期 90 d)会在每次刷新时轮换。

未携带凭据的请求会收到 401 和 WWW-Authenticate 挑战,Claude.ai 会据此启动该流程。

环境变量
变量默认值用途
OAUTH_ISSUERhttps://mcp.carsxe.com发现元数据中的颁发者 / 端点基址
OAUTH_WEB_BASEhttps://api.carsxe.com托管 OAuth 逻辑的 CarsXE Web 应用
MCP_OAUTH_INTERNAL_SECRET(未设置)在主机环境中设置,切勿提交。未设置时,OAuth bearer 令牌会被拒绝,但 API 密钥身份验证仍可使用。

Cloudflare Workers 部署(src/index.ts)不提供 OAuth 接口——只有位于 mcp.carsxe.com 后面的 GCP Cloud Run 部署(src/index.gcp.ts)才提供该接口。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。