Everything here is asynchronous by design — start a test, come back for the verdict — which is the right shape for browser runs that take minutes. The thing that catches people is the Playwright download on first launch: the project itself recommends pre-installing the browsers, because clients tend to give up before the download finishes.
A Node server that fronts Factifai, a browser-based test runner. Tests start asynchronously, so the agent gets a session back immediately and fetches the result when the run has finished.
- A test started against Factifai from a plain-language description — `testWithFactifai`
- The result of a run fetched by session — `getFactifaiSessionResult`
- The tests started so far, listed — `listFactifaiSessions`
Node.js >= 16.0.0 and a model provider: set `MODEL_PROVIDER` to `bedrock` or `openai`, then `OPENAI_API_KEY` for OpenAI, or `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` and `AWS_DEFAULT_REGION` for Bedrock. Launch with `npx --yes @presidio-dev/factifai-mcp-server@latest`. The first run downloads Playwright's browser binaries, which can exceed an MCP client's startup timeout — run `npx playwright install --with-deps` beforehand to avoid it.
One command plus a key — npx --yes @presidio-dev/factifai-mcp-server@latest, then supply credentials
