loading…
Search for a command to run...
loading…
Provides 25 interactive automotive intelligence tools for real-time market data, including VIN decoding, price predictions, and inventory analytics. It enables
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.
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
| 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
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.
# Install dependencies
npm install
# Build everything (gallery + 45 apps + server)
npm run build
# Start the server
npm run serve
Then open:
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
If hosted at apps.marketcheck.com:
https://apps.marketcheck.com/mcp
There are two ways to authenticate:
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.
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
https://apps.marketcheck.com/mcp?api_key=YOUR_API_KEYhttps://apps.marketcheck.com/mcpCustom connectors require a paid Claude plan (Pro, Max, or Team).
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"
}
}
}
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:
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.
| 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 ⚠️ Enterprise API |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| App | Tool Name | Description |
|---|---|---|
| Wholesale Vehicle Router | route-wholesale-vehicles |
Paste VINs, get dealer-match rankings |
| 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 |
| App | Tool Name | Description |
|---|---|---|
| UK Market Explorer | search-uk-cars |
Search and compare UK car listings in GBP |
| App | Tool Name | Description |
|---|---|---|
| UK Dealer Pricing | scan-uk-lot-pricing |
UK lot inventory priced against the market |
| App | Tool Name | Description |
|---|---|---|
| Auto Journalist Briefing | generate-market-briefing |
One-page market briefing with quotable data points |
| App | Tool Name | Description |
|---|---|---|
| Fleet Lifecycle Manager | manage-fleet-lifecycle |
Fleet values, depreciation, and replacement planning |
| App | Tool Name | Description |
|---|---|---|
| Rental Fleet Valuator | value-rental-fleet |
Mileage-adjusted fleet valuation with rotation timing |
| App | Tool Name | Description |
|---|---|---|
| Territory Pipeline | territory-pipeline |
Find dealers who need floor plan |
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 |
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
Apps support three data access paths, tried in order:
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.
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
If no API key is available, apps display realistic mock data. Every app works fully offline.
Embed any app as an iframe in your website.
<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>
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>
| 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) |
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
_meta.ui.resourceUri pointing to a ui:// resourceapp.callServerTool() for data and app.updateModelContext() to push results back to the LLM@modelcontextprotocol/sdk + @modelcontextprotocol/ext-apps + Expressvite-plugin-singlefile → single HTML file per app| 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 |
The production instance is hosted at apps.marketcheck.com.
https://apps.marketcheck.com/https://apps.marketcheck.com/mcphttps://apps.marketcheck.com/apps/{app-name}/dist/index.htmlhttps://apps.marketcheck.com/healthMARKETCHECK_API_KEY=your_api_key # Required for MCP mode
PORT=3001 # Server port (default 3001)
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 Apps are supported by:
npm run build
cd packages/apps/deal-evaluator
npx vite build
packages/apps/my-new-app/ with package.json, tsconfig.json, vite.config.ts, index.html, src/main.tspackages/server/src/tools/my-new-app.ts with the tool handlerpackages/server/src/index.ts toolModules arraypackages/gallery/src/main.ts APPS arraynpm install && npm run build| 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 |
MIT
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"marketcheck-mcp-apps": {
"command": "npx",
"args": []
}
}
}