
PlaywrightGen
com.playwrightgen由 playwrightgen.com 發布官方發布者v1.0.0更新於 Oct 26, 2026
Approved test intent, reviewed Playwright automation and run evidence, inside your editor.
概覽
遠端 MCP 伺服器,讓助理讀取已核准的測試意圖、在真實頁面上撰寫並驗證 Playwright 測試,並提交待審草稿。
- 可以做什麼
- 讀取已核准的需求、測試案例與已核准的自動化版本
- 依公開網址撰寫 Playwright 測試,在遠端瀏覽器中執行並修正失敗步驟直到通過
- 檢視近期失敗紀錄與對應到已核准版本的執行證據
- 提交需求、測試案例與自動化的草稿供人工審核
- 透過簽章證明連結分享結果(在工作區中完成,不由代理執行)
- 適用情境
- 適合希望助理依據已達成共識的測試意圖而非猜測來工作,並產出經過驗證、實際執行且有人工核准證據的 Playwright 測試的團隊。適用於重視從需求到通過執行可追溯性的測試與發佈流程。
- 執行需求
- 透過 streamable HTTP 連線至 playwrightgen.com 的遠端端點。需在 Authorization 標頭提供 bearer 權杖,即專案 Automation 頁面中的個人編輯權杖。免費工具無需帳號;工作區紀錄需要 PlaywrightGen 帳號與專案。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 PlaywrightGen,將其新增到工作區。
- 連接 Authorization token 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
- 為需要使用其工具的對話啟用該服務。
Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。
交給代理程式安裝
把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。
閱讀 https://sourceweft.com/mcp/com.playwrightgen%2Fplaywrightgen/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。其他 MCP 客戶端
把它新增到你客戶端的 mcpServers 設定中。
{
"mcpServers": {
"playwrightgen": {
"type": "http",
"url": "https://playwrightgen.com/api/mcp",
"headers": {
"Authorization": "Bearer <YOUR_TOKEN>"
}
}
}
}README
PlaywrightGen
Playwright tests written from your real page, run until they pass, and kept as evidence a person approved.
Live at playwrightgen.com.
Writing a Playwright test is no longer the hard part — every editor has an assistant that will do it. What none of them keep is the thing an audit, a release decision or a customer actually asks for: which behaviour was agreed, by whom, at which version, and what the last run proved. That record is what this product is.
How it works
Two ways in, one chain.
The free tools need no account. Say what to test, paste a public URL, and PlaywrightGen reads the page, writes a test from its real accessibility tree, runs it in a remote browser, and fixes the failing step until it passes. You get working code and the run that proves it, signed so the evidence survives if you later bring it into a workspace. Nothing durable is claimed until you do.
The workspace turns that into a record:
- A Requirement is drafted, reviewed and approved. Approving writes an immutable version.
- Test Cases carry objective, steps and expected results, are approved the same way, and link to the Requirements they verify.
- Automation is generated from an approved Test Case version, validated against deterministic rules, proven on the live page, and then approved by a person — never by the generator and never by an agent.
- Run evidence arrives from your own CI. Your tests run on your runners,
against your environment, with your secrets; only a bounded summary of
results is sent. A
[pwg:...]marker in the test title is what ties a result to the approved version it is evidence for. - A proof link shares the result outside the team: a signed URL anybody can open, with an acceptance signature and a downloadable file they can keep.
Every claim on that chain names its source. A requirement with no passing test says so; a run that was skipped says it proved nothing; a report that was bounded says how much it did not cover.
What holds it honest
- A prompt is a request; a validator is a rule. Every promise a prompt makes has a deterministic check behind it: no focused tests, no fixed sleeps, no credentials in the file, no request to an address that is not the application under test, no Node capability a browser test has no business reaching for.
- A repair may not weaken a test. The quickest way to make a failing assertion pass is to delete it, so a fix that checks less than the test it was given is refused.
- Separation of duties. The person who proposed something cannot be the one who approves it; the MCP server can propose and send code and has no capability to approve, accept, share or delete, which a test enforces by reading the import graph.
- Every AI surface is measured.
npm run evalsgrades each prompt deterministically against structured output and compares the run with a hand-blessed baseline.
For agents (MCP)
PlaywrightGen is an MCP server, so Claude Code, Cursor or Copilot can read the approved intent instead of guessing: sixteen tools covering requirements, test cases, approved automation, recent failures, writing and proving a test on a live page, and proposing drafts for review. An agent gets exactly the rights of the person whose token it used.
Running it locally
Then npm run test:run for the suite, npm run typecheck, npm run lint,
and npm run build. Integration tests need TEST_DATABASE_URL pointing at a
database used for nothing else; they refuse anything that looks like
production.
Built with Next.js, TypeScript, PostgreSQL (Prisma), Clerk, Tailwind, Playwright, OpenAI and Stripe.
Environment
Runtime:
DATABASE_URL— PostgreSQL for the application.DIRECT_URL— optional direct connection preferred by migration commands.TEST_DATABASE_URL— a separate database for integration tests. It never falls back to either of the above.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY,CLERK_SECRET_KEY,CLERK_WEBHOOK_SIGNING_SECRETOPENAI_API_KEY— server-only. Per-surface model overrides exist, for exampleOPENAI_REQUIREMENT_REVIEW_MODELandOPENAI_FAILURE_ANALYSIS_MODEL.UPSTASH_REDIS_REST_URL,UPSTASH_REDIS_REST_TOKEN— the per-minute and per-day AI allowances.RUNNER_INGEST_SECRET— signs live-run receipts, so a receipt proves a run of that exact code.BROWSERLESS_API_KEY— the remote browser the free tools and proving use.EXAMPLE_EVIDENCE_PROJECT_ID— optional: the one project whose evidence is published publicly at/proof/example.
GitHub integration (separate values per environment):
GITHUB_APP_ID,GITHUB_APP_PRIVATE_KEY,GITHUB_APP_SLUG,GITHUB_APP_CLIENT_ID,GITHUB_APP_CLIENT_SECRET,GITHUB_WEBHOOK_SECRETGITHUB_SETUP_STATE_SECRET— at least 32 characters, distinct from every other secret.NEXT_PUBLIC_APP_URL— the exact origin the GitHub callback returns to.
The App is held to a permission ceiling, checked on every installation and
refused if exceeded: metadata: read, contents: read and write,
pull_requests: read and write, issues: read. Contents write is what
opens a pull request with approved test code; pull-requests write is what
leaves the evidence note on it; issues read is what drafts a requirement from
a ticket. User and installation tokens are transient and are never logged or
stored.
Clerk webhooks go to /api/webhooks/clerk with
CLERK_WEBHOOK_SIGNING_SECRET set locally and in the deployment, subscribed
to:
user.created,user.updated,user.deletedorganization.created,organization.updated,organization.deletedorganizationMembership.created,organizationMembership.updated,organizationMembership.deleted
Local webhook delivery needs a secure tunnel to the local application. Never put a webhook secret in documentation or source control.
Operations
Reconcile one Clerk organization, dry-run by default:
Add --apply after reading the dry-run counts. It never sweeps every
organization.
Database:
Never commit credentials, secrets, .env or .env.local. Never point a
development migration or reset command at production.
Where the work is written down
docs/ROADMAP.md— what shipped, what is next, and what was deliberately not done.docs/DECISIONS.md— architecture decisions, each with its reason.docs/ARCHITECTURE.md,docs/PRODUCTION_READINESS.md— the shape of the system and the gates before a production deploy.examples/ci-proof— a disposable repository that proves the CI loop end to end.
來源:README.md,提交 87dcc0d
工具
0版本歷史
1- v1.0.0最新Sep 20, 2026
評分
已滿足適用檢查項的 75%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通必需25 分
- 已宣告認證方式必需10 分
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分
請在儲存庫或註冊中心條目中宣告授權條款。