Skip to main content

MCP for AI assistants

Let your AI assistant test the site, not just write it.

Connect Claude Code, Cursor, Codex, or any assistant that speaks MCP. Ask in plain words and it sends a first-time visitor through your site on our browsers, waits, and reads back the verdict, every step, and a fix for each issue. Every screenshot stays hosted with the run, so your assistant gets links, not files.

An example session, with a real run’s results

MCP
  1. You: Can a first-time visitor find how many days they have to return a car on carmax.com?
  2. freshvisitstart_journey

    start_url
    “carmax.com”
    goal
    “Find out how many days you have to return a car bought from CarMax”

    Queued. The journey is waiting for a browser.

  3. freshvisitget_run

    wait_seconds
    50

    Found. Reached the goal in 4 steps.

  4. Assistant: Yes, in 4 screens: it clicked “FAQ & support”, then “Buying a Car”, then “Do I really get 10 days to return the car?”, and that page says “You can bring it back within 10 days to the store where you purchased it.” Findability 88 of 100: fairly easy to find.

Screenshots stay hosted with the run. Your assistant gets the links.

Your assistant asks. We do the heavy lifting.

Driving a browser from an assistant usually means a local Chrome, a folder of screenshots, and images stuffed into the chat. Here, all of that stays on our side.

The browser

Browsers run on our side

Each run gets its own browser on our servers, as a desktop, a tablet, or a phone. Nothing to install in your terminal, your editor, or CI, and no Chrome window to babysit.

The screenshots

Every screen, kept for you

Screenshots are stored with the run in your account and served from a global image network. Your assistant gets links, so nothing lands in your repo or a temp folder, and there’s nothing to clean up.

The context window

Answers, not pixels

The verdict, the path, and each issue come back as compact text. Images stay links your assistant opens only when it wants a closer look, so a long session doesn’t fill up with screenshots.

What it reads

One answer, every screen a link away

When a run finishes, your assistant gets plain JSON: how it ended, a findability score with its reasons, the passage that answers the goal, and every step with the click it made and a link to its screenshot. This is the CarMax run, as your assistant reads it.

2.3 KBof text for the whole runEvery step, the score, and the answer.
4screenshots, linkedHosted with the run, opened when needed.
0files on your machineNothing to store, commit, or clean up.
get_run answer, trimmed
{
  "run": {
    "status": "Found",
    "done": true,
    "outcome": "Reached the goal in 4 steps.",
    "answer": {
      "text": "You can bring it back within 10 days to the store where you purchased it",
      "url": "https://www.carmax.com/faq/buying-a-car/do-i-really-get-10-days-to-return-the-car"
    },
    "findability": {
      "score": 88,
      "outOf": 100,
      "label": "Fairly easy to find",
      "reasons": [
        "Found in 4 steps (-12)",
        "No dead ends"
      ]
    },
    "steps": [
      {
        "index": 0,
        "url": "https://www.carmax.com/",
        "title": "CarMax - Shop for used cars, then buy online or at a store",
        "action": "Clicked link “FAQ & support”",
        "screenshotUrl": "https://www.freshvisit.app/landing/carmax-return-00.webp"
      },
      {
        "index": 1,
        "url": "https://www.carmax.com/help-center",
        "title": "Find all the different ways to get help at CarMax",
        "action": "Clicked link “Buying a Car”",
        "screenshotUrl": "https://www.freshvisit.app/landing/carmax-return-01.webp"
      },
      {
        "index": 2,
        "url": "https://www.carmax.com/faq/buying-a-car",
        "title": "Buying a car",
        "action": "Clicked link “Do I really get 10 days to return the car?”",
        "screenshotUrl": "https://www.freshvisit.app/landing/carmax-return-02.webp"
      },
      {
        "index": 3,
        "url": "https://www.carmax.com/faq/buying-a-car/do-i-really-get-10-days-to-return-the-car",
        "title": "Do I really get 10 days to return the car?",
        "answer": "You can bring it back within 10 days to the store where you purchased it",
        "screenshotUrl": "https://www.freshvisit.app/landing/carmax-return-03.webp"
      }
    ],
    "url": "https://www.freshvisit.app/journeys/example?run=example"
  }
}
  1. Screenshot of CarMax - Shop for used cars, then buy online or at a store
    steps[0].screenshotUrlClicked link “FAQ & support”
  2. Screenshot of Find all the different ways to get help at CarMax
    steps[1].screenshotUrlClicked link “Buying a Car”
  3. Screenshot of Buying a car
    steps[2].screenshotUrlClicked link “Do I really get 10 days to return the car?”
  4. Screenshot of Do I really get 10 days to return the car?
    steps[3].screenshotUrlYou can bring it back within 10 days to the store where you purchased it

6 tools

The whole app, as tools your assistant can call

Start journeys, Explores, and audits, run them again, wait for them, and read back what they found. You never name a tool: ask in plain words and your assistant picks the right one.

  • start_journey

    Starts a goal journey (“find the refund policy”) or, without a goal, an Explore. Pick the devices and the most steps.

  • start_audit

    Starts an audit: accessibility, search, and style checks on every page it reaches. Either check can be switched off.

  • run_again

    Runs a journey or audit you already have once more.

  • get_run

    How a run went: the verdict, every step, the answer, and what changed since the run before. It can wait up to 50 seconds at a time for a run that’s still going.

  • get_audit_findings

    Every issue an audit found: accessibility and style issues with the elements and their CSS selectors, search issues with what each page says, and a prompt to fix each one.

  • list_journeys

    Your journeys and audits, newest first.

Things to ask

  • Findability

    “Can a first-time visitor find the refund policy on example.com, on a phone?”

  • After a release

    “Run my checkout journeys again and tell me which ones changed.”

  • Fix what it finds

    “Audit example.com, then fix the accessibility and search issues it finds in this codebase.”

  • Competitors

    “Compare how many clicks pricing takes on our site and on two competitors’.”

Ship, check, fix, check again

  1. 1

    Ship the change

    Your assistant writes it and you deploy it, to a preview or the live site.

  2. 2

    Ask it to check

    “Can a visitor still find pricing on a phone?” It starts the journey, waits, and reads back how it went.

  3. 3

    Fix what it finds

    Audits come back with each failing element’s selector and markup, and a fix prompt your assistant can act on in the codebase.

  4. 4

    Check again

    It runs the same journey or audit again, and the answer says what changed since the run before.

Built in

Made to work alongside you

What your assistant starts is yours too, in the same account, on the same plan.

  • Every device in one call

    Ask for desktop, tablet, and phone, and each one gets its own browser and finds its own way, side by side.

  • Runs that stick around

    Every run is kept, so next week the answer can say what appeared, went away, or changed its wording since this one.

  • Results your team can open

    Everything your assistant starts lands in your Journeys and Audits lists, with every screen, ready to share by link. Name a workspace and it works in your team’s space.

  • Keys you control

    Make a key in Settings for each place it lives. It’s shown once, only a fingerprint of it is stored, and revoking it stops it at once.

  • Polite on the open web

    Public sites only. It stays on the site it was given, never sends a form, and stops at a CAPTCHA instead of getting past it.

  • A verdict, not a transcript

    A goal ends Found, Stuck, or Out of steps within 15 clicks, with a findability score from 1 to 100 and the passage that answers it, so your assistant can report back in a sentence.

Set up

Connected in two minutes

One access key, one command or config entry, and your assistant has every tool above.

  1. 1

    Make an access key

    Start free, then create a key in Settings under AI assistants. It’s shown once, so copy it right away.

  2. 2

    Add it to your assistant

    In Claude Code it’s the one command shown here. Every other assistant has its own snippet in the setup guide.

  3. 3

    Ask in plain words

    “Can a first-time visitor find the refund policy on example.com, on a phone?”

Claude Code
claude mcp add --transport http freshvisit https://www.freshvisit.app/api/mcp \
  --header "Authorization: Bearer YOUR_ACCESS_KEY"

MCP comes with every plan, Free included.

Runs your assistant starts count like any other: 20 a month on Free. Paid plans start at $19/month.

Questions people with assistants ask

Which assistants does it work with?

Any assistant that connects to a remote MCP server over HTTP and can send a header. The setup guide walks through 11 of them, including Claude Code, Claude, Cursor, VS Code with Copilot, Codex, and Gemini CLI. ChatGPT isn’t supported yet: its connectors only sign in with OAuth, and FreshVisit uses access keys for now.

Does my assistant have to download the screenshots?

No. Each step comes back with a link to its screenshot, stored with the run in your account. An assistant that reads images can open one when it wants a closer look, and nothing is saved to your machine.

How is this different from giving my assistant a browser?

A browser tool hands your assistant a remote control: it decides every click, keeps every screenshot, and has to remember what it saw. FreshVisit runs the whole first visit for it, on several devices at once, with a verdict, a findability score, and audits built in, and keeps every run so the next one can say what changed.

How long does a run take?

Usually one to ten minutes. Your assistant starts a run, then checks back. It can ask to wait up to 50 seconds at a time, so it isn’t asking every second.

Can it check localhost, or a site behind a login?

Start pages must be public, so a preview deploy works and localhost doesn’t. On Team, set up signing in on the journey in the app, and runs your assistant starts again sign in the same way.

Is it a separate product?

No. It’s the same FreshVisit: the same journeys, audits, and plan. Anything your assistant starts, you can open, share, or repeat in the app, and the other way around.

Is my access key safe?

Keys are shown once, stored only as a fingerprint, and revoked from Settings in one click. A key acts as you, so keep it out of files you commit; the setup guide shows how to read it from an environment variable instead.

Your assistant knows your code. Let it see your site.

Make a key, paste one command, and ask whether a first-time visitor can find what they came for.

Start free