five46

io.github.sekharsdetPublished by GitHub account sekharsdetv0.2.3Updated Nov 3, 2026

BYOK, fully local AI agent that tests your app/API and writes a real Playwright spec on success.

Overview

AI-generated overview

Local MCP server that lets an assistant drive your real app or API from a plain-English goal and save a passing run as a Playwright or node:test spec.

What you can do
  • Run goal-based browser checks against a URL, with screenshots, a pass/fail verdict and a root-cause hypothesis on failure
  • Run goal-based API checks against a base URL, read-only unless writes are unlocked
  • Generate standalone Playwright or node:test specs from successful runs, plus JSON reports and flaky-run detection
  • Split a user story or acceptance criteria into independent scenarios and report a verdict per criterion
  • Reuse a saved login session and verify generated specs in a clean session or by mutating assertions
When to use it
Useful when you want a quick verdict on whether a feature or endpoint actually works, before or instead of hand-writing tests, and want a repeatable spec as the by-product. Also fits CI or PR checks where acceptance criteria should be verified against a preview deployment.
Requirements
Runs as a local npm package (five46) over stdio, desktop only. Needs Node.js, a one-time Chromium download for browser mode, and your own LLM provider key in FIVE46_LLM_API_KEY plus a provider in FIVE46_LLM_PROVIDER (openai, anthropic, gemini, groq or bedrock; for bedrock the variable holds an AWS region). Network access to the app under test and the LLM provider.
Before you install
Your app data and page content go to the LLM provider you choose, so review its data handling. API runs are read-only by default; FIVE46_MCP_ALLOW_WRITES unlocks POST/PUT/PATCH and FIVE46_MCP_ALLOW_DELETES unlocks DELETE and destructive-looking browser clicks, so enable them only deliberately. Login credentials are kept from the LLM as placeholders, but the key in FIVE46_LLM_API_KEY is a billable secret. Runs are non-deterministic and the project is early-stage.

Installation

In SourceWeft

  1. Open five46 in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

five46

[npm version] [npm downloads] [CI] [license: MIT] [node]

Say what should work, in plain English. An AI agent checks it against your real app or API, using your own LLM key, and hands you a real Playwright test.

[five46 driving a real browser through a login, add-to-cart, and checkout flow, then confirming the order was placed]

You just built something and want to know whether it actually works, before writing a test. Give five46 a goal like "log in and confirm the dashboard loads" or "create a user via POST, then confirm it via GET". An LLM (OpenAI, Anthropic, Gemini, Groq or AWS Bedrock, with your key) drives your real app or API one action at a time. It tells you honestly whether the goal was met, with a root-cause hypothesis when it wasn't. A successful run is saved as a standalone Playwright (or node:test) spec, so today's check becomes tomorrow's regression test, and running it needs no five46 or LLM.

Quick start

bash
npm install -g five46npx playwright install chromium   # one-time browser downloadfive46 config                     # pick a provider and paste a key (Gemini's is free)five46 doctor                     # confirms the key worksfive46 test http://localhost:3000 --goal "log in as [email protected] and confirm the dashboard says Welcome back"

You get a pass or fail (and a matching exit code), a report with screenshots and, for failures, a root-cause hypothesis, plus a five46-agent-*.spec.ts you can commit and run with npx playwright test. Testing an API instead? Use five46 api <base-url> --goal "...". It's read-only unless you pass --allow-writes.

Status: early and actively developed. Verified end-to-end against dozens of real-world sites and APIs.

Check every pull request

The five46 GitHub Action reads the Acceptance criteria section of a pull request's description and checks each item against the PR's preview deployment. It keeps one PR comment up to date with the verdict per criterion, why each failure failed, and a ready-to-commit spec for every criterion that passed.

yaml
on: deployment_status   # Vercel, Netlify and other preview deploysjobs:  five46:    if: github.event.deployment_status.state == 'success'    runs-on: ubuntu-latest    permissions: { contents: read, pull-requests: write }    steps:      - uses: sekharsdet/five46-action@v1        with:          url: ${{ github.event.deployment_status.target_url }}          api-key: ${{ secrets.FIVE46_API_KEY }}

How it compares

five46Playwright Test Agentsplaywright codegenCloud AI testing platforms
You provideA goal or acceptance criteria in plain EnglishA seed test and a request, inside an AI coding toolYour own clicksTest descriptions in their app
RunsCLI, CI, GitHub Action or MCP toolInside an AI coding tool, such as VS CodeLocally, while you clickTheir cloud
Built to give a pass/fail verdict on the appYes, with a root-cause hypothesisNot its focus: it generates and repairs testsNoYes
API testingYes (node:test output)Browser-focusedNoVaries
Proves assertions catch failuresYes (--verify mutation check)No built-in checkNoVaries
LLM and costYour key, any of 5 providersYour coding agent's modelNoneTheir subscription
Your app data goes toOnly your LLM providerYour coding agent's providerNowhereTheir platform
OutputPlain Playwright or node:test filesPlain Playwright filesPlain Playwright filesUsually their runner

Already working in an AI coding tool and growing a Playwright suite there? Playwright's own agents are a great fit, especially the healer for keeping existing tests green. five46 is for getting a verdict: is this feature working right now, in CI or on a PR, for a browser flow or an API, with any LLM you already pay for. More detail is in Why five46.

Highlights

  • Safe by default. API runs are read-only unless you unlock writes; destructive-looking clicks ("Delete account") are blocked unless allowed.
  • Login credentials never reach the LLM. It sees placeholders, and the real values are filled in locally. Log in once, then reuse the session.
  • Acceptance criteria in, verdicts out. --story splits a user story or ticket into independent scenarios and reports pass/fail per criterion.
  • Specs you can trust. --verify-clean-session re-runs the spec cold; --verify mutates its assertions and requires them to fail.
  • Works with any current key. If your provider retires a model, five46 finds a current one your key can use. You can also pin one with FIVE46_LLM_MODEL.
  • Fits your tools. CI-friendly exit codes, --report JSON for dashboards, flaky-run detection (--repeat), video recording, and an MCP server for IDE assistants.

Docs

  • Configuration: providers, getting a key, five46 doctor, choosing models
  • CLI reference: every command and flag, login sessions, API testing, story mode, verification, reports
  • MCP server: use five46 from an IDE-embedded AI assistant
  • Security model: what leaves your machine, what five46 guards, and what's your call
  • Why five46: design choices, the full feature list, comparisons
  • CHANGELOG

Known limitations

  • No closed shadow DOM traversal. Elements inside a mode: "closed" shadow root aren't visible to the agent's page snapshot (a closed shadow root is deliberately inaccessible to external tooling in general, not just five46). Open shadow roots, the overwhelming majority of real-world web components, work fine, as do <iframe> and <frame> content.
  • Chromium only for browser mode, with no Firefox or WebKit yet.
  • A run itself is not deterministic. The same goal against the same page can take a different path next time. The generated spec is the frozen, repeatable artifact.

Contributing

Issues and pull requests are welcome. See CONTRIBUTING.md.

bash
git clone https://github.com/sekharsdet/five46.gitcd five46npm installnpm run buildnode dist/cli.js test <url> --goal "..."npm test

If five46 is useful to you, a ⭐ on GitHub helps other people find it.

License

MIT

Source: README.md at commit 6ae214b

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.2.3LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts