A modular, extensible Model Context Protocol (MCP) server for querying and analyzing vehicle data from the CarsXE API, with beautiful, chat-friendly Markdown output for LLMs and chatbots.
The CarsXE MCP server is a Node.js/TypeScript application that exposes a suite of tools for querying comprehensive vehicle data from the CarsXE API. It is designed for seamless integration with LLMs (like Anthropic Claude, OpenAI GPT, etc.), chatbots, and developer tools, providing:
- 🧩 Clean, modular code for each CarsXE endpoint
- 📝 Consistent, Markdown-rich output for chat/LLM environments
- 🛡️ Robust error handling and user-friendly messages
- 🔌 Easy extensibility for new endpoints and features
- 🤖 Uses Anthropic Claude to generate comprehensive, professional answers based on the API data and user query
- 🚙 Query vehicle specs, history, images, recalls, market value, and more
- 🏷️ Decode license plates and VINs (including OCR from images)
- 🛠️ Decode OBD (On-Board Diagnostics) codes
- 🎨 All endpoints return elegant, grouped, emoji-rich Markdown
- 🧑💻 Modular code: types, API logic, and formatters are separated for maintainability
- 🧪 Simple to run, test, and extend
CarsXE API key (get one here)
Follow these steps to set up Claude Desktop and connect it to our CarsXE MCP server:
- Go to the official Claude Desktop download page
- Download the installer for your operating system (macOS, Windows, or Linux)
- Install Claude Desktop by following the on-screen instructions
- Launch the Claude Desktop app
- Click on Claude in the menu bar
- Select Settings
- In the Settings window, go to the Developer tab (you may need to scroll or expand advanced options)
- Click Edit Config (or Open Config File)
-
This will open the
claude_desktop_config.json
file in your default text editor. -
Locate the
"mcpServers"
section. If it does not exist, add it as shown below. -
Add or update the following entry for CarsXE:
{ "mcpServers": { "carsxe-remote": { "command": "npx", "args": [ "mcp-remote@latest", "https://mcp.carsxe.com/mcp", "--header", "X-API-Key: API_KEY" ] } } }
-
Replace
API_KEY
with your actual CarsXE API Key -
Tip: You can add multiple MCP servers under
"mcpServers"
if you use more than one. -
Save the configuration file and close your editor.
-
Close and reopen the Claude Desktop app to apply the new configuration.
It may take a short delay for the changes to take effect.
- After restarting, open Claude Desktop.
- Go to the tools or plugins section (usually in the search bar or under a tools menu).
- You should see CarsXE listed as an available MCP server/tool.
- Try running a CarsXE tool (e.g., get-vehicle-specs) to verify everything is working.
This will only work if your API key is associated with an active subscription.
Below is a list of all available CarsXE tools, their parameters, expected outputs, and example prompts for use in Claude Desktop.
- Description: Get comprehensive vehicle specifications by VIN
- Parameters:
vin
(string, required): 17-character Vehicle Identification Number
- ⚡ Example Prompt:
get specs for
WBAFR7C57CC811956
- Output: Markdown-formatted vehicle specs (year, make, model, engine, dimensions, colors, equipment, etc.)
- Description: Decode a vehicle's license plate to get VIN and basic info
- Parameters:
plate
(string, required): License plate numberstate
(string, optional): State abbreviation (e.g., CA)country
(string, required, default: US): Country code
- ⚡ Example Prompt:
plate decoder:
7XER187
CA
- Output: Markdown summary of decoded vehicle info (VIN, make, model, year, etc.)
- Plate Decoder → Get Specs:
-
plate decoder:
7XER187
CA
-
get its specs
- First, decodes the plate to get the VIN, then uses the VIN to fetch full vehicle specs with the
get-vehicle-specs
tool.
-
- Description: Decode an international VIN for detailed info
- Parameters:
vin
(string, required): 17-character VIN
- ⚡ Example Prompt:
get specs for
WF0MXXGBWM8R43240
- Output: Markdown with international vehicle details (manufacturer, specs, emissions, etc.)
- Description: Get estimated market value for a vehicle by VIN
- Parameters:
vin
(string, required): 17-character VINstate
(string, optional): US state abbreviationcountry
(string, optional): Country code
- ⚡ Example Prompt:
market value for
WBAFR7C57CC811956
- Output: Markdown with market value breakdown (retail, trade-in, MSRP, etc.)
- Description: Get a comprehensive vehicle history report by VIN
- Parameters:
vin
(string, required): 17-character VINformat
(string, optional): Response format (json or xml)
- ⚡ Example Prompt:
vehicle history for
WBAFR7C57CC811956
- Output: Markdown with history records (junk/salvage, insurance, brands, titles, odometer, etc.)
- Description: Get vehicle images by make, model, and filters
- Parameters:
make
(string, required)model
(string, required)year
,trim
,color
,transparent
,angle
,photoType
,size
,license
,format
(all optional)
- ⚡ Example Prompt:
get images for a
blue
2018
Toyota
Tacoma
- Output: Markdown with up to 5 images (links, thumbnails, details)
- Description: Get vehicle recall information by VIN
- Parameters:
vin
(string, required): 17-character VIN
- ⚡ Example Prompt:
get vehicle recalls for
1C4JJXR64PW696340
- Output: Markdown with recall details (date, description, risk, remedy, status, etc.)
- Description: Recognize and extract license plate(s) from a vehicle image URL
- Parameters:
imageUrl
(string, required): Direct URL to an image of a vehicle's license plate
- ⚡ Example Prompt:
get plate https://api.carsxe.com/img/apis/plate_recognition.JPG
- Output: Markdown with detected plates, confidence scores, bounding boxes, vehicle type, etc.
- Description: Extract the VIN from a vehicle image using OCR
- Parameters:
imageUrl
(string, required): Direct URL to an image of a vehicle's VIN
- ⚡Example Prompts:
-
vin ocr https://user-images.githubusercontent.com/5663423/30922082-64edb4fa-a3a8-11e7-873e-3fbcdce8ea3a.png
-
vin ocr https://res.cloudinary.com/carsxe/image/upload/q_auto/f_auto/v1713204144/base/images/vin-ocr/vin.jpg
- Output: Markdown with detected VIN, confidence, bounding box, and candidates
- Description: Get comprehensive vehicle info by year, make, model, and optional trim
- Parameters:
year
(string, required)make
(string, required)model
(string, required)trim
(string, optional)
- ⚡ Example Prompt:
ymm
Toyota
Camry
2020
- Output: Markdown with vehicle details, colors, features, options, and packages
- Description: Decode an OBD code and get diagnosis information
- Parameters:
code
(string, required): OBD code (e.g., P0115)
- ⚡ Example Prompt:
obd code
P0115
- Output: Markdown with code, diagnosis, and date