“Generate Checksum tests for this PR.” “My checkout test is failing — heal it.” “Why did the last test run fail?”The work runs in Checksum’s cloud and comes back as a pull request — no local test engine, no Playwright install, nothing running on your machine.
Before you start
You need all three:- A Checksum project that’s set up — environment URL, test users, and Git connected. If you haven’t done that yet, start with Getting Started; the MCP server has nothing to act on without it.
- You’re logged in to app.checksum.ai in your browser. The approval screen needs an active session.
- An MCP-capable client — Claude Code, Cursor, VS Code (Copilot), Claude desktop/web, or any other MCP client.
Connect your client
You sign in through your browser and approve which projects the client may use. There’s no API key to copy, paste, or accidentally commit.- Claude Code
- Cursor
- VS Code (Copilot)
- Claude (web & desktop)
- Anything else
/mcp, pick checksum, and approve in the browser.Just the server, without the plugin
Just the server, without the plugin
/mcp and pick checksum to sign in.What you’re approving
The browser shows you which projects the client may act on. If you have access to several, you can grant only the ones you want — the client can never reach a project you didn’t approve. Access is re-checked on every request, so if you lose access to a project, the client loses it too. Review or revoke a connection any time from the MCP connections card on My Profile in the web app. A connection is tied to you, not to a project — so it lives with your account, and revoking it cuts the client off from every project you granted.Check that it worked
Ask your agent, in plain English:What you can ask
Once connected, talk to your agent normally — it picks the right tool. Cover a pull request:Tools
Your agent picks these automatically; you rarely name them yourself. They’re listed so you know what the server can and can’t do.checksum_whoami, checksum_session_status, checksum_test_run_list, checksum_test_run_download and checksum_session_list are read-only. checksum_test_generate, checksum_test_heal and checksum_session_prompt change things — they start billable cloud runs and can open pull requests, so a good client will ask you to confirm before running them.
Every result comes back with links straight into the Checksum web app, so you can watch a session or open a run rather than squinting at ids.
Generating tests
Generating tests
checksum_test_generate either a pull request — the number, the repository, and the branch, all three — or extraInstructions describing the flow to cover.Those three fields together are what make Checksum open a pull request with the generated tests. A description-only run doesn’t open one; the tests land in the session for you to review first.Asking twice for the same pull request won’t start a second run — it picks up the one already going.You can also point a run at a different environment (a preview deployment, say) with envOverrides.Healing failing tests
Healing failing tests
checksum_test_heal needs the testRunId of a run that has failures — ask your agent to list recent runs if you don’t have one to hand. It opens one heal session covering all the failing tests in that run and, by default, a pull request with the fixes.Healing works from a run that already finished, so there’s nothing to push first.Heal is honest about what it finds. If a test is failing because your app genuinely broke, it reports a real bug rather than rewriting the test to go green.Healing a run with nothing failing returns No failing tests found in test run: <id>.Watching and steering a run
Watching and steering a run
checksum_session_status is what your agent polls. It reports overall progress, and includes the agent’s latest messages and file changes — so it can tell you what’s happening instead of “still running”.To redirect a run that’s already going, use checksum_session_prompt — the same as typing into the session in the web app. A session that already failed or was cancelled won’t accept a prompt, and you’ll get an error saying so.Pulling reports and traces
Pulling reports and traces
checksum_test_run_download with a testRunId gives you the per-test results inline (what passed, what failed, and why) plus a link to the self-contained HTML report.To dig into one failing test, pass its testId as well — that returns its trace, screenshots and video. Those links are signed and expire, so they don’t stay live forever in a chat log.It lists your standard end-to-end runs; API-test runs and hidden runs don’t appear.Working with several projects
Working with several projects
checksum_whoami to see the list. An API key is always tied to exactly one project, so this never comes up there.Connect with an API key
Browser sign-in needs a browser. For CI, a container, or a client that only speaks static tokens, use an API key instead. If browser sign-in worked, skip this. Grab the key from Settings → Project Settings in the web app (the same one the CLI and CI use), and send it as a bearer token:- Claude Code
- Cursor
- VS Code (Copilot)
Troubleshooting
The tools don't show up
The tools don't show up
mcp.json.Then ask your agent to run checksum_whoami. If that works, the connection is fine and the problem is your client’s tool list, not Checksum.The approval page won't let me approve
The approval page won't let me approve
It can't reach the server at all (timeouts, TLS errors, hangs)
It can't reach the server at all (timeouts, TLS errors, hangs)
api.checksum.ai may be blocked or intercepted. Check you can reach it:api.checksum.ai over HTTPS (port 443). A TLS-inspecting proxy can also break the connection by re-signing certificates — it needs api.checksum.ai on its bypass list.Note that a proxy configured in your shell isn’t visible to a GUI app like Cursor or VS Code unless you launch it from that shell.The agent generated tests for the wrong code
The agent generated tests for the wrong code
It generated tests but never opened a pull request
It generated tests but never opened a pull request
It says my test run has no failing tests
It says my test run has no failing tests
My client asks for an SSE URL, or only supports local servers
My client asks for an SSE URL, or only supports local servers
Security
- Your code is never uploaded from your machine. Checksum clones your repository from your connected Git provider, in the cloud. The MCP server only carries instructions and results.
- Browser sign-in is scoped. You choose which projects a client may touch, and access is re-checked on every request. Revoke it any time from My Profile.
- Report and trace links are signed and expire, so a URL pasted into a chat log doesn’t stay live forever.
- Tools that cost money or open PRs are marked as such, so your client can ask before running them.
Next Steps
- Coding Agent Integration — the local slash-command path (detect / generate / heal against your own repo)
- Generate Tests — how generation works end to end
- Auto-Healing — what healing does to a failing run
- API Reference — the REST API behind the same capabilities