shipcheck
ShipCheck v0
コーディングエージェント向けの、独立したプレビューURL QA。エージェントが公開httpsプレビューURLと受け入れストーリーをPOSTする。こちらはPlaywrightのヒューリスティックを実行し、各ストーリーをスクリーンショットし、パス/フェイルの証拠パックを返す。失敗は、人間(またはこのページを調べているこのエージェント)が短いメモを追加するまでneeds_reviewのままになる。
UIを書いたモデル自身は、そのUIの良し悪しを判断するのには不向きだ。それがこのプロダクトの本質である。
Playwright MCPは無料だ。これはホスト型ブラウザではなく、失敗時に人間が関与する独立したチェックである。スクリーンショットAPIはピクセルを返すだけだ。ShipCheckが答えるのは「ストーリー3は実際に動いたか?」である。
Run
cd /workspace/shipcheck
python3 -m venv .venv
.venv/bin/pip install -e ".[dev]"
.venv/bin/playwright install chromium
.venv/bin/python -m shipcheck serve --host 0.0.0.0 --port 8787このボックスにはvenvがすでに存在する。デフォルトではAPIプロセスがディスクキューも処理する(インラインワーカー)。分割する場合:
SHIPCHECK_INLINE_WORKER=0 .venv/bin/python -m shipcheck serve --port 8787
.venv/bin/python -m shipcheck worker
.venv/bin/python -m shipcheck run-job sc_xxxxxxxxxxxxヘルスチェック: GET http://127.0.0.1:8787/health
公開(Cloudflareクイックトンネル、このボックス、2026年8月19日(水)): https://realtor-all-enclosed-altered.trycloudflare.com
同じプロセスがGET /(ランディングページ)、REST、POST /mcpを提供する。URLはPUBLIC_URL.txtにも記載されている。クイックトンネルはcloudflaredが停止すると消える。
ジョブは/workspace/shipcheck/queue/{job_id}.jsonに置かれる。レポートとスクリーンショットは/workspace/shipcheck/reports/にある。
Related MCP server: Prufa
リクエスト/レスポンスの例
curl -sS -X POST https://realtor-all-enclosed-altered.trycloudflare.com/qa_preview \
-H 'Content-Type: application/json' \
-d '{
"url": "https://example.com/",
"stories": [
{"id": "home", "steps": ["open homepage"], "expect": "Example Domain"}
],
"viewport": "desktop"
}'レスポンス:
{
"job_id": "sc_ab12cd34ef56",
"status": "queued",
"price_usd": 6,
"billed": false,
"message": "queued. poll GET /qa_status/{job_id}; fetch GET /qa_get_report/{job_id} when status is pass or needs_review."
}curl -sS https://realtor-all-enclosed-altered.trycloudflare.com/qa_status/sc_ab12cd34ef56
curl -sS https://realtor-all-enclosed-altered.trycloudflare.com/qa_get_report/sc_ab12cd34ef56最終ステータスはpass(すべてのヒューリスティックがグリーンで、人間の対応は不要)またはneeds_review(ヒューリスティックの失敗が列挙される。後のパスでPOST /qa_note/{job_id}またはMCP qa_noteによりhuman_noteが追加される)。errorはインフラ側の問題(タイムアウト、クラッシュ、安全でないURL)であり、課金はされない。
将来の課金に備えたオプションのヘッダー: Authorization: Bearer <key>またはX-Api-Key。v0はキーがなくても受け付け、デビット(引き落とし)はしない。
オプションのストーリーステップ(指定しない場合はそのままメモとして扱われる): click:css=.buy, click:text=Sign in, fill:#email|user@example.com, wait:1000, see:Order total。
証拠パックの形はexamples/sample_report.jsonを参照。
セキュリティ
httpsのみ。localhost、ループバック(RFC1918)、リンクローカル、CGNAT、メタデータIP(169.254.169.254)、file://、埋め込まれた資格情報、プライベートへのリダイレクトを拒否する。すべてのPlaywrightリクエストは再チェックされる。ナビゲーションタイムアウトは20秒、ジョブ上限は4分。詳細はPRODUCT.mdにある。
SSRFテスト(ライブターゲットは不要):
cd /workspace/shipcheck
python -m pytest tests/test_ssrf.py tests/test_api.py -qCursor の mcp.json
Streamable-HTTP MCPはPOST /mcp(RESTと同じプロセス)で提供される。ツール: qa_preview、qa_status、qa_get_report、qa_note。これを.cursor/mcp.jsonまたは~/.cursor/mcp.jsonに追加する(typeは省略。Cursorはurlをstreamable HTTPとして扱う):
{
"mcpServers": {
"shipcheck": {
"url": "https://realtor-all-enclosed-altered.trycloudflare.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}v0はキーがなくても受け付け、引き落としはしない。同じファイルはexamples/mcp.jsonにもある。サーバーが起動している必要がある(python -m shipcheck serve --host 127.0.0.1 --port 8787)。公開URLはそのプロセスの前に立つCloudflareクイックトンネルだ。
ランディングページ: GET /(HTMLはshipcheck/landing.html)。公開プレビューのレート制限: 20 qa_preview ジョブ/日/IP(ループバックは無制限)。SHIPCHECK_PREVIEW_LIMIT_PER_IPで上書きでき、0で無効になる。
料金
意図(まだ課金しない): 実行ごとに $6 デスクトップ / $10 両ビューポート(または5–8ストーリー)。あとでPolarのプリペイドックレジットを使う。フック: shipcheck/billing.py。
次のステップ
Polarのクレジットパック+
Authorization: Bearerとしてのライセンスキー。成功時のみ引き落とす。ステータスが
needs_reviewになったらSlack/Telegramに通知し、人間がhuman_noteを書く(RESTPOST /note/{job_id}とMCPqa_noteはすでにそのメモを受け付ける)。PulseMCP / Glama / 公式MCPレジストリに掲載(ディスカバリーだけで、マーケットプレイスではない)。
公開サンプルレポート+30行の
llms.txt。
に関する dashboard、GitHub App、crypto railは追加しない。
This server cannot be deployed
Maintenance
Related MCP Connectors
Human QA on real phones and browsers for your coding agent. Pass/fail per step, with screenshots.
Independent preview-URL QA for coding agents. Playwright heuristics, pass/fail pack.
Website QA for your coding agent: audit SEO, performance, security, accessibility over MCP.
Read-only web QA agent: scans a site in a real browser and returns evidence-backed findings
1
Related MCP Servers
- AlicenseCqualityDmaintenanceEnables acceptance gates for AI coding-agent runs by recording evidence, running deterministic validation, applying a quality gate, and rendering auditable outcomes.7Apache 2.0
- AlicenseAqualityCmaintenancePoint your coding agent at a URL and get a real-browser QA audit: broken signup/login/checkout flows, JS console errors, missing analytics, consent + security headers, mobile tap targets, and accessibility — returned as machine-verified findings graded A-F.4420 PyPI2Apache 2.0

QualityMax QA MCPofficial
AlicenseAqualityAmaintenanceEnables coding agents to independently verify web changes by scanning pages, inspecting UI structure, generating Playwright reproductions, and executing tests with structured QA evidence.459 npm4MIT- AlicenseNot gradedqualityAmaintenanceEnables AI platforms to run ensemble front-end quality tests on public web pages, including accessibility, usability, and standards conformity, and to retrieve the resulting reports.842 npm4MIT