LaunchSignal
Máy chủ MCP Streamable HTTP công khai, không cần xác thực, để duyệt các sản phẩm ra mắt đã được phê duyệt, lấy chi tiết sản phẩm và gửi sản phẩm để xem xét.
Máy chủ MCP được lưu trữ
npx add-mcp 'https://launchsignal.ai/mcp'Cài vào Claude Code, Codex, Cursor và nhiều công cụ khác
Tài liệu
Public JSON API
Machine-readable listing API. Prefer these endpoints over the HTML form — the form at /submit stays for humans. OpenAPI: /openapi.json. Public MCP: /mcp (Streamable HTTP).
Base
https://launchsignal.ai · JSON request/response · CORS: public GET (*); POST allows browser/agent Origins with Content-Type / Accept.
POST /api/v1/products
Submit a listing (pending review). Fields: name, url, description, category, email, optional logo_url. Categories: SaaS, AI, Developer Tools, Design, Marketing, Productivity, Other.
curl -sS -X POST https://launchsignal.ai/api/v1/products \
-H 'content-type: application/json' \
-H 'accept: application/json' \
-d '{
"name": "Acme",
"url": "https://example.com",
"description": "Does one useful thing.",
"category": "AI",
"email": "you@example.com"
}'
GET /api/v1/products
List approved products. Query: limit (1–100, default 50), cursor or offset, optional category.
curl -sS 'https://launchsignal.ai/api/v1/products?limit=10&category=AI'
GET /api/v1/products/:slug
Detail for an approved listing. 404 if missing or not approved.
curl -sS https://launchsignal.ai/api/v1/products/acme
POST /api/v1/products/:slug/boost
Boost an approved listing. Body: {"plan":"priority"|"featured"} (no amounts — server-side only). Submit stays free; boost after approve (or on an existing approved slug). Same logic as POST /api/checkout.
curl -sS -X POST https://launchsignal.ai/api/v1/products/acme/boost -H 'content-type: application/json' -H 'accept: application/json' -d '{"plan":"priority"}'
Backlink perk (text or badge)
Flow for agents: submit → wait for approved → add any <a href> to launchsignal.ai on the product homepage (plain text link is enough; image badge optional) → verify. First success grants 7 days of free Priority placement once; while verified the listing shows “Verified”. Snippets use rel="nofollow" (any rel passes verification); listing outbound links are always rel="ugc nofollow", or rel="sponsored" for paid boosts. Rechecked weekly; if the link disappears, verification is removed (Priority is kept). Submit responses include hint and next_steps.
Preferred text snippet:
<a href="https://launchsignal.ai/l/acme?utm_source=backlink">Listed on LaunchSignal</a>
Optional image badge: GET /badge/:slug.svg (light) · GET /badge/:slug.svg?theme=dark — approved slugs only.
<a href="https://launchsignal.ai/l/acme?utm_source=badge"><img src="https://launchsignal.ai/badge/acme.svg" alt="Listed on LaunchSignal" width="200" height="54"></a>
POST /api/v1/products/:slug/verify-backlink
Fetches the listing url only (5s timeout, 512KB, text/html, ≤3 redirects, public hosts only) and looks for a link to launchsignal.ai / www.launchsignal.ai. Limit 3 checks per slug per UTC day.
curl -sS -X POST https://launchsignal.ai/api/v1/products/acme/verify-backlink -H 'accept: application/json'
Legacy
POST /api/submit still works (form redirects or JSON). Prefer /api/v1/products.
Error codes
missing_fields— required field emptyinvalid_url/invalid_logo_urlinvalid_email/invalid_categoryinvalid_cursor/invalid_limitinvalid_plan— plan must be priority or featurednot_found— missing or not approvednot_approved— boost requires approved statusrate_limited— verify-backlink limit (3/slug/day)stripe_not_configured— stripe mode without keysserver_error
MCP — https://launchsignal.ai/mcp
Public, authless Model Context Protocol server (Streamable HTTP, JSON). Same listing logic as the REST API — no OAuth this round. Tools: submit_product, list_products, get_product, boost_product (slug + plan; demo / no charge when PAYMENTS_MODE=mock), verify_backlink (slug — same as the verify-backlink endpoint).
{
"mcpServers": {
"launchsignal": {
"url": "https://launchsignal.ai/mcp"
}
}
}
Notes
Submit is always free; Priority/Featured use the boost endpoint after approve (not on submit). MCP OAuth deferred. See also /llms.txt and /openapi.json.