DIMO车辆智能助手MCP服务器使用说明

项目简介

'mcp-dimo' 是一个为AI助手设计的 Model Context Protocol (MCP) 服务器,它作为AI助手与 DIMO (Digital Infrastructure for Mobility) 车辆数据网络之间的桥梁。通过这个服务器,AI助手可以无缝访问 DIMO 的 GraphQL API,获取车辆数据、执行车辆命令、解码车辆识别号 (VIN)、创建可验证凭证,甚至铸造车辆NFT,从而实现与 DIMO 生态系统丰富的车辆交互功能。

主要功能点

  • 车辆数据查询: 访问 DIMO 的 Identity 和 Telemetry GraphQL API,查询公共车辆信息和实时/历史车辆数据(如速度、位置、里程、健康状态等)。
  • 车辆命令执行: 对兼容车辆进行远程控制,例如锁定/解锁车门、启动/停止电动车充电等。
  • VIN解码与车辆搜索: 解码车辆识别号 (VIN) 以获取详细车辆规格信息,或在 DIMO 车辆定义数据库中搜索特定品牌、型号和年份的车辆。
  • 可验证凭证创建: 为车辆创建各种数字凭证,例如 VIN 凭证(证明车辆身份)、里程表声明凭证、车辆健康凭证和车辆位置凭证。
  • 车辆NFT铸造: 使用 DIMO 交易SDK在区块链上铸造新的车辆NFT(非同质化代币),代表车辆的数字所有权。
  • 身份与访问管理: 处理开发者JWT和用户OAuth认证流程,管理车辆数据共享权限,并支持车队模式,方便管理多个车辆。
  • API模式自省: 提供 DIMO Identity 和 Telemetry API 的 GraphQL 模式自省功能,帮助AI助手理解可用的数据结构,从而构建精确的查询。

安装步骤

在连接 'mcp-dimo' 服务器之前,您需要先进行安装和配置。

前提条件

  1. Node.js 或 Bun: 您的系统需要安装 Node.js 18 或更高版本,或者安装 Bun 运行时。
  2. DIMO 开发者许可证: 您需要从 DIMO Developer Console 获取一个 DIMO 开发者许可证。
  3. API 凭证: 确保您拥有有效的 DIMO API 凭证,包括客户端ID (Client ID)、您的域名 (Domain) 和私钥 (Private Key)。

安装命令

请选择以下任一方式进行安装:

# 方式一:通过 npm 全局安装
npm install -g mcp-dimo

# 方式二:克隆仓库并在本地构建
git clone https://github.com/DIMO-Network/mcp-dimo.git
cd mcp-dimo
bun install
bun run build

服务器配置 (供MCP客户端连接用)

MCP 客户端(例如 Claude Desktop)需要以下配置信息来连接 'mcp-dimo' 服务器。请将以下 JSON 配置添加到您的 MCP 客户端配置文件的 'mcpServers' 部分,并替换 '您的DIMO开发者许可证客户端ID'、'您的DIMO开发者许可证域名' 和 '您的DIMO开发者许可证私钥' 为您的实际 DIMO 开发者凭证。

{
  "mcpServers": {
    "dimo": {
      "command": "mcp-dimo",
      "env": {
        "DIMO_CLIENT_ID": "您的DIMO开发者许可证客户端ID",
        "DIMO_DOMAIN": "您的DIMO开发者许可证域名",
        "DIMO_PRIVATE_KEY": "您的DIMO开发者许可证私钥"
      },
      "description": "DIMO车辆数据和命令 MCP服务器,提供车辆查询、控制、凭证和铸造NFT功能。",
      "name": "dimo-mcp-server",
      "version": "1.0.0"
    }
  }
}

配置参数注释:

  • 'command': MCP服务器的可执行命令。如果您通过 'npm install -g mcp-dimo' 安装,则为 'mcp-dimo'。
  • 'env': 环境变量集合,用于配置 DIMO 开发者凭证和可选功能。
    • 'DIMO_CLIENT_ID': 您的 DIMO 开发者许可证客户端 ID,这是必需的
    • 'DIMO_DOMAIN': 您的 DIMO 开发者许可证关联的域名,用于开发者 JWT 认证,这是必需的
    • 'DIMO_PRIVATE_KEY': 您的 DIMO 开发者许可证私钥,用于开发者 JWT 认证,这是必需的
    • 'FLEET_MODE': (可选) 设置为 'true' 启用车队模式,将跳过车辆所有权检查,允许访问任何共享给此开发者许可证的车辆;设置为 'false' 或不设置则禁用车队模式,只允许访问您拥有的车辆。
    • 'DIMO_LOGIN_BASE_URL': (可选) DIMO 登录页面的基础URL,默认为 'https://login.dimo.org'。
    • 'DIMO_RPC_URL', 'DIMO_BUNDLER_URL', 'DIMO_PAYMASTER_URL', 'DIMO_MINTER_PRIVATE_KEY': (可选) 这些是用于车辆NFT铸造功能的区块链交易相关配置。如果您计划使用车辆铸造功能,请根据您的区块链网络和密钥提供这些变量。
  • 'description': MCP 服务器的简要描述。
  • 'name': MCP 服务器的内部名称,客户端用于识别。
  • 'version': MCP 服务器的版本号。

基本使用方法

以下是与 'mcp-dimo' 服务器交互的推荐步骤和关键提示:

  1. 检查车辆访问状态 ('check_vehicle_access_status'): 在进行任何车辆数据查询或命令操作之前,务必首先调用此工具。它将告诉您当前有多少车辆已授权此开发者许可证访问,以及您自己拥有的车辆中有多少已共享数据。这有助于您了解当前可操作的车辆范围。

  2. 理解API模式 ('identity_introspect' / 'telemetry_introspect'): 如果您要进行 GraphQL 查询,务必在查询前调用相应的自省工具 ('identity_introspect' 用于公共身份数据,'telemetry_introspect' 用于遥测数据)。这会返回 GraphQL 模式定义,帮助您理解可用的字段、类型和查询结构,从而避免因模式错误导致的查询失败。

  3. 用户认证 ('init_oauth', 如需): 如果您需要访问用户拥有的特定车辆的敏感数据(如实时遥测、执行命令),或者您未处于 'FLEET_MODE',则用户需要进行 OAuth 认证。调用 'init_oauth' 工具将启动一个本地HTTP服务器并自动打开 DIMO 认证页面,用户完成认证后,您的 MCP 服务器将获得访问其车辆的权限。

  4. 查询车辆数据 ('identity_query' / 'telemetry_query'):

    • 使用 'identity_query' 来查询 DIMO 的公共身份数据,例如车辆的基本定义、制造商信息等。
    • 使用 'telemetry_query' 来查询车辆的遥测数据,例如实时位置、速度、燃油/电量信息等。请注意,遥测查询通常需要用户授权和车辆 'tokenId' 参数。
  5. 执行车辆命令/操作: 在确认车辆可用并经过必要的认证后,您可以调用相应的工具来执行操作:

    • 'lock_doors' / 'unlock_doors': 锁定或解锁车辆车门。
    • 'start_charge' / 'stop_charge': 启动或停止电动/混合动力车的充电。
    • 'vin_decode': 解码 VIN 以获取车辆详细规格。
    • 'attestation_create_vin': 为车辆创建 VIN 可验证凭证。
    • 'mint_vehicle_with_vin' / 'mint_vehicle_with_device_definition': 铸造车辆NFT。

重要提示:

  • 始终关注错误信息: 服务器提供了智能的错误处理,如果操作失败,会提供明确的错误原因和解决方案提示。
  • 遥测查询需提供 'tokenId': 在进行遥测数据或事件查询时,'tokenId' 参数必须包含在 GraphQL 'variables' 中。
  • 返回数据本地化: 服务器在返回数据时,会尝试将时间戳转换为用户的本地时区,并将单位转换为本地格式(例如,欧洲用户可能得到 kPA, kPh,美国用户可能得到 PSI, Mph)。

信息

分类

AI与计算