MarketCheck MCP Apps
MarketCheck API & MCP Apps
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 serveThen 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.htmlConnecting as an MCP Server
MCP Server URL
If hosted at apps.marketcheck.com:
https://apps.marketcheck.com/mcpAuthentication 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_KEYThis 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 servePriority 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
Go to Settings → Connectors → Add Custom Connector
Enter the MCP server URL:
With your own key:
https://apps.marketcheck.com/mcp?api_key=YOUR_API_KEYWithout key (uses server default):
https://apps.marketcheck.com/mcp
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. |
|
MarketCheck MCP Apps (this project) | Interactive dashboards with visual UI |
|
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 |
| Complete VIN-based market intelligence report — embeddable widget | |
| Visual car shopping with filters, photo cards, and side-by-side comparison | |
— | Full search with SERP, vehicle details, and natural language search | |
| Buy/Negotiate/Pass verdict with gauge, negotiation toolkit, and alternatives | |
| True out-of-pocket cost after rebates and APR savings | |
| Instant 3-tier trade-in value with sold comp evidence | |
| Stock-ticker-style dashboard tracking used car prices ⚠️ Enterprise API | |
| Cash back, APR, and lease deals by ZIP | |
| Search ALL OEM incentives by budget, not by brand |
Dealer (5 apps)
App | Tool Name | Description |
| Full lot inventory with market price gaps, aging heatmap, stocking hot list | |
| Demand heatmap, buy/avoid lists, VIN checker | |
| Shareable market report dealers give buyers | |
| Which cars match your sales DNA? ML-scored acquisitions | |
| Find competitors' best-sellers you should stock |
Appraiser (4 apps)
App | Tool Name | Description |
| Complete vehicle valuation studio | |
| Price distribution and market positioning | |
| Track how vehicles lose value over time | |
| The pulse of the automotive market |
Dealership Group (3 apps)
App | Tool Name | Description |
| Every store, one screen | |
| Move the right cars to the right stores | |
| Rank and compare your locations |
Lender (4 apps)
App | Tool Name | Description |
| Single-loan collateral valuation with LTV forecast | |
| Track collateral health across your loan book | |
| What-if depreciation scenarios on your loan book | |
| EV vs ICE depreciation risk tracking |
Analyst (3 apps)
App | Tool Name | Description |
| Pre-earnings channel check for auto tickers | |
| Morning signal scan across your portfolio | |
| Benchmark public dealer groups |
Insurer (2 apps)
App | Tool Name | Description |
| Total-loss determination with market evidence | |
| Segment-level replacement cost and risk analysis |
Manufacturer (2 apps)
App | Tool Name | Description |
| Your brands vs the competition | |
| Allocate inventory where demand is hottest |
Auction House (2 apps)
App | Tool Name | Description |
| Plan lanes, price consignments, target buyers | |
| Wholesale vs retail spread — find profit opportunities |
Wholesaler (1 app)
App | Tool Name | Description |
| Paste VINs, get dealer-match rankings |
Cross-Segment (4 apps)
App | Tool Name | Description |
| The EV transition in one dashboard | |
| Full listing timeline — dealer hops, price changes, red flags | |
| Find underpriced vehicles and pricing outliers | |
| Macro UK automotive market intelligence |
Consumer UK (1 app)
App | Tool Name | Description |
| Search and compare UK car listings in GBP |
Dealer UK (1 app)
App | Tool Name | Description |
| UK lot inventory priced against the market |
Auto Media (1 app)
App | Tool Name | Description |
| One-page market briefing with quotable data points |
Fleet Manager (1 app)
App | Tool Name | Description |
| Fleet values, depreciation, and replacement planning |
Rental/Subscription (1 app)
App | Tool Name | Description |
| Mileage-adjusted fleet valuation with rotation timing |
Lender Sales (1 app)
App | Tool Name | Description |
| 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 |
TypeScript/Next.js | Reference chat with | ||
React/Next.js | AI copilot overlay on existing dashboard UI | ||
React/Next.js | Custom-branded noir theme with rich tool result cards | ||
TypeScript | Single codebase deploys to Slack, Discord, Telegram, Teams | ||
Python | MCP-native chat with built-in tool execution visualization | ||
Python | Lightweight chat for data teams | ||
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 devPython 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.pyChat 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 devAPI 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_KEY3. 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 |
| OAuth token (secure, 6hr TTL) |
| API key (for personal/internal use) |
| Hides chrome, full-bleed layout, auto-executes |
| Pre-populate VIN field |
| Pre-populate ZIP code |
| Pre-populate vehicle selection |
| Pre-populate mileage |
| Pre-populate state |
| 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 utilitiesHow it works
The MCP server registers 44 tools, each with a
_meta.ui.resourceUripointing to aui://resourceWhen an MCP host (Claude, VS Code, etc.) calls a tool, it also fetches the UI resource — a single-file HTML bundle
The app renders in a sandboxed iframe inside the host
The app calls
app.callServerTool()for data andapp.updateModelContext()to push results back to the LLMIn web mode, apps call the MarketCheck API directly from the browser (no proxy needed)
All apps include mock data fallback for demo mode
Tech stack
Server:
@modelcontextprotocol/sdk+@modelcontextprotocol/ext-apps+ ExpressUI: Vanilla TypeScript + Canvas 2D API (no chart libraries)
Build: Vite +
vite-plugin-singlefile→ single HTML file per appData: 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 |
| VIN to full vehicle specs |
Price Predict |
| ML price prediction + comparables |
Search Active |
| Current dealer listings with filters |
Search Recent |
| Recently sold/expired listings |
Car History |
| Listing timeline for a VIN |
Sold Summary |
| Aggregated market analytics |
OEM Incentives |
| Manufacturer incentives by ZIP |
Rank Dealers |
| Dealer-vehicle match scoring |
Rank Vehicles |
| Vehicle-dealer fit scoring |
UK Active |
| UK market active listings |
UK Recent |
| 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/mcpIndividual app:
https://apps.marketcheck.com/apps/{app-name}/dist/index.htmlHealth 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 --prodDocker / Cloud Run / Railway / Render / Fly.io:
npm install && npm run build
PORT=3001 MARKETCHECK_API_KEY=your_key npm run serveMCP Host Compatibility
MCP Apps are supported by:
Claude (web) and Claude Desktop
Claude Code (CLI and VS Code extension)
Development
Build all apps
npm run buildBuild a single app
cd packages/apps/deal-evaluator
npx vite buildAdd a new app
Create
packages/apps/my-new-app/withpackage.json,tsconfig.json,vite.config.ts,index.html,src/main.tsCreate
packages/server/src/tools/my-new-app.tswith the tool handlerAdd to
packages/server/src/index.tstoolModules arrayAdd to
packages/gallery/src/main.tsAPPS arrayRun
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
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MarketcheckHub/marketcheck-mcp-apps'
If you have feedback or need assistance with the MCP directory API, please join our Discord server