Practices4 min read

MCP and visual testing

Applitools and Chromatic have both shipped MCP servers, and the reason is structural: an agent writes UI it cannot see. What MCP actually changes about that loop, and what it does not.

VisualMax EngineeringProduct team

In the space of a year, MCP servers went from novelty to something visual testing vendors ship as a headline feature. Applitools published one framed explicitly as "the missing link between AI coding assistants and visual testing"; Chromatic ships managed Storybook MCP servers so an organisation can give its agents a shared, versioned view of its components.

It is worth separating what this genuinely changes from what it does not, because the gap between the two is where teams waste a quarter.

The problem it addresses

The Model Context Protocol is an open standard for connecting AI models to external tools and data. Before it, wiring an agent to your visual testing results meant a bespoke integration per agent per tool. After it, a tool exposes one server and any MCP-capable client can use it.

The underlying problem is the one covered in shipping AI-generated UI: an agent produces front-end code at a rate nobody can review, and it cannot see what it rendered. Its only feedback signals are the compiler and the test suite — and the test suite is blind to appearance. An agent optimising against those signals will happily ship a button that is invisible, because by every measure available to it, that button is correct.

What a useful visual testing MCP server exposes

The valuable surface is narrower than most implementations, and the difference between a useful one and a demo is roughly this list:

CapabilityWhy it matters
List changed screens for this buildThe agent learns which of its edits had visual consequences — often not the ones it expected
Diff magnitude and region per screenLets it distinguish a 0.2% antialiasing artefact from a collapsed layout
The approved baselineWithout it, "changed" has no reference point
Prior review commentsThe one nobody implements, and the most valuable. Stops the agent reverting a change a human deliberately approved
Component or file attributionPoints the agent at the cause rather than the symptom

That fourth row is worth dwelling on. The characteristic failure of agent-driven visual work is not that the agent cannot find the diff — it is that the agent confidently "fixes" a deliberate design decision made last week, because nothing recorded that a human made it. Review history as agent-readable context is the fix, and it is why Vizzly has built a whole product around exactly that idea — see visual testing for AI coding agents.

What MCP does not solve

  1. Coverage. An MCP server reports on tests that exist. If nobody wrote a check for the settings page, no protocol reveals that gap. This is the same limitation every tool in our roundup shares.
  2. Judgement. "This changed by 4%" does not tell anyone whether the change was wanted. That is an intent question, and intent is not in the pipeline.
  3. Determinism. If your suite is noisy, MCP delivers the noise more efficiently. An agent chasing a late-loading font across four turns is worse than a human shrugging at it once — fix the flake first.
  4. The approval decision. Which should stay human, permanently.

A sensible loop

  1. Agent makes a change and opens a pull request.
  2. Visual checks run on the routes that change can affect — not everything, or you recreate the review-volume problem.
  3. Agent queries the MCP server: what changed, by how much, against what baseline, and what did reviewers say last time?
  4. It either fixes what it broke or explains why the change is intended, with that context in hand.
  5. A human approves the baseline. Always.

Steps 2 and 3 are what make this different from piping a test report into a prompt. Step 5 is what keeps it a test rather than a formality.

Is it worth adopting yet?

If your team already runs agents on front-end work and you already have visual testing: yes, the integration cost is low and the failure mode it prevents — agents silently undoing approved design decisions — is real and annoying.

If you do not have visual testing yet: MCP is not the starting point. An agent-readable interface to a suite that does not exist is worth nothing. Get coverage and determinism working first; the protocol layer is a week of work whenever you want it, and the standard is still moving.

And be a little sceptical of MCP as a feature bullet. Exposing an API over a standard protocol is genuinely useful plumbing, and it is also the easiest thing on a roadmap to ship in a fortnight and put in a launch post. Ask what the server actually exposes — specifically whether it includes review history, or just diff percentages.

Frequently asked questions

What is MCP in the context of visual testing?

The Model Context Protocol is an open standard for connecting AI models to external tools and data. For visual testing it means a tool can expose one server that any MCP-capable agent can query for what changed on a build, by how much, against which baseline — rather than each agent needing a bespoke integration per tool.

Does MCP let an AI agent see screenshots?

Not really. It gives the agent a structured, queryable description of what changed — route, diff magnitude, region, baseline reference and ideally prior review comments. That is something an agent can reason about and act on, which a raw image is not, but it is not visual perception.

Should an agent be able to approve baselines through MCP?

No. An agent able to accept its own output can turn any failing visual suite green and report success, which removes your regression detection while telling you the opposite. Expose read operations and the ability to re-run tests; keep baseline approval as a human action outside the agent's reach.

Sources

  1. Applitools blog — MCP and visual testingchecked 2026-09-14
  2. Chromatic blog — published Storybook MCP serverschecked 2026-09-14