# api MCP server

MarketCheck automotive data: search US/UK listings, predict prices, decode VINs, market history.

## Links
- Registry page: https://www.getdrio.com/mcp/com-marketcheck-api
- Repository: https://github.com/MarketcheckHub/marketcheck-mcp-client
- Website: https://developers.marketcheck.com/mcp

## Install
- Endpoint: https://developers.marketcheck.com/api/mcp
- Auth: Not captured

## Setup notes
- Remote endpoint: https://developers.marketcheck.com/api/mcp

## Tools
- search_active_cars (Search Active US/Canada Vehicle Listings) - Search for cars in the United States and Canada market with comprehensive filters.

This endpoint allows searching market vehicles that are up for sale in US and Canadian
market right now. This endpoint serves only dealer listings.

DO NOT USE CARFAX FIELDS: Carfax data on this server is incomplete and unreliable. Do
NOT pass `carfax_1_owner` or `carfax_clean_title` as filters, do NOT request them in
facets/stats, and do NOT infer ownership history, title status, or any other meaning
from any `carfax_*` value that might appear in a listing. Treat all Carfax fields as
if they did not exist.

MANDATORY TWO-STEP WORKFLOW for filtering by categorical fields. Field values in this API
are NOT canonical English (e.g. fuel_type="Hybrid" is wrong; the actual value is "HEV" or
"Electric / Unleaded"). Skipping step 1 leads to silent zero-result responses.

    STEP 1 — discover valid values: call this tool with ONLY the `facets` parameter
             (and an optional location filter), rows=1, no other filters set.
    STEP 2 — filter for real: re-call with the exact strings returned in step 1.

For instance, to filter cars by powertrain in New York:
    STEP 1 call: search_active_cars(facets="powertrain_type", rows=1, state="NY")
                 -> returns {"powertrain_type": [{"item": "HEV", "count": 18058},
                                                  {"item": "PHEV", "count": 6004}, ...]}
    STEP 2 call: search_active_cars(powertrain_type="HEV,PHEV", state="NY")

Fields that REQUIRE step 1 before being used as filters: powertrain_type, fuel_type,
trim, body_type, drivetrain, transmission, make, model, exterior_color, interior_color.

WRONG:   search_active_cars(fuel_type="Hybrid")          # silent zero-result
CORRECT: search_active_cars(facets="fuel_type", rows=1)  # discover valid values first
         then: search_active_cars(fuel_type="Electric / Unleaded")

DEALER FILTERING: When any of dealer_id, source, mc_website_id, mc_dealer_id, mc_location_id,
mc_rooftop_id, mc_dealership_group_id, mc_dealership_group_name, mc_sub_dealership_group_id,
mc_sub_dealership_group_name, or mc_category are provided, this tool automatically routes to the
Dealer Inventory Syndication API (GET /dealerships/inventory) instead of the standard inventory
search API for optimized dealer-specific inventory retrieval.
Use search_past_90_days for expired/sold dealer inventory analysis.

STALENESS METRICS — dos_active vs dom_active (read before answering "how long has
this car been for sale" questions):
  - dos_active (Days on Site): days this listing has been active at the CURRENT
    dealer. Answers "how long has THIS DEALER been trying to sell this car."
    DEFAULT: use dos_active for stale-inventory and "how long has it been listed"
    questions (e.g. finding dealers with stale inventory in an area).
  - dom_active (Days on Market): cumulative days the VEHICLE has been actively
    listed for sale across ALL dealers — it survives dealer-to-dealer transfers.
    Use ONLY when the question is about the vehicle's total market exposure, e.g.
    evaluating a car at auction or in a dealer trade: a car showing dos_active=15
    at the current store may show dom_active=60 because it has been passed around
    dealers for two months.
This rule applies to choosing filter params (dos_active_range vs dom_active_range),
sort_by values, and which field to read and report from listing results. When
unsure which the user means, default to dos_active. Endpoint: https://developers.marketcheck.com/api/mcp
- search_past_90_days (Search US Expired Listings (Past 90 Days)) - Search for recent car inventory (EXPIRED/SOLD listings from last 90 days) with comprehensive filters following Marketcheck API structure.

IMPORTANT: This endpoint serves ONLY expired/sold listings from the last 90 days for US and CA (Canada) markets, NOT active listings.
For currently active listings, use the search_active_cars tool instead.

DO NOT USE CARFAX FIELDS: Carfax data on this server is incomplete and unreliable. Do
NOT pass `carfax_1_owner` or `carfax_clean_title` as filters, do NOT request them in
facets/stats, and do NOT infer ownership history, title status, or any other meaning
from any `carfax_*` value that might appear in a listing. Treat all Carfax fields as
if they did not exist.

IMPORTANT: Before filtering by specific field values (make, model, trim, body_type, fuel_type, etc.),
use the 'facets' parameter to discover available values in the API. Field values may be
represented differently than expected. For example:
- Use facets="make,model,trim,body_type" to see all available options
- This prevents filtering errors due to incorrect field value assumptions
- Facets show actual data distribution and available filter options

VIN vs Listing ID Disclaimer:
- A single VIN can have multiple listings, each with a unique listing ID
- Listing ID changes when there are changes in price or miles of the listing
- When expired=false is set, it shows listings for VINs that are currently active in the market (not sold yet), 
  but the specific listing is expired. The latest/current listing for that VIN is present in the active search API
- This endpoint shows historical listing data (expired listing IDs) for market analysis, not current inventory

This endpoint is designed for analytical use cases including:
- Historical market analysis of sold vehicles
- Sold vehicle pricing trends and patterns
- Days on market analysis for expired listings  
- Dealer inventory turnover and sales analysis
- Market intelligence from recently sold inventory

Key use cases:
- Analyze recent sales trends and pricing
- Get sold/expired listings for market intelligence  
- Calculate average market prices from recent inventory
- Track dealer inventory turnover patterns

Due to performance reasons, this endpoint is more restrictive than active search:
- Does not accept facets, stats and range_facets in a single call
- Requires one of: city, state, zip, (latitude+longitude+radius), source, or dealer_id
- For geo queries, radius cannot be greater than 100 miles
- Charged at higher rates than active search endpoint

STALENESS METRICS — dos_active vs dom_active (read before answering "how long was
this car for sale" questions):
  - dos_active (Days on Site): days the listing was active at the CURRENT dealer.
    Answers "how long did THIS DEALER try to sell this car." DEFAULT: use
    dos_active for stale-inventory and "how long was it listed" questions.
  - dom_active (Days on Market): cumulative days the VEHICLE was actively listed
    across ALL dealers — it survives dealer-to-dealer transfers. Use ONLY when the
    question is about the vehicle's total market exposure, e.g. evaluating a car
    at auction or in a dealer trade: a car showing dos_active=15 at the current
    store may show dom_active=60 because it was passed around dealers for two months.
This rule applies to choosing filter params (dos_active_range vs dom_active_range),
sort_by values, and which field to read and report from listing results. When
unsure which the user means, default to dos_active. Endpoint: https://developers.marketcheck.com/api/mcp
- predict_price_with_comparables (Predict Vehicle Price with Comparables) - Predict car price along with comparable vehicles in the market.

This provides predicted price, MSRP along with active set comparables to help
understand market positioning and competitive pricing. Endpoint: https://developers.marketcheck.com/api/mcp
- get_car_history (Get Vehicle Listing History by VIN) - Get a car's online listing history by VIN.

The history API returns online listing history for a car identified by its VIN.
History listings are sorted in the descending order of the listing date / last seen date. Endpoint: https://developers.marketcheck.com/api/mcp
- decode_vin_neovin (Decode VIN with NeoVIN) - Get vehicle specifications from NeoVIN decoder by VIN.

Get the basic information on specifications for a car identified by a valid VIN from NeoVIN decoder.
This provides detailed vehicle specifications including trim, engine, transmission, features, options,
MSRP information, and more comprehensive data than standard VIN decoders. Endpoint: https://developers.marketcheck.com/api/mcp
- get_server_info (Get Server Information) - Get information about the server.

Returns:
    Server capabilities as a dict (serialized by the transport layer) Endpoint: https://developers.marketcheck.com/api/mcp
- search_uk_active_cars (Search Active UK Vehicle Listings) - Search for active cars in the UK market.

This tool searches for currently active car listings in the UK using the Marketcheck API.
It supports comprehensive filtering by location, vehicle specifications, price, and more.
Includes all parameters supported by the /search/car/uk/active endpoint.

DO NOT USE CARFAX FIELDS: Carfax data on this server is incomplete and unreliable. Do
NOT pass `carfax_1_owner` or `carfax_clean_title` (via kwargs or otherwise) as filters,
do NOT request them in facets/stats, and do NOT infer ownership history, title status,
or any other meaning from any `carfax_*` value that might appear in a listing. Treat
all Carfax fields as if they did not exist.

IMPORTANT: Before filtering by specific field values (make, model, trim, body_type, fuel_type, etc.),
use the 'facets' parameter to discover available values in the API. Field values may be
represented differently than expected. For example:
- Use facets="make,model,trim,body_type" to see all available options
- This prevents filtering errors due to incorrect field value assumptions
- Facets show actual data distribution and available filter options

STALENESS METRICS — dos_active vs dom_active (read before answering "how long has
this car been for sale" questions):
  - dos_active (Days on Site): days this listing has been active at the CURRENT
    dealer. Answers "how long has THIS DEALER been trying to sell this car."
    DEFAULT: use dos_active for stale-inventory and "how long has it been listed"
    questions.
  - dom_active (Days on Market): cumulative days the VEHICLE has been actively
    listed for sale across ALL dealers — it survives dealer-to-dealer transfers.
    Use ONLY when the question is about the vehicle's total market exposure, e.g.
    evaluating a car at auction or in a dealer trade: a car showing dos_active=15
    at the current store may show dom_active=60 because it has been passed around
    dealers for two months.
This rule applies to choosing filter params (dos_active_range vs dom_active_range),
sort_by values, and which field to read and report from listing results. When
unsure which the user means, default to dos_active. Endpoint: https://developers.marketcheck.com/api/mcp
- search_uk_recent_cars (Search UK Expired Listings (Past 90 Days)) - Search for recent/expired cars in the UK market (last 90 days).

This tool searches recent inventory data for EXPIRED/SOLD listings only.
It does NOT include active listings - use search_uk_active_cars for current inventory.

DO NOT USE CARFAX FIELDS: Carfax data on this server is incomplete and unreliable. Do
NOT pass `carfax_1_owner` or `carfax_clean_title` (via kwargs or otherwise) as filters,
do NOT request them in facets/stats, and do NOT infer ownership history, title status,
or any other meaning from any `carfax_*` value that might appear in a listing. Treat
all Carfax fields as if they did not exist.

IMPORTANT: Before filtering by specific field values (make, model, trim, body_type, fuel_type, etc.),
use the 'facets' parameter to discover available values in the API. Field values may be
represented differently than expected. For example:
- Use facets="make,model,trim,body_type" to see all available options
- This prevents filtering errors due to incorrect field value assumptions
- Facets show actual data distribution and available filter options

STALENESS METRICS — dos_active vs dom_active (read before answering "how long was
this car for sale" questions):
  - dos_active (Days on Site): days the listing was active at the CURRENT dealer.
    Answers "how long did THIS DEALER try to sell this car." DEFAULT: use
    dos_active for stale-inventory and "how long was it listed" questions.
  - dom_active (Days on Market): cumulative days the VEHICLE was actively listed
    across ALL dealers — it survives dealer-to-dealer transfers. Use ONLY when the
    question is about the vehicle's total market exposure, e.g. evaluating a car
    at auction or in a dealer trade: a car showing dos_active=15 at the current
    store may show dom_active=60 because it was passed around dealers for two months.
This rule applies to choosing filter params (dos_active_range vs dom_active_range),
sort_by values, and which field to read and report from listing results. When
unsure which the user means, default to dos_active. Endpoint: https://developers.marketcheck.com/api/mcp
- get_sold_summary (Get Sold Vehicle Market Summary) - Get comprehensive sold vehicle summary with advanced filtering, ranking, and grouping capabilities for US market only.
This provides historical sales data (up to 5 years) for sold vehicles in the United States.

Time period:
- date_from: Start date for summary period, should be in YYYY-MM-DD format and first day of the month
- date_to: End date for summary period, should be in YYYY-MM-DD format and last day of the month

Basic filters:
- inventory_type: Filter by inventory type (New, Used), defaults to New
- dealer_type: Filter by dealer type (Franchise, Independent)
- state: Filter by US state, should be a valid 2-letter state code (e.g., CA, TX, NY, etc.)

Vehicle filters:
- make: Filter by car make (e.g., Toyota, Ford, etc.)
- model: Filter by car model (e.g., F-150, Corolla, etc.)
- body_type: Filter by car body type (e.g., SUV, Sedan, Pickup, Hatchback, etc.)
- fuel_type_category: Filter by fuel type category (ICE, EV, Hybrid, Unknown, Other)

Dealership filters:
- dealership_group_name: Filter by dealership group name (e.g., Lithia Motors Inc., etc.)

Ranking and grouping:
- top_n: Limit the number of results returned per group, must be greater than or equal to 1
- ranking_dimensions: Group results by summary for selected fields (comma separated). VALID VALUES ONLY: 'make', 'model', 'body_type', 'dealership_group_name'
- ranking_measure: Measure to rank by (sold_count, average_sale_price, total_sale_price, average_days_on_market)
- ranking_order: Order of ranking (asc, desc), defaults to desc
- summary_by: Group results by state or city_state

Pagination:
- limit: Maximum number of results to return, must be greater than or equal to 1, Max is 5000

Advanced filters (use operators like >, <, >=, <=, = followed by a number):
- sold_count: Filter by sold count (e.g., ">100", "<=50")
- average_sale_price: Filter by average sale price (e.g., ">20000", "<=15000.50")
- total_sale_price: Filter by total sale price (e.g., ">500000", "<=300000.75")
- average_days_on_market: Filter by average days on market (e.g., ">30", "<=60")
- price_over_msrp_percentage: Filter by price over MSRP percentage (e.g., ">5", "<=0")

Returns:
    JSON string with sold vehicle summary results including sold count, average sale price, 
    total sale price, price range, standard deviation, price over MSRP percentage, 
    average MSRP, average days on market, and median days on market Endpoint: https://developers.marketcheck.com/api/mcp

## Resources
Not captured

## Prompts
Not captured

## Metadata
- Owner: com.marketcheck
- Version: 1.1.0
- Runtime: Streamable Http
- Transports: HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: Jun 12, 2026
- Source: https://registry.modelcontextprotocol.io
