A client wanted to give their AI assistant the ability to search and filter live car listings from AutoTrader โ directly inside ChatGPT, Claude, and Gemini โ without copy-pasting URLs or manually browsing the site. The solution: a custom Apify actor exposed as an MCP (Model Context Protocol) tool.
What I Built
I developed a fully packaged Apify actor that scrapes AutoTrader in real time โ extracting make, model, year, price, mileage, location, dealer info, and listing URLs. The actor is then wrapped as an MCP server, making it callable by any MCP-compatible LLM host.
How It Works
- Actor layer: A Playwright-based Apify actor navigates AutoTrader with full anti-bot bypass, accepting structured input (make, model, max price, location radius) and returning clean JSON output
- MCP wrapper: The actor is exposed as an MCP tool with a typed schema โ the LLM sends a structured call, the actor runs on Apify's cloud, and results stream back as structured data
- LLM integration: Connected to GPT-4o via OpenAI's function-calling, Claude via Anthropic's tool use, and Gemini via Google's function declarations โ all from the same actor endpoint
Key Features
- Natural language queries: "Find me a 2021 Toyota Camry under $20k within 50 miles of Chicago" โ live listings returned instantly
- Structured JSON output compatible with all three major LLM providers
- Runs on Apify's infrastructure โ no server management, always-on availability
- Reusable MCP schema: swap AutoTrader for any other listing site with minimal changes
Results
The client's AI assistant can now search, compare, and summarize live car listings in real time โ entirely within the chat interface. The pattern proved so versatile that it's now being applied to real estate and job listing platforms using the same MCP actor architecture.