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

  1. 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
  2. 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
  3. 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.