MarketCheck MCP Apps

MarketCheck MCP Apps

Provides 25 interactive automotive intelligence tools for real-time market data, including VIN decoding, price predictions, and inventory analytics. It enables AI assistants to perform car searches, trade-in estimations, and market trend analysis using the Model Context Protocol.

Category
Visit Server

README

MarketCheck API & MCP Apps

<img src="https://34682200.delivery.rocketcdn.me/wp-content/uploads/2024/05/cropped-MC-Icon.png.webp" alt="MarketCheck" width="48" align="left" style="margin-right:12px;" />

45 interactive automotive market intelligence dashboards + 7 AI chat demos — usable as MCP UI Apps inside AI assistants, as a standalone web showcase, as embeddable iframe widgets, or as conversational AI chat interfaces.

Powered by MarketCheck real-time automotive data — VIN decoding, ML price predictions, active/sold inventory, and aggregated market analytics. The chat demos showcase the same API capabilities through 7 different chat SDKs.

Live demo: apps.marketcheck.com


4 Ways to Use

Mode Description Auth Required
Demo Browse all 45 apps with realistic sample data None
Live Data Enter your MarketCheck API key for real market data API Key (entered in the app UI)
Embed Embed apps in your website/portal via iframe OAuth Access Token (secure, 6hr TTL)
MCP / AI Use inside Claude, VS Code Copilot, Goose, and other MCP hosts API Key (server-side env var)

Don't have an API key? Sign up free at developers.marketcheck.com


Quick Start

Live Demo (hosted)

Visit apps.marketcheck.com — all 45 apps are available in demo mode. Enter your API key in the settings gear to switch to live data.

Self-hosted

# Install dependencies
npm install

# Build everything (gallery + 45 apps + server)
npm run build

# Start the server
npm run serve

Then open:

  • Gallery: http://localhost:3001/ — browse all 45 apps
  • MCP endpoint: http://localhost:3001/mcp — for AI assistant connectors
  • Any app directly: http://localhost:3001/apps/{app-name}/dist/index.html

Demo Mode (no server needed)

Open any built HTML file directly in your browser — all apps have mock data:

open packages/apps/vin-market-report/dist/index.html
open packages/apps/deal-evaluator/dist/index.html
open packages/apps/car-search-app/dist/index.html

Connecting as an MCP Server

MCP Server URL

If hosted at apps.marketcheck.com:

https://apps.marketcheck.com/mcp

Authentication for MCP Mode

There are two ways to authenticate:

Option 1: API key in the MCP URL (recommended for individual users)

Pass your MarketCheck API key as a query parameter on the MCP URL:

https://apps.marketcheck.com/mcp?api_key=YOUR_API_KEY

This lets each user provide their own key. No server configuration needed.

Option 2: Server-side environment variable (recommended for shared/hosted deployments)

Set MARKETCHECK_API_KEY on the server. All connected MCP clients share this key automatically — users don't need to provide one.

MARKETCHECK_API_KEY=your_api_key npm run serve

Priority order: If a client provides ?api_key= in the URL, it takes precedence over the server env var for that request. If no URL key is provided, the env var is used as fallback.

Don't have an API key? Sign up free at developers.marketcheck.com

Setting up in Claude

  1. Go to Settings → Connectors → Add Custom Connector
  2. Enter the MCP server URL:
    • With your own key: https://apps.marketcheck.com/mcp?api_key=YOUR_API_KEY
    • Without key (uses server default): https://apps.marketcheck.com/mcp
  3. Start a new chat and ask Claude to use any tool (e.g. "Evaluate this deal: VIN 5TDJSKFC2NS055758")

Custom connectors require a paid Claude plan (Pro, Max, or Team).

Setting up in Claude Code / VS Code / Other MCP Clients

Add to your MCP client configuration:

{
  "mcpServers": {
    "marketcheck-apps": {
      "url": "https://apps.marketcheck.com/mcp?api_key=YOUR_API_KEY"
    }
  }
}

Or without a personal key (server provides its own):

{
  "mcpServers": {
    "marketcheck-apps": {
      "url": "https://apps.marketcheck.com/mcp"
    }
  }
}

How is this different from the MarketCheck MCP Data Server?

MarketCheck offers two separate MCP servers:

Server Purpose Tools
MarketCheck MCP Data Server Raw API access — search, decode, predict, etc. search_active_cars, decode_vin_neovin, predict_price_with_comparables, etc.
MarketCheck MCP Apps (this project) Interactive dashboards with visual UI evaluate-deal, estimate-trade-in, generate-vin-market-report, etc.

Key differences:

  • The Data Server returns raw JSON data — the AI model processes and presents it
  • The Apps Server returns interactive HTML dashboards that render in the MCP host's UI panel — the user can interact with charts, tables, and filters directly
  • The Apps Server calls the same MarketCheck APIs under the hood, but wraps them in rich visual interfaces
  • You can use both servers simultaneously — they have different tool names and don't conflict

You do NOT need the Data Server to use the Apps Server. Each is independent. The Apps Server has its own server-side API key and makes its own API calls.


All 52 Apps

Consumer (9 apps)

App Tool Name Description
VIN Market Report generate-vin-market-report Complete VIN-based market intelligence report — embeddable widget
Car Search & Compare search-cars, compare-cars Visual car shopping with filters, photo cards, and side-by-side comparison
Car Search Full search with SERP, vehicle details, and natural language search
Deal Evaluator evaluate-deal Buy/Negotiate/Pass verdict with gauge, negotiation toolkit, and alternatives
Incentive-Adjusted Deal Evaluator evaluate-incentive-deal True out-of-pocket cost after rebates and APR savings
Trade-In Estimator estimate-trade-in Instant 3-tier trade-in value with sold comp evidence
Used Car Market Index get-market-index Stock-ticker-style dashboard tracking used car prices
OEM Incentives Explorer oem-incentives-explorer Cash back, APR, and lease deals by ZIP
Incentive Deal Finder find-incentive-deals Search ALL OEM incentives by budget, not by brand

Dealer (5 apps)

App Tool Name Description
Lot Pricing Dashboard scan-lot-pricing Full lot inventory with market price gaps, aging heatmap, stocking hot list
Stocking Intelligence stocking-intelligence Demand heatmap, buy/avoid lists, VIN checker
Pricing Transparency Report generate-pricing-report Shareable market report dealers give buyers
Dealer Inventory Fit Scorer score-dealer-fit Which cars match your sales DNA? ML-scored acquisitions
Dealer Conquest Analyzer analyze-dealer-conquest Find competitors' best-sellers you should stock

Appraiser (4 apps)

App Tool Name Description
Appraiser Workbench appraiser-workbench Complete vehicle valuation studio
Comparables Explorer comparables-explorer Price distribution and market positioning
Depreciation Analyzer depreciation-analyzer Track how vehicles lose value over time
Market Trends Dashboard market-trends-dashboard The pulse of the automotive market

Dealership Group (3 apps)

App Tool Name Description
Group Operations Center group-operations-center Every store, one screen
Inventory Balancer inventory-balancer Move the right cars to the right stores
Location Benchmarking location-benchmarking Rank and compare your locations

Lender (4 apps)

App Tool Name Description
Underwriting Decision Support evaluate-loan-application Single-loan collateral valuation with LTV forecast
Portfolio Risk Monitor portfolio-risk-monitor Track collateral health across your loan book
Lender Portfolio Stress Test stress-test-portfolio What-if depreciation scenarios on your loan book
EV Collateral Risk Monitor ev-collateral-risk EV vs ICE depreciation risk tracking

Analyst (3 apps)

App Tool Name Description
Earnings Signal Dashboard earnings-signal-dashboard Pre-earnings channel check for auto tickers
Watchlist Monitor watchlist-monitor Morning signal scan across your portfolio
Dealer Group Scorecard dealer-group-scorecard Benchmark public dealer groups

Insurer (2 apps)

App Tool Name Description
Claims Valuation Workbench claims-valuation Total-loss determination with market evidence
Insurance Premium Benchmarker benchmark-insurance-premiums Segment-level replacement cost and risk analysis

Manufacturer (2 apps)

App Tool Name Description
Brand Command Center brand-command-center Your brands vs the competition
Regional Demand Allocator regional-demand-allocator Allocate inventory where demand is hottest

Auction House (2 apps)

App Tool Name Description
Auction Lane Planner auction-lane-planner Plan lanes, price consignments, target buyers
Auction Arbitrage Finder find-auction-arbitrage Wholesale vs retail spread — find profit opportunities

Wholesaler (1 app)

App Tool Name Description
Wholesale Vehicle Router route-wholesale-vehicles Paste VINs, get dealer-match rankings

Cross-Segment (4 apps)

App Tool Name Description
EV Market Monitor ev-market-monitor The EV transition in one dashboard
VIN History Detective trace-vin-history Full listing timeline — dealer hops, price changes, red flags
Market Anomaly Detector detect-market-anomalies Find underpriced vehicles and pricing outliers
UK Market Trends get-uk-market-trends Macro UK automotive market intelligence

Consumer UK (1 app)

App Tool Name Description
UK Market Explorer search-uk-cars Search and compare UK car listings in GBP

Dealer UK (1 app)

App Tool Name Description
UK Dealer Pricing scan-uk-lot-pricing UK lot inventory priced against the market

Auto Media (1 app)

App Tool Name Description
Auto Journalist Briefing generate-market-briefing One-page market briefing with quotable data points

Fleet Manager (1 app)

App Tool Name Description
Fleet Lifecycle Manager manage-fleet-lifecycle Fleet values, depreciation, and replacement planning

Rental/Subscription (1 app)

App Tool Name Description
Rental Fleet Valuator value-rental-fleet Mileage-adjusted fleet valuation with rotation timing

Lender Sales (1 app)

App Tool Name Description
Territory Pipeline territory-pipeline Find dealers who need floor plan

Chat Demos (7 apps)

Each chat demo uses a different SDK to showcase MarketCheck API capabilities through conversational AI interfaces:

App SDK Language Description
AI Car Advisor Vercel AI SDK TypeScript/Next.js Reference chat with useChat hook, streaming, and tool visualization
Dashboard Copilot CopilotKit React/Next.js AI copilot overlay on existing dashboard UI
MarketCheck Chat assistant-ui React/Next.js Custom-branded noir theme with rich tool result cards
Multi-Platform Bot Chat SDK TypeScript Single codebase deploys to Slack, Discord, Telegram, Teams
Market Analyst Chainlit Python MCP-native chat with built-in tool execution visualization
Quick Market Check Streamlit Python Lightweight chat for data teams
AI Agent Explorer LangChain TypeScript/Next.js LangGraph ReAct agent with visible reasoning chains

Running Chat Demos

TypeScript apps (Vercel AI SDK, CopilotKit, assistant-ui, LangChain):

cd packages/chat/vercel-ai-chat   # or copilotkit-chat, assistant-ui-chat, langchain-agent-chat
cp .env.local.example .env.local  # Add your ANTHROPIC_API_KEY and MARKETCHECK_API_KEY
npm install
npm run dev

Python apps (Chainlit, Streamlit):

cd packages/chat/chainlit-chat    # or streamlit-chat
cp .env.example .env              # Add your keys
pip install -r requirements.txt

# Chainlit:
chainlit run app.py -w

# Streamlit:
streamlit run app.py

Chat SDK Bot (Slack/Discord/Telegram):

cd packages/chat/chat-sdk-bot
cp .env.example .env              # Add API keys + platform bot tokens
npm install
npm run dev

API Access Modes

Apps support three data access paths, tried in order:

1. MCP Mode (AI assistants)

When running inside an MCP host (Claude, VS Code, etc.), apps call _safeApp.callServerTool() which routes through the MCP server. The server uses its MARKETCHECK_API_KEY env var — users don't provide a key.

2. Direct API Mode (web/embed)

When loaded in a browser with an API key, apps call the MarketCheck API directly from the browser:

Browser → https://api.marketcheck.com/v2/search/car/active?api_key=KEY&...

No proxy or server needed. The MarketCheck API supports CORS (Access-Control-Allow-Origin: *).

To use: enter your API key in the app's settings gear, or pass it as a URL parameter:

https://apps.marketcheck.com/apps/deal-evaluator/dist/index.html?api_key=YOUR_KEY

3. Demo Mode (no auth)

If no API key is available, apps display realistic mock data. Every app works fully offline.


Embedding Apps in Your Portal

Embed any app as an iframe in your website.

Option A: API Key (simple, for internal use)

<iframe
  src="https://apps.marketcheck.com/apps/deal-evaluator/dist/index.html?api_key=YOUR_KEY&embed=true&vin=5TDJSKFC2NS055758"
  width="100%" height="700"
  style="border:none;border-radius:8px;"
></iframe>

Option B: OAuth Token (recommended for production)

Exchange your API key + client secret for a short-lived token (server-side):

curl -X POST https://api.marketcheck.com/oauth2/token \
  -H "Content-Type: application/json" \
  -d '{"grant_type":"client_credentials","client_id":"YOUR_API_KEY","client_secret":"YOUR_SECRET"}'

Then embed with the token:

<iframe
  src="https://apps.marketcheck.com/apps/deal-evaluator/dist/index.html?access_token=TOKEN&embed=true&vin=5TDJSKFC2NS055758"
  width="100%" height="700"
  style="border:none;border-radius:8px;"
></iframe>

URL Parameters

Param Description
access_token OAuth token (secure, 6hr TTL)
api_key API key (for personal/internal use)
embed=true Hides chrome, full-bleed layout, auto-executes
vin Pre-populate VIN field
zip Pre-populate ZIP code
make, model Pre-populate vehicle selection
miles Pre-populate mileage
state Pre-populate state
compact=true Widget mode (VIN Market Report only)

Architecture

marketcheck-api-mcp-apps/
├── package.json                    # Monorepo root (npm workspaces)
├── packages/
│   ├── shared/                     # Shared utilities & types
│   │   └── src/
│   │       ├── types.ts            # Common TypeScript types
│   │       ├── formatters.ts       # Currency, percent, signal classifiers
│   │       ├── index-calculator.ts # Index computation, depreciation, D/S ratio
│   │       └── marketcheck-client.ts # Typed MarketCheck API wrapper (server-side)
│   ├── server/                     # MCP server (44 tools)
│   │   └── src/
│   │       ├── index.ts            # Express + MCP server
│   │       ├── register-app.ts     # Helper to register tool + UI resource pairs
│   │       ├── proxy.ts            # CORS proxy for legacy/fallback mode
│   │       └── tools/              # 44 tool handler files
│   ├── gallery/                    # Web gallery UI
│   ├── apps/                       # 45 app UI folders
│   │   ├── vin-market-report/
│   │   │   ├── src/main.ts         # Full app UI + direct API client
│   │   │   └── dist/index.html     # Built single-file HTML bundle
│   │   └── ... (44 more)
│   └── chat/                       # 7 AI chat demo apps
│       ├── shared/                 # Shared tool definitions & prompts
│       ├── vercel-ai-chat/         # Next.js + Vercel AI SDK
│       ├── copilotkit-chat/        # Next.js + CopilotKit
│       ├── assistant-ui-chat/      # Next.js + assistant-ui
│       ├── chat-sdk-bot/           # Multi-platform bot (Slack/Discord/Telegram)
│       ├── chainlit-chat/          # Python + Chainlit
│       ├── streamlit-chat/         # Python + Streamlit
│       └── langchain-agent-chat/   # Next.js + LangGraph
├── public/                         # Vercel deployment output
├── static/screenshots/             # App screenshots for gallery
└── scripts/                        # Build & migration utilities

How it works

  1. The MCP server registers 44 tools, each with a _meta.ui.resourceUri pointing to a ui:// resource
  2. When an MCP host (Claude, VS Code, etc.) calls a tool, it also fetches the UI resource — a single-file HTML bundle
  3. The app renders in a sandboxed iframe inside the host
  4. The app calls app.callServerTool() for data and app.updateModelContext() to push results back to the LLM
  5. In web mode, apps call the MarketCheck API directly from the browser (no proxy needed)
  6. All apps include mock data fallback for demo mode

Tech stack

  • Server: @modelcontextprotocol/sdk + @modelcontextprotocol/ext-apps + Express
  • UI: Vanilla TypeScript + Canvas 2D API (no chart libraries)
  • Build: Vite + vite-plugin-singlefile → single HTML file per app
  • Data: MarketCheck API (12 endpoints: VIN decode, price prediction, active/sold search, listing history, sold summary, OEM incentives, dealer/vehicle ranking, UK markets)

MarketCheck API Endpoints

Endpoint Path Purpose
VIN Decode GET /v2/decode/car/neovin/{vin}/specs VIN to full vehicle specs
Price Predict GET /v2/predict/car/us/marketcheck_price/comparables ML price prediction + comparables
Search Active GET /v2/search/car/active Current dealer listings with filters
Search Recent GET /v2/search/car/recents Recently sold/expired listings
Car History GET /v2/history/car/{vin} Listing timeline for a VIN
Sold Summary GET /api/v1/sold-vehicles/summary Aggregated market analytics
OEM Incentives GET /v2/incentives/by-zip Manufacturer incentives by ZIP
Rank Dealers GET /v2/rank/dealers Dealer-vehicle match scoring
Rank Vehicles GET /v2/rank/vehicles Vehicle-dealer fit scoring
UK Active GET /v2/search/car/uk/active UK market active listings
UK Recent GET /v2/search/car/uk/recents UK market recent listings

Deployment

Hosted at apps.marketcheck.com

The production instance is hosted at apps.marketcheck.com.

  • Gallery: https://apps.marketcheck.com/
  • MCP endpoint: https://apps.marketcheck.com/mcp
  • Individual app: https://apps.marketcheck.com/apps/{app-name}/dist/index.html
  • Health check: https://apps.marketcheck.com/health

Environment Variables

MARKETCHECK_API_KEY=your_api_key    # Required for MCP mode
PORT=3001                           # Server port (default 3001)

Self-hosting Options

Vercel (recommended for serverless):

npx vercel --prod

Docker / Cloud Run / Railway / Render / Fly.io:

npm install && npm run build
PORT=3001 MARKETCHECK_API_KEY=your_key npm run serve

MCP Host Compatibility

MCP Apps are supported by:


Development

Build all apps

npm run build

Build a single app

cd packages/apps/deal-evaluator
npx vite build

Add a new app

  1. Create packages/apps/my-new-app/ with package.json, tsconfig.json, vite.config.ts, index.html, src/main.ts
  2. Create packages/server/src/tools/my-new-app.ts with the tool handler
  3. Add to packages/server/src/index.ts toolModules array
  4. Add to packages/gallery/src/main.ts APPS array
  5. Run npm install && npm run build

Project stats

Metric Value
Total apps 45 dashboard apps + 7 chat demos
Segments 18 (including Chat Demos)
API endpoints used 12
Built HTML bundles 45 (~400KB each, ~98KB gzipped)
External chart libraries 0 (all Canvas 2D)
Mock data Every app has full offline fallback

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured