Get started
API & MCP
Search the Launch Llama catalog, audit a site before it launches, and open a listing draft — from an agent or from curl. Everything a founder does in the browser is reachable programmatically through an MCP server and a small REST API.
OpenAPI spec → Discovery JSON →
MCP and REST share one backend — the same catalog search, readiness checks, and draft creation either way.
What an agent can do
Reads are anonymous. Your agent can search the catalog, pull a full listing, and run a launch readiness audit against any URL without credentials.
Draft creation is also anonymous — pass a product URL to POST /submissions and the response includes a review_url. The UUID in that link is the secret.
What an agent cannot do
An agent can open a draft. It can never publish a listing.
A human finishes at /submit, and an admin reviews before it goes live.
Endpoints at a glance
| MCP | https://kxdushqmihjyuddcwkpw.supabase.co/functions/v1/api-mcp |
| REST | https://kxdushqmihjyuddcwkpw.supabase.co/functions/v1/api-v1 |
| Submit | https://tools.launchllama.co/submit |
Preflight: launch readiness
Before submit_product, run check_launch_readiness on the product URL for duplicate checks, badge detection, and a suggested listing.
Quickstart
No API keys to create. Run a catalog search, audit the URL, then open a draft.
1. Search the catalog
curl -s "https://kxdushqmihjyuddcwkpw.supabase.co/functions/v1/api-v1/products?q=ai&limit=5" \ -H "Accept: application/json"
2. Audit the URL
curl -s "https://kxdushqmihjyuddcwkpw.supabase.co/functions/v1/api-v1/launch-readiness?url=https://yourproduct.com" \ -H "Accept: application/json"
3. Open a draft
curl -s -X POST "https://kxdushqmihjyuddcwkpw.supabase.co/functions/v1/api-v1/submissions" \
-H "Content-Type: application/json" \
-H "X-Partner-Source: your-agent" \
-d '{"url":"https://yourproduct.com"}'
Authentication
No API keys
Search and reads are open. Draft creation is anonymous — the UUID in the review link is the secret.
- Nothing to generate or store in your dotfiles
- One link opens the prefilled submit form
- Optional partner header for attribution only — not auth
REST API
Plain HTTP for scripts, CI, and partner integrations. The MCP server calls these same paths.
| Operation | Method | Path | Auth | Input |
|---|---|---|---|---|
search_productsPlain-language search across live listings. |
GET | /products | None | q, limit, offset |
get_productThe full listing for one product. |
GET | /products/{slug} | None | slug |
check_launch_readinessPreflight audit: duplicates, badge, suggested listing. |
GET | /launch-readiness | None | url |
submit_productOpens a listing draft and returns a review link. |
POST | /submissions | None | url, partner, product_name, short_description |
get_submissionFetch a draft you already created (resume in the browser). |
GET | /submissions/{id} | UUID secret | id |
Products
search_products
Plain-language search across live listings.
- Method:
- GET /products
- Auth:
- None
- Input:
- q, limit, offset
curl -s "https://kxdushqmihjyuddcwkpw.supabase.co/functions/v1/api-v1/products?q=ai&limit=5" \ -H "Accept: application/json"
get_product
The full public listing for one product slug.
- Method:
- GET /products/{slug}
- Auth:
- None
- Input:
- slug
curl -s "https://kxdushqmihjyuddcwkpw.supabase.co/functions/v1/api-v1/products/clawteams" \ -H "Accept: application/json"
Launch readiness
check_launch_readiness
Preflight audit: duplicate check, free badge detection, badge HTML snippet, suggested listing.
- Method:
- GET /launch-readiness
- Auth:
- None
- Input:
- url
curl -s "https://kxdushqmihjyuddcwkpw.supabase.co/functions/v1/api-v1/launch-readiness?url=https://yourproduct.com" \ -H "Accept: application/json"
Submissions
submit_product
Creates a draft and returns review_url.
- Method:
- POST /submissions
- Auth:
- None
- Input:
- url, partner, product_name, short_description
curl -s -X POST "https://kxdushqmihjyuddcwkpw.supabase.co/functions/v1/api-v1/submissions" \
-H "Content-Type: application/json" \
-H "X-Partner-Source: your-agent" \
-d '{"url":"https://yourproduct.com"}'
get_submission
Fetch an open draft by id.
- Method:
- GET /submissions/{id}
- Auth:
- UUID secret
- Input:
- id
curl -s "https://kxdushqmihjyuddcwkpw.supabase.co/functions/v1/api-v1/submissions/{draft-id}" \
-H "Accept: application/json"
Recommended workflow
-
1. Look around
search_products tells you what already exists in the category you are launching into — the fastest way to write a tagline that is not a duplicate of three others.
GET /products?q=… -
2. Audit before you write anything
check_launch_readiness returns whether the URL is already listed, whether the free badge is installed, a suggested listing, and the exact badge snippet if it is missing.
GET /launch-readiness?url=… -
3. Open the draft
submit_product scrapes the URL, prefills name and tagline, and hands back a review_url. The draft lands in draft status and stops there.
POST /submissions -
4. Founder finishes in the browser
Edit copy, upload media, install the free badge or pick Instant Launch, and submit. Every free listing is reviewed by a human before it goes live.
/submit?draft=…
None of these publish anything. A draft becomes live only after a human submits and an admin approves.
Install
Streamable HTTP MCP — hosted, nothing to install from npm.
https://kxdushqmihjyuddcwkpw.supabase.co/functions/v1/api-mcpClaude Code
claude mcp add --transport http launchllama https://kxdushqmihjyuddcwkpw.supabase.co/functions/v1/api-mcp
Cursor / Claude Desktop
{
"mcpServers": {
"launchllama": {
"url": "https://kxdushqmihjyuddcwkpw.supabase.co/functions/v1/api-mcp"
}
}
}
Verify it works
curl -i https://kxdushqmihjyuddcwkpw.supabase.co/functions/v1/api-mcp -X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}'
Tools
| Tool | Auth |
|---|---|
| search_products | None |
| get_product | None |
| check_launch_readiness | None |
| submit_product | None |
| get_submission | UUID secret |
Rate limits
Public reads and draft creation are open today with no API keys. Rate limit headers are on the roadmap.
Errors
| 400 | Bad request — invalid JSON or missing url |
| 404 | Product or draft not found (or draft expired) |
| 500 | Server error — retry or contact support |
Roadmap
| Item | Status |
|---|---|
| Pretty /api/mcp URL on tools.launchllama.co | Planned |
| Account pairing for “my submissions” | Planned |
| Rate limit headers on public reads | Planned |
Ready to submit?
Start in the browser or call the API. Either way, you review before it ships.
Submit your tool →