home / mcp / dimo mcp server

DIMO MCP Server

Provides unified access to DIMO vehicle data, commands, VIN decoding, verifiable credentials, and NFT minting via a secure MCP.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "dimo-network-mcp-dimo": {
      "command": "mcp-dimo",
      "args": [],
      "env": {
        "FLEET_MODE": "false",
        "DIMO_DOMAIN": "your_domain.com",
        "DIMO_CLIENT_ID": "your_client_id_here",
        "DIMO_PRIVATE_KEY": "your_private_key_here",
        "DIMO_LOGIN_BASE_URL": "https://login.dimo.org"
      }
    }
  }
}

You have a complete MCP server that connects AI assistants to DIMO vehicle data, enabling queries, commands, VIN decoding, verifiable credentials, and NFT minting. It manages authentication, ownership checks, and token lifecycles so you can build trusted, data-rich experiences for vehicle-related AI applications.

How to use

Start by verifying which vehicles you can access, then authenticate users and query data or issue commands. Use a logical flow: check what vehicles are shared with your license, inspect the identity and telemetry schemas, authenticate users, and finally query data or perform actions on known vehicles. This approach keeps you aligned with ownership requirements while enabling fleet mode if you need to operate on more vehicles.

How to install

Prerequisites: you need Node.js 18 or higher (or Bun) and a DIMO Developer License with valid API credentials.

# Install via npm (global MCP server)
npm install -g mcp-dimo

# Or clone and build locally
git clone https://github.com/DIMO-Network/mcp-dimo.git
cd mcp-dimo
bun install
bun run build
```,

Configuration and startup

Configure environment variables for your MCP server. The following values are required and optional settings tailor behavior for fleet usage and login flows.

# Required - DIMO Developer License credentials
DIMO_CLIENT_ID=your_client_id_here
DIMO_DOMAIN=your_domain.com
DIMO_PRIVATE_KEY=your_private_key_here

# Optional - Fleet mode (skip ownership checks)
FLEET_MODE=false

# Optional - Custom login URL
DIMO_LOGIN_BASE_URL=https://login.dimo.org

Run the MCP server locally

If you followed the local build flow, start the server to run on your machine. The final start command is shown here as the standard way to launch the local MCP server.

bun run start

Workflow tips

- Always start by checking vehicle access to understand which assets you can operate on. - If you need to perform actions across multiple vehicles, consider using fleet mode to bypass per-vehicle ownership checks. - Use introspection tools to understand the GraphQL schemas before querying identity or telemetry data. - Ensure a user is authenticated for telemetry and command operations, and refresh tokens automatically as needed.

Security and best practices

- Validate all inputs with strict schemas and sanitize errors to avoid leaking sensitive data. - Maintain proper developer JWTs and rotate keys regularly. - Enable fleet mode only if you truly require broad access across vehicles shared with your license. - Use the OAuth flow to securely authorize user access before exposing vehicle data or issuing commands.

Error handling and troubleshooting

- If you encounter authentication issues, confirm DIMO_DOMAIN and DIMO_PRIVATE_KEY are set correctly and that you have an active user session via the OAuth flow. - If a vehicle access error occurs, verify ownership or enable fleet mode. - For schema errors, run the appropriate introspection tool to refresh the available fields before querying.

Available tools

check_vehicle_access_status

Check current vehicle access status and authentication state. Always call first to understand which vehicles are available.

init_oauth

Initialize OAuth authentication flow with automatic callback handling to authenticate users for vehicle data access.

generate_vehicle_data_sharing_url

Generate a shareable URL to grant a developer license access to vehicle data.

identity_introspect

Introspect the DIMO Identity GraphQL schema to understand available fields and types.

identity_query

Query the DIMO Identity GraphQL API for public vehicle data. Requires prior introspection.

telemetry_introspect

Introspect the Telemetry GraphQL schema to understand available fields and types.

telemetry_query

Query vehicle telemetry data with authentication and vehicle access.

lock_doors

Lock vehicle doors via a secured command for an accessible vehicle.

unlock_doors

Unlock vehicle doors via a secured command for an accessible vehicle.

start_charge

Start charging on eligible electric/hybrid vehicles.

stop_charge

Stop charging on eligible electric/hybrid vehicles.

vin_decode

Decode a VIN to retrieve vehicle specifications.

search_vehicles

Search DIMO's vehicle definitions by make, model, year or text query.

attestation_create

Create verifiable credentials (VIN credentials) for vehicles after proper authorization.

initialize_kernel_signer

Initialize the DIMO KernelSigner for vehicle NFT minting transactions.

mint_vehicle

Mint a new vehicle NFT using the DIMO transactions SDK.

get_minting_status

Check the signer status and minting capabilities.