Skip to main content
Glama

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/にある。

リクエスト/レスポンスの例

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 -q

Cursor の mcp.json

Streamable-HTTP MCPはPOST /mcp(RESTと同じプロセス)で提供される。ツール: qa_previewqa_statusqa_get_reportqa_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

次のステップ

  1. Polarのクレジットパック+Authorization: Bearerとしてのライセンスキー。成功時のみ引き落とす。

  2. ステータスがneeds_reviewになったらSlack/Telegramに通知し、人間がhuman_noteを書く(REST POST /note/{job_id}とMCP qa_noteはすでにそのメモを受け付ける)。

  3. PulseMCP / Glama / 公式MCPレジストリに掲載(ディスカバリーだけで、マーケットプレイスではない)。

  4. 公開サンプルレポート+30行のllms.txt

に関する dashboard、GitHub App、crypto railは追加しない。

-
license - not tested
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Website QA for your coding agent: audit SEO, performance, security, accessibility over MCP.

  • Browser-backed QA with evidence and fix-ready reports for coding agents.

  • Verifies AI agent work end to end: real artifacts and outcomes checked, not self-reported success.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/wtaylorwilson/shipcheck-preview-qa'

If you have feedback or need assistance with the MCP directory API, please join our Discord server