Launchdog.dev
공식코딩 에이전트에서 바로 주간 런치 보드에 제품을 출시하세요: 리스팅 초안을 작성하고, 도메인을 인증하고, 배지를 추가하고, 주간을 예약하세요.
Launchdog Dev MCP(으)로 무엇을 할 수 있나요?
- 사이트에서 리스팅 초안 작성 — URL로 제품을 만들면 서버가 이름, 태그라인, 설명, 사용된 도구, 로고의 초안을 작성해 검토할 수 있게 합니다.
- 저장 전 문구 린트 — 드라이 런으로 리스팅 수정 사항을 미리 보고
too_long같은 필드별 오류를limit,actual,fix와 함께 받습니다. - 출시 준비 상태 확인 — 무료 출시 시 Launchdog 배지 요구 사항을 포함해 출시 전 남은 항목을 확인하고 리스팅 검사를 다시 실행합니다.
- 출시 주간 예약 및 관리 — 향후 12주를 비교하고, 확인 후 출시를 예약한 다음 이동하거나 취소합니다.
- 출시 성과 추적 — 출시의 상태, 투표, 순위, 일별 통계(조회수, 외부 클릭, 리퍼러 호스트)를 확인합니다.
- 댓글에 답글 작성 — 본인 출시의 댓글에 메이커 답글을 게시하며, 답글마다 새 클라이언트 요청 id를 사용합니다.
호스팅형 MCP 서버
npx add-mcp 'https://launchdog.dev/mcp'Claude Code, Codex, Cursor 등에 설치됩니다
문서
MCP 레퍼런스
메이커가 자신의 리스팅에 대해 하는 모든 작업은 하나의 MCP 서버를 통해 이루어집니다: 초안 작성, 무료 또는 유료 주차 선택, 일정 예약, 결제, 추적, 답글 — 그리고 무료 런칭에 한해 배지까지(배지는 도메인도 검증합니다). 스트리머블 HTTP, 무상태. 모든 결과에는 next_steps가 포함되고, 모든 오류에는 code, 관련된 field 및 해당 fix가 포함된 항목이 함께 전달됩니다.
프롬프트를 지원하는 클라이언트는 launch_my_product도 받습니다. 이는 슬래시 명령으로 제공되는 가이드 흐름입니다. 에이전트 연결하기 →
인증
PKCE를 사용하는 OAuth 2.1이 유일한 진입 방법입니다. 클라이언트가 스스로 등록하고 승인을 위해 브라우저를 엽니다. 붙여넣을 것은 없습니다. 설정에서 언제든 에이전트 연결을 해제할 수 있습니다.
| scope | 허용 범위 |
|---|---|
| read | 리스팅, 런칭, 통계 및 그에 대한 댓글을 볼 수 있습니다. |
| write | 리스팅을 생성 및 편집하고, 도메인을 검증하고, 런칭을 예약, 이동, 취소하고, 댓글에 답글을 달 수 있습니다. 결제나 투표는 절대 할 수 없습니다. |
메이커 도구
https://launchdog.dev/mcp — OAuth로 로그인합니다. 각 도구에는 read 또는 write scope가 필요합니다.
투표 도구는 없으며, 다른 사람의 런칭에 댓글을 달 방법도 없습니다.
whoami
여기서 시작하세요. Launchdog 계정, Maker Pass, 남은 한도가 포함된 각 한도, 런칭 체크리스트가 포함된 제품(첫 번째 미완료 단계부터 재개), 미결 주문, 그리고 웹에서만 가능한 작업(결제, 투표)을 반환합니다.
scope: read 읽기 전용 멱등
인수 없음.
launch_checklist
제품이 런칭되기 전에 남은 작업입니다. 티어 없이: 리스팅 자체(카피, 로고, 리스팅 검사)로, 유료 런칭에 필요한 전부입니다. 티어 포함: 무료의 경우 사이트의 Launchdog 배지도 포함됩니다(무료 런칭 전용, 도메인 검증). 각 미완료 항목은 해결 방법을 알려줍니다.
scope: read 읽기 전용 멱등
create_product
사이트 URL로 리스팅을 생성합니다. 서버가 페이지를 읽고 이름, 태그라인, 설명, 사용된 도구, 로고의 초안을 작성합니다. 같은 사이트로 다시 호출하면 같은 제품을 반환합니다. 그런 다음 메이커와 함께 초안을 검토하고 update_product로 변경 사항을 저장하세요.
scope: write 멱등 웹에 도달
get_product
미디어(remove_media용 id), 도메인 검증(배지 기준), 배지 및 리스팅 검사 상태(마지막 오류 포함), 예정된 런칭 및 체크리스트가 포함된 제품입니다.
scope: read 읽기 전용 멱등
update_product
리스팅을 편집합니다. 규칙: 이름 ≤ 40자, 태그라인 ≤ 60자, 설명은 150–1,200자의 평문 산문("혁신적인" 같은 과장된 단어 금지), 카테고리 최대 3개, 사용된 도구 최대 8개. dry_run: true를 전달하면 저장 없이 린트 및 미리보기를 합니다 — 메이커에게 보여준 후 확인을 받으면 저장하세요. 예약된 후에는 새 url이 거부되며 도메인 검증과 배지가 초기화됩니다(check_badge 다시 실행). 전달한 필드만 변경됩니다.
scope: write 멱등
archive_product
계정에서 제품을 제거합니다(제품 슬롯과 도메인이 해제됨). 예약된 런칭이 있는 동안에는 거부됩니다.
scope: write 파괴적 멱등
add_media
이미지 URL로 로고나 스크린샷을 추가하거나(PNG, JPEG, GIF 또는 WebP, SVG는 거부됨, 큰 이미지는 1568px로 크기 조정), 서버가 지원하는 경우 capture: true로 사이트 스크린샷을 추가합니다. 같은 이미지 URL을 다시 사용하면 같은 미디어를 반환합니다. 새 로고는 이전 로고를 대체합니다.
scope: write 멱등 웹에 도달
remove_media
미디어 id(get_product의 med_…)로 로고나 스크린샷을 제거합니다.
scope: write 파괴적 멱등
get_badge_snippet
무료 런칭에 필수, 유료 런칭에는 선택 사항입니다(방문자를 리스팅으로 안내하고 도메인을 검증함). 이 저장소가 사용하는 프레임워크의 구문으로 된 사이트용 Launchdog 배지입니다(저장소에서 선택). 사이트의 홈 페이지에, 서버가 전송하는 HTML에(JavaScript로만 렌더링되는 것이 아니라) 넣으면 되며 — 푸터도 괜찮습니다 — 도메인 검증도 이 배지로 이루어집니다. 추가할 것은 없습니다. 그대로 붙여넣고 배포한 후(저장소가 푸시 시 배포된다면 메이커의 확인을 받아 커밋 및 푸시하고 배포를 지켜보세요) check_badge를 호출하세요. 리스팅의 주소는 첫 스니펫부터 고정됩니다.
scope: write 멱등
check_badge
무료 런칭에 필수, 유료 런칭에는 선택 사항입니다. 사이트의 홈 페이지를 가져와 배지가 리스팅으로 연결되는지 확인합니다. 처음 확인되면 도메인이 검증됩니다(배지는 Launchdog가 요구하는 유일한 증거입니다). status: checking으로 응답하면 기다렸다가 다시 호출하세요. 실패 시 이유를 알려줍니다(리다이렉트됨, noindex, JavaScript 전용 페이지, 찾을 수 없음).
scope: write 멱등 웹에 도달
list_launch_weeks
남은 좌석과 가격이 포함된 향후 12개 런칭 주차(월요일–일요일 UTC), 각 티어를 해당 주차에 예약할 수 있는지(및 불가능한 이유), 가장 빠른 무료 주차, 그리고 각 티어가 제공하는 것과 필요한 것(tiers\: 무료는 사이트의 Launchdog 배지 필요, 유료는 그 외 필요 없음). 메이커에게 무료 및 유료 옵션을 나란히 보여주고 선택하게 하세요. 절대 구매하지 마세요.
scope: read 읽기 전용 멱등
schedule_launch
제품을 런칭 주차에 예약합니다 — 메이커의 확인 후에만. 유료(launch, featured): 완전한 리스팅 외에는 필요 없음 — 배지도, 사이트 편집도 없음. 좌석을 보유하고 checkout_url + hold_expires_at를 반환합니다 — 메이커에게 링크를 전달하고(직접 결제하지 마세요) get_launch로 확인하세요. 무료: 최소 7일 이후의 가장 빠른 열린 주차(또는 지정한 주차)이며, 사이트의 Launchdog 배지가 필요하고, 없으면 추가 단계와 함께 badge_missing으로 응답합니다. 이미 예약된 런칭이 있는 제품은 해당 런칭을 반환합니다.
scope: write
move_launch
예약된 런칭을 다른 열린 주차로 이동합니다(무료 런칭은 나중으로만 이동 가능, 시작된 주차는 절대 이동 불가).
scope: write 멱등
cancel_launch
런칭의 좌석을 해제합니다(해당 주차가 시작되기 전까지). 미결제 체크아웃은 만료되며, 유료 런칭의 환불은 지원팀이 처리합니다.
scope: write 파괴적
create_checkout
Maker Pass(sku: maker_pass)용 Stripe Checkout 링크 또는 보유 기간이 만료된 유료 런칭(launch_id)용 새 링크를 반환합니다. 링크를 메이커에게 전달하세요. 직접 결제하지 마세요.
scope: write 웹에 도달
get_launch
내 런칭 중 하나: 상태, 주차, 결제 상태(미결제 시 체크아웃 링크), 투표, 댓글, 순위 및 일별 통계(조회수, 외부 클릭, 리퍼러 호스트). launch_id 또는 제품 slug를 전달하세요. 통계는 days\일까지 거슬러 올라갑니다: 최대 90일, 또는 Maker Pass로 전체 기록.
scope: read 읽기 전용 멱등
reply_comment
자신의 런칭에 달린 댓글에 메이커로서 답글을 게시합니다. 메이커가 승인한 텍스트만 게시하세요. 답글마다 새 client_request_id를 전달하세요(같은 id로 재시도하면 같은 답글을 반환하고, 다른 답글에 재사용하면 충돌입니다).
scope: write 멱등
recheck_listing
사이트가 수정된 후 자동 리스팅 검사를 다시 실행합니다(하루에 한 번). 카피나 URL이 변경되면 자동으로 다시 실행됩니다. checking으로 응답하면 몇 초 후 launch_checklist를 호출하세요.
scope: write 멱등 웹에 도달
공개 도구
https://launchdog.dev/mcp/public — 로그인 불필요. 라이브 및 지난 런칭만 해당하며, 예정된 주차는 개수만 표시됩니다.
get_launch
id(lch_…) 또는 제품 slug로 라이브 또는 지난 런칭을 조회합니다: 리스팅 텍스트(신뢰할 수 없음), 주차, 투표, 순위.
scope: public 읽기 전용 멱등
list_winners
최근 순위 주차의 상위 3개(우승자는 최소 3표 필요).
scope: public 읽기 전용 멱등
list_launch_weeks
남은 좌석과 가격이 포함된 향후 12개 런칭 주차(개수만, 예정된 런칭은 공개되지 않음).
scope: public 읽기 전용 멱등
인수 없음.
모든 에이전트는 계정 없이 보드를 읽을 수 있으며, /llms.txt와 읽기 전용 /feed.json도 마찬가지입니다.
직접 해결할 수 있는 오류
에이전트가 해결할 수 있는 문제는 각 항목에 해결 방법이 포함된 isError: true로 반환됩니다. 코드는 접두사 없이(too_long, tagline_too_long 아님) 안정적입니다: 새 코드는 추가되지만 이름이 변경되는 것은 없습니다. Rails 자체의 검증 코드(accepted, blank, confirmation, empty …)도 나타나며, 해당되는 경우 limit, actual 또는 allowed가 함께 표시됩니다.
{
"isError": true,
"structuredContent": {
"errors": [
{
"code": "too_long",
"field": "tagline",
"limit": 60,
"actual": 68,
"message": "Tagline is too long (maximum is 60 characters)",
"fix": {
"kind": "tool",
"tool": "update_product",
"args": {
"product_id": "prd_7Kq2mYw4Xb9Lr3Tz"
},
"instruction": "Change tagline: Tagline is too long (maximum is 60 characters), then call update_product again."
}
}
]
}
}
| 코드 | 의미 |
|---|---|
already_listed | 다른 리스팅이 이미 이 도메인을 검증했습니다. 본인 소유라면 지원팀에 문의하세요. |
hype_word | 카피에 과장 단어 목록의 단어가 사용되었습니다. actual\이 해당 단어를 알려줍니다. |
not_found | 계정에 해당 레코드가 없습니다(다른 계정의 id도 찾을 수 없음). |
unknown_built_with | 알 수 없는 사용된 도구입니다. allowed\이 가장 가까운 이름을 나열합니다. |
shared_host | URL이 공유 플랫폼(github.com, medium.com 등의 경로)에 있습니다. 전체 사이트를 등록하세요. |
limit_reached | 계정 한도(미결 체크아웃)에 도달했습니다. limit\이 어떤 숫자인지 알려줍니다. |
rate_limited | 호출이 너무 많습니다. 해결 방법에 재시도 시점이 나옵니다. |
insufficient_scope | 토큰에 이 도구에 필요한 scope가 없습니다. |
url_locked | 제품이 예약된 후에는 URL을 변경할 수 없습니다. |
missing | 런칭에 필요한 필드가 비어 있습니다. |
badge_missing | 사이트에서 배지 링크를 찾을 수 없습니다(무료 런칭에 필요). |
check_pending | 자동 리스팅 검사가 아직 완료되지 않았습니다. |
check_flagged | 자동 리스팅 검사가 사이트를 문제로 표시했습니다. 메시지에 이유가 나옵니다. |
votes_needed | 무료 런칭에는 다른 런칭에 대한 웹 투표 3회가 필요합니다. |
too_soon | 무료 런칭은 최소 7일 이후의 주차를 예약합니다. |
week_full | 해당 주차에 해당 종류의 좌석이 남아 있지 않습니다. allowed\가 열린 주차를 나열합니다. |
week_closed | 해당 주차가 시작되었거나 종료되었습니다. |
free_limit | 예정된 무료 런칭은 하나, 그리고 30일 이동 기간마다 하나입니다. |
relaunch_too_soon | 제품은 마지막 런칭 주차가 종료된 후 90일 뒤에 재런칭됩니다. |
checkout_unavailable | 유료 체크아웃이 아직 열리지 않았습니다. |
checkout_failed | Stripe가 방금 체크아웃을 열 수 없었습니다. 좌석이 해제되었습니다. 대기 후 재시도하세요. |
not_movable | 이 런칭은 그곳으로 이동할 수 없습니다(무료 런칭은 나중으로만 이동, 시작된 주차는 절대 불가). |
not_cancellable | 런칭이 시작되었거나, 종료되었거나, 이미 취소되었습니다. |
identity_required | 투표하려면 계정에 GitHub 또는 Google 로그인이 필요합니다. |
account_too_new | 계정이 24시간 미만입니다. |
own_launch | 메이커는 자신의 런칭에 투표할 수 없습니다. |
not_live | 이번 주에 런칭이 라이브 상태가 아닙니다. |
already_voted | 이미 이 런칭에 투표했습니다. |
duplicate | 지난 5분 이내에 같은 텍스트가 게시되었습니다. |
conflict | client_request_id가 이미 다른 요청에 사용되었습니다. 새 것을 사용하세요. |
reply_depth | 댓글은 한 단계의 답글만 가능합니다. |
media_refused | 이미지를 사용할 수 없습니다(SVG, 너무 큼, 이미지 아님 또는 접근 불가). |
media_limit | 리스팅이 보유할 수 있는 최대 스크린샷 수에 도달했습니다. |
fetch_failed | 사이트를 가져올 수 없습니다. |
has_upcoming_launch | 제품에 예약된 런칭이 있습니다. 먼저 취소하세요. |
already_on_account | 다른 제품이 이미 이 호스트를 등록하고 있습니다. |
not_payable | 결제할 것이 없습니다: 런칭이 확정되었거나, 취소되었거나, 유료 보유가 아닙니다. |
한도
1 / 30일
무료 런칭, 한 번에 하나의 예정된 런칭
60 / 분
도구 호출(시간당 600회)
10 / 일
create_product 호출
속도 제한 오류는 재시도 시점을 알려줍니다(retry_after_seconds).
웹 전용 작업
설계상 이들에 대한 도구는 없습니다. 에이전트가 이를 사용자에게 넘깁니다.