Skip to main content
Connect Visor to your AI app and it can pull live vehicle inventory, prices, and dealer data for you — just by asking. Most apps connect in under a minute, and you never copy or paste a key: you sign in to Visor and pick your account.
Your API account starts with one-time starter API Credit based on your Visor plan: Free $1, Plus weekly $1, Plus monthly $10, Plus annual $50, or Plus lifetime $100. The first $1 never expires; any unused amount above it expires 12 months after it’s granted. Looking up what’s available is free — you’re only charged when the agent pulls actual data, and that costs a fraction of a cent per request.

Pick your app

Claude

Claude desktop app or claude.ai

ChatGPT

ChatGPT with developer mode

Claude Code

Anthropic’s coding agent

Codex

OpenAI’s coding agent

OpenClaw

OpenClaw AI agent

Hermes

Nous Research’s agent

Another MCP client

OpenCode and generic clients

Your own code

OpenAI and Claude APIs
Whatever app you use, it connects to one address:
The server is read-only — your agent can read Visor data, but it can never change anything in your account.

Chat apps

Claude Desktop and web

1

Open Connectors

In Claude — the desktop app or claude.ai — open Customize → Connectors.
2

Add a custom connector

Click +, choose Add custom connector, and paste the Visor server URL: https://mcp.visor.vin/mcp. Click Add.
3

Sign in to Visor

Click Connect. Visor opens in your browser — sign in, choose your API account, and approve. That’s it: no key to copy.
Ask Claude: “Use the Visor tools to find the median price of a Toyota RAV4 in California.” If it comes back with numbers, you’re connected.
On Team or Enterprise, an owner adds the connector once under organization connector settings. Members then connect it from their own Customize → Connectors and complete the Visor sign-in.

ChatGPT

Custom connectors need developer mode, available on ChatGPT Plus, Pro, Team, Enterprise, and Edu plans.
1

Turn on developer mode

Open Settings → Connectors → Advanced and turn on Developer mode.
2

Create the connector

Go back to Settings → Connectors and click Create. Name it Visor and paste the server URL: https://mcp.visor.vin/mcp.
3

Sign in to Visor

Save, then complete the Visor sign-in when prompted. Toggle Visor on in the chat’s tools menu to use it.
Ask ChatGPT: “Use the Visor tools to find median Toyota RAV4 prices in California.”
To call Visor from the OpenAI API instead of the ChatGPT app, see Use it from your own code.

Coding agents

Claude Code

The fastest path is sign-in (OAuth):
Then run /mcp in Claude Code and complete the browser sign-in. Prefer a token — for example, in a headless or CI environment?
Verify either way:

Codex

Sign-in (OAuth):
Token:
Equivalent ~/.codex/config.toml:
Verify:

OpenClaw

Sign-in (OAuth) is the cleanest path — OpenClaw stores the credential for you:
Prefer to edit openclaw.json directly? Add Visor under mcp.servers:
For token auth instead, drop auth and add a header (keep this file private):

Hermes

Add Visor under mcp_servers in ~/.hermes/config.yaml. Hermes runs the full OAuth flow for you:
Prefer a token? Use headers instead of auth (keep this file private):
After editing the config, run /reload-mcp in Hermes to load the server.

Other MCP clients

Most clients accept either an OAuth server URL or a JSON config with a bearer header. OpenCode — add the remote server under mcp in your local config. Keep this in user-local config or another ignored file if you use a literal token.
Generic MCP JSON — many clients accept a shape like this:
If your client supports OAuth, omit headers and let it discover auth from the server.

Use it from your own code

These paths use a dashboard API token. See Authentication and scopes to create one.

OpenAI Responses API

Pass the token as the MCP tool authorization value:

Claude Messages API

Pass the token as the MCP server authorization token:

What your agent can do

You don’t need to learn any commands. Once connected, just ask in plain language:
  • “What’s the median price of a used Honda Civic near 98101?”
  • “Show me the 10 newest Toyota RAV4 listings in California with prices and dealers.”
  • “Which Ford F-150 trims have the biggest discounts from MSRP right now?”
The agent figures out the right Visor query, runs it, and answers.

How the tools work (for developers)

The server exposes two tools that map to the public /v1 API contract: A good system prompt makes the agent search first, then execute:
Example search query:
Example execute code:
Example listing workflow:
Response shapes match the public /v1 API. Listing and dealer collections return rows in response.data and totals in response.pagination.total. Facet totals are in response.data.total, categorical buckets are in response.data.facets.<facet>, numeric buckets are in response.data.range_facets.<facet>, and numeric stats are in response.data.stats.<facet>. Detail endpoints return one record at response.data.

Authentication and scopes

There are two ways to authenticate, and most apps use the first.
  • Sign in (OAuth) — the default for Claude, ChatGPT, and any client that supports remote MCP OAuth. Add the server URL, sign in to Visor, pick your API account, and approve. Visor creates a revocable credential for that client. Nothing to copy.
  • Bearer token — for clients and agent harnesses where you set HTTP headers or a token environment variable.
To create a bearer token:
1

Open your API account credentials

In the Visor dashboard, go to the API account credentials area.
2

Create a token with the scopes you need

Use all three scopes for the full MCP surface.
3

Store and send it

Save it locally as VISOR_API_KEY and configure your client to send Authorization: Bearer <VISOR_API_KEY>.
Scopes map to what the agent can read:
Never put API keys in query strings, prompts, shared project config, or command-line arguments that can be logged. Query-string API keys are rejected.
The server supports remote MCP OAuth discovery, dynamic client registration, and revocation:

Limits and billing

  • One execute workflow can make up to 50 underlying public API requests.
  • Underlying requests count against your account Usage Tier rate limits and normal metering, the same as the /v1 endpoints they map to.
  • The server serializes requests, paces them from observed rate-limit headers, and retries bounded 429 responses when Retry-After fits inside the execute budget. Concurrent Promise.all calls inside one execute workflow do not increase Public API throughput. If more waiting is required, execute returns structured pause guidance with retry_after_seconds instead of sleeping indefinitely.
  • The sandbox cannot call arbitrary fetch().
  • Large responses and tool outputs are capped. Narrow the query, lower limit, or return fewer fields when output is truncated.
  • Each billable request made through MCP is metered the same way as the underlying /v1 endpoint. The /v1/usage operation is never billable and requires usage.read.

Troubleshooting

Most connection problems come down to sign-in or scopes.