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' 服务器之前,您需要先进行安装和配置。
前提条件
- Node.js 或 Bun: 您的系统需要安装 Node.js 18 或更高版本,或者安装 Bun 运行时。
- DIMO 开发者许可证: 您需要从 DIMO Developer Console 获取一个 DIMO 开发者许可证。
- 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' 服务器交互的推荐步骤和关键提示:
-
检查车辆访问状态 ('check_vehicle_access_status'): 在进行任何车辆数据查询或命令操作之前,务必首先调用此工具。它将告诉您当前有多少车辆已授权此开发者许可证访问,以及您自己拥有的车辆中有多少已共享数据。这有助于您了解当前可操作的车辆范围。
-
理解API模式 ('identity_introspect' / 'telemetry_introspect'): 如果您要进行 GraphQL 查询,务必在查询前调用相应的自省工具 ('identity_introspect' 用于公共身份数据,'telemetry_introspect' 用于遥测数据)。这会返回 GraphQL 模式定义,帮助您理解可用的字段、类型和查询结构,从而避免因模式错误导致的查询失败。
-
用户认证 ('init_oauth', 如需): 如果您需要访问用户拥有的特定车辆的敏感数据(如实时遥测、执行命令),或者您未处于 'FLEET_MODE',则用户需要进行 OAuth 认证。调用 'init_oauth' 工具将启动一个本地HTTP服务器并自动打开 DIMO 认证页面,用户完成认证后,您的 MCP 服务器将获得访问其车辆的权限。
-
查询车辆数据 ('identity_query' / 'telemetry_query'):
- 使用 'identity_query' 来查询 DIMO 的公共身份数据,例如车辆的基本定义、制造商信息等。
- 使用 'telemetry_query' 来查询车辆的遥测数据,例如实时位置、速度、燃油/电量信息等。请注意,遥测查询通常需要用户授权和车辆 'tokenId' 参数。
-
执行车辆命令/操作: 在确认车辆可用并经过必要的认证后,您可以调用相应的工具来执行操作:
- '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与计算