shipcheck
ShipCheck v0
코딩 에이전트를 위한 독립적인 프리뷰 URL QA 도구입니다. 에이전트가 공개 https 프리뷰 URL과 승인 스토리를 POST하면, Playwright 휴리스틱을 실행하고 각 스토리를 스크린샷으로 캡처한 뒤 통과/실패 증거 패키지를 반환합니다. 실패는 사람(또는 페이지를 직접 확인하는 이 에이전트)이 짧은 메모를 추가할 때까지 needs_review 상태로 유지됩니다.
UI를 작성한 모델은 그 UI를 평가하는 데 부적합합니다. 그것이 바로 이 제품의 핵심입니다.
Playwright MCP는 무료입니다. 이것은 호스팅 브라우저가 아닙니다. 실패 시 사람이 개입하는 독립적인 검사입니다. 스크린샷 API는 픽셀만 제공합니다. ShipCheck는 "스토리 3이 실제로 동작했는가?"에 답합니다.
실행
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 quick tunnel, 이 머신, 2026년 8월 19일 수요일): https://realtor-all-enclosed-altered.trycloudflare.com
동일한 프로세스가 GET /(랜딩 페이지), REST, POST /mcp를 모두 제공합니다. URL은 PUBLIC_URL.txt에도 있습니다. quick tunnel은 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, link-local, 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 quick tunnel입니다.
랜딩 페이지: GET /(HTML은 shipcheck/landing.html). 공개 프리뷰 속도 제한: IP당 일 20개 qa_preview 작업(루프백은 무제한). SHIPCHECK_PREVIEW_LIMIT_PER_IP로 재정의 가능하며, 0이면 비활성화됩니다.
가격
의도만 있고 아직 청구되지는 않음: 실행당 $6 데스크톱 / $10 양쪽 뷰포트(또는 5~8개 스토리). 추후 Polar 선불 크레딧. 훅: shipcheck/billing.py.
다음 단계
Polar 크레딧 팩 + 라이선스 키를
Authorization: Bearer로 사용, 성공 시에만 차감.상태가
needs_review일 때 Slack/Telegram 알림, 사람이human_note작성(RESTPOST /qa_note/{job_id}와 MCPqa_note는 이미 메모를 수용).PulseMCP / Glama / 공식 MCP 레지스트리에 등록(마켓플레이스가 아닌 디스커버리).
공개 샘플 보고서 + 30줄짜리
llms.txt.
대시보드, GitHub App, 암호화폐 레일은 추가하지 마세요.
This server cannot be installed
Maintenance
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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