Coding agents: write and run tests from your terminal
Your coding agent can write FlowQA tests for the product it is working on, run them on a cloud browser, read the results and the screenshots, and fix what it got wrong, without you leaving the terminal. It works through the TestFinch MCP server, the same connector any MCP client uses. Every test it writes is an ordinary test: it shows in Tests at once, you can run, edit, rename or delete it, and it says who wrote it and through which agent.
Set it up
- In TestFinch, open Settings, then Coding agents, and create a token. The page makes a read and write token for every project or for one.
- Add the server to your agent with the token.
- Start a new session and ask the agent to read the
flowqa_guidetool.
The server URL is https://api.testfinch.com/mcp.
Claude Code, in your repository:
claude mcp add --transport http testfinch https://api.testfinch.com/mcp --header "Authorization: Bearer <token>"
Every test the agent writes shows as written by you, through that agent.
Codex:
codex mcp add testfinch -- npx -y mcp-remote https://api.testfinch.com/mcp --header "Authorization: Bearer <token>"
Cursor, in .cursor/mcp.json:
{ "mcpServers": { "testfinch": { "url": "https://api.testfinch.com/mcp", "headers": { "Authorization": "Bearer <token>" } } } }
Any other MCP client: give it the server URL and the token as a bearer header, or bridge over stdio with mcp-remote.
Claude.ai and Claude Desktop connect with "Add custom connector" and sign in instead of using a token.
The guide the agent reads is also published here: the FlowQA authoring guide for agents.
What the agent can do
- Learn:
flowqa_guide(the authoring guide and the test schema) andflowqa_get_project(environments, modules, shared openings, variable names). - Read:
flowqa_list_tests,flowqa_get_test,flowqa_tests_for_snagandflowqa_site_notes. - Read results:
flowqa_get_run,flowqa_get_artifactfor a step's screenshot, andflowqa_list_runs. - Write:
flowqa_save_testscreates or updates up to 50 tests in one call,flowqa_delete_testsremoves them, andflowqa_request_recordinghands you a recording to make in FlowQA Desktop. - Organise:
flowqa_organizeadds, renames and removes modules, sets suites, moves tests and orders them. - Run:
flowqa_run_testsby test, module, suite or everything, andflowqa_github_hookfor GitHub hooks.
A read-only token sees the Learn, Read and Read results tools and none of the others. Reporters have no Tests half and see no FlowQA tools. Your project role applies to everything the agent does.
Quality without a gate
There is no approval step: a saved test is published. Instead, every save is checked. A test that does not parse, names a module or environment the project does not have, or uses an opening that is not reusable is refused, and nothing in that batch is saved. Everything else comes back with findings: no assertion, a weak or CSS-only locator, a typed password, a name another test already has, a test longer than 40 steps, steps that repeat a shared opening, a variable nobody defined, or a test that runs only on production. The agent is told to resolve findings before it calls a test done, and you see the same findings under Needs attention on the test. You have the last word: ask the agent to keep something a finding names, and it records why in the test's rationale.
Limits
Saves, reads and organising are free. Runs an agent starts are billed as if you started them, under the same allowances. A save takes at most 50 tests, and one person can save at most 500 tests an hour in a project.