TL;DR
- Playwright MCP is the choice for structured browser control from Microsoft. It automates a browser. It does not keep a test suite.
- Momentic MCP is the choice for tests that live in your repository, run in CI, get reviewed in a pull request, and survive a UI change.
- BrowserStack MCP is the choice for device and browser coverage, because it runs your existing Playwright or Selenium suite on their cloud.
- Chrome DevTools MCP is the choice for debugging and performance work, not for regression coverage.
- Read the table for the full field. Then decide one question: do you need browser access, or a test suite?
Comparison of MCP servers for testing
Browser-control servers let an agent interact with a page, while test-focused servers create persistent test artifacts that developers can review and run again.
| MCP server | What it exposes | Maintainer | Authors tests | Stores tests in repo | Runs in CI | Maintains tests through UI changes |
|---|---|---|---|---|---|---|
| Playwright MCP | Structured browser actions, DOM queries, screenshots, and traces | [Microsoft](https://github.com/microsoft/playwright-mcp) | No. The coding agent must create test code separately | No | An MCP host can invoke tool calls in CI, but Playwright MCP does not provide a test-suite runner | No |
| Momentic MCP | Agent tools that create, run, and inspect plain-English YAML tests | [Momentic](https://momentic.ai) | Yes | Yes | Yes. `npx momentic run` returns an exit code that can gate merges | Momentic documents self-healing for tests affected by UI changes |
| Chrome DevTools MCP | Chrome control, console and network inspection, performance profiling, and emulation | [Google](https://github.com/ChromeDevTools/chrome-devtools-mcp) | No | No | No documented test runner | No |
| Puppeteer MCP | Chrome navigation, form interaction, screenshots, JavaScript execution, and console logs | The official reference server is archived. Community forks remain | No | No | No documented test runner | No |
| Selenium MCP | WebDriver control: sessions, navigation, element interaction, screenshots | Community. [`@angiejones/mcp-selenium`](https://github.com/angiejones/mcp-selenium) is the most used | No | No | No documented test runner | No |
| BrowserStack MCP | Real device and browser cloud, test-case management, run and debug of your existing suites | [BrowserStack](https://www.browserstack.com/docs/browserstack-mcp-server/overview) | Generates automation scripts and test cases | No. Scripts land wherever the agent writes them | Runs Playwright and Selenium suites on BrowserStack infrastructure | No documented repair mechanism |
| Browserbase and Stagehand | Managed cloud browsers with natural-language actions and extraction | Browserbase | No | No | Callable from CI, but no documented repo test runner | Actions tolerate some selector changes, but tests are not maintained |
| General browser-control servers | mcp-chrome, Browser Use, and browser-tools-mcp expose sessions, navigation, screenshots, DOM state, or logs | Community maintainers | No documented test authoring | No | No documented suite runner | No documented repair mechanism |
Sources for the table: Playwright MCP , Momentic MCP , Chrome DevTools MCP , @angiejones/mcp-selenium , and the BrowserStack MCP server documentation .
Playwright MCP: browser primitives, not a maintained suite
Microsoft maintains Playwright MCP as a server for structured browser automation. The server gives coding agents structured tools for navigation, DOM queries, form input, screenshots, console messages, network requests, and traces. It exposes declared tools and returns structured results through the MCP interface.
Those boundaries make Playwright MCP useful when an agent needs to inspect a web app or verify a code change in a reference browser. The server represents page state through accessibility snapshots rather than requiring the agent to interpret raw HTML. Confirm current browser-engine and channel support in Microsoft's Playwright MCP documentation before choosing it for cross-browser coverage. A coding agent can also use its observations to draft Playwright test code.
Playwright MCP does not provide a maintained test suite. The server has no built-in assertion model, no retries, no lifecycle hooks, and no automatic integration with Playwright Test. Successful tool calls do not create repeatable assertions or reproduce the test lifecycle used in CI.
An engineer must still decide what behavior to test, review the generated assertions, and commit the resulting test files. Engineers must investigate flaky failures and maintain browser state, selectors, and test logic as the application changes. Playwright MCP gives the agent controlled browser access, while Playwright Test or another framework supplies the persistent suite and CI lifecycle.
Chrome DevTools MCP, Puppeteer MCP, and general browser-control servers
Chrome DevTools MCP fits debugging and performance investigation better than test-suite ownership. Google’s server exposes browser interaction, console and network inspection, performance profiling, and emulation through Chrome. An agent can diagnose a failing page, but the server does not create repo-stored tests or maintain them after UI changes. Its documented focus remains debugging.
Puppeteer MCP provides Chrome navigation, screenshots, JavaScript execution, form interaction, and console monitoring. The official Puppeteer MCP reference server is archived, while community forks remain available. Use Playwright MCP for a new browser-control setup.
Browserbase with Stagehand can reduce reliance on fixed selectors because agents can issue natural-language actions. Browserbase supplies managed cloud browser sessions, while Stagehand exposes actions such as act, observe, and extract. The server still does not produce repo-stored tests that gate CI or repair a maintained suite.
Other general browser servers serve narrower needs. mcp-chrome reuses an existing logged-in Chrome session, Browser Use supports persistent profiles and long-running tasks, and browser-tools-mcp exposes browser diagnostics through an extension. Each one provides browser access rather than test authoring and maintenance. Firecrawl and AgentQL focus on extraction, not on the browser interaction and persistent test artifacts that end-to-end web testing requires.
Momentic MCP: tests as files, reviewed and enforced in CI
Momentic MCP gives coding agents tools to create, run, and inspect YAML tests written in plain English. The agent saves each test as a file in your repository, so the test remains available after the browser session ends and follows the same version-control rules as application code.
Engineers review agent-written tests through the normal pull request process. Reviewers can inspect the tested behavior, request changes, and approve the YAML alongside the code that introduced the behavior.
Momentic runs the same repository files locally and in CI with npx momentic run. A coding agent can run a test locally before opening a pull request. In CI, the command returns an exit code that a required check can use to pass or block the merge.
Momentic also maintains tests when application interfaces change. Momentic's self-healing capability can update a test affected by a UI change, reducing the manual work needed to revise selectors and interaction steps. The repaired test remains part of the repository-based suite and continues through pull request review and CI.
Setting up an MCP server for agent-driven testing
Registration takes one line. Momentic runs over stdio, so the client starts the server itself. Use the config file path from your repository.
Claude Code:
claude mcp add --transport stdio momentic -- npx momentic mcp --config /absolute/path/to/momentic.config.yamlCodex:
codex mcp add momentic -- npx momentic mcp --config /absolute/path/to/momentic.config.yamlCursor and other clients that read a JSON config:
{
"mcpServers": {
"momentic": {
"command": "npx",
"args": ["momentic", "mcp", "--config", "/absolute/path/to/momentic.config.yaml"]
}
}
}Use an absolute path for the config file. A relative path fails, because the client starts the server from its own working directory. Keep credentials out of the file: the agent must read the API key from an environment variable or the CI secret store, and it must never commit a secret value. Add .momentic-mcp/ to .gitignore, because the server writes screenshots, videos, and traces there.
Then restart the client and confirm the registration.
claude mcp listBefore it writes a test, the agent must check that the expected tools appear under momentic, and it must call one read-only tool against your application. If either check fails, the agent must stop and report the missing server, tool, credential, or connection. The full setup guide covers Windows, authentication, and the skills install.
Choosing the right server for your workflow
Choose a server based on whether you need temporary browser access or a persistent test suite. A browser-control server fits one-off exploration, debugging, and scripted interaction because it exposes browser actions directly. You still own test authoring, flaky-test triage, and repairs after UI changes.
A test-focused server fits regression coverage that must survive beyond one agent session. It should store tests in your repository, support pull request review, return a CI exit code, and repair tests as the UI changes.
When coding agents produce changes faster, release gating requires repeatable verification. A maintained, reviewable test suite provides that verification, while browser access alone does not preserve assertions or test history.