Quick start
Connect an AI assistant to Launching Pro with one URL, or call the REST API from your code.
MCP server URL: https://launchingpro.com/mcp
Claude (claude.ai and Claude Desktop)
- Open Settings, then Connectors, and choose to add a custom connector.
- Name it Launching Pro and paste
https://launchingpro.com/mcpas the URL. - Ask Claude to search Launching Pro. The first time it needs your account, Claude opens a sign-in page here; choose Allow access.
Claude Code
claude mcp add --transport http launchingpro https://launchingpro.com/mcp
Then run /mcp in Claude Code to sign in when a tool asks for your account.
ChatGPT
- In ChatGPT settings, open Connectors (developer mode may need to be switched on for custom connectors).
- Create a connector with the URL
https://launchingpro.com/mcpand OAuth sign-in. - Use it in a chat; ChatGPT sends you here to allow access the first time.
Cursor
Add this to ~/.cursor/mcp.json (or .cursor/mcp.json in a project):
{
"mcpServers": {
"launchingpro": {
"url": "https://launchingpro.com/mcp"
}
}
}
VS Code
Add this to .vscode/mcp.json in your workspace, then start the server from the MCP view:
{
"servers": {
"launchingpro": {
"type": "http",
"url": "https://launchingpro.com/mcp"
}
}
}
Any other MCP client
Use the Streamable HTTP transport with https://launchingpro.com/mcp. Protocol versions 2026-07-28 and the earlier initialize-based versions (2025-03-26 to 2025-11-25) are supported. Sign-in follows the MCP authorization spec: protected resource metadata at /.well-known/oauth-protected-resource/mcp, OAuth 2.1 with PKCE, client ID metadata documents or dynamic registration. Test it with the official MCP Inspector: npx @modelcontextprotocol/inspector.
REST with curl
curl "https://launchingpro.com/api/v1/listings?q=invoicing&per_page=5"
curl "https://launchingpro.com/api/v1/leaderboards/community-weekly"
With your account (create a key under API keys):
export API_KEY=lk_...
curl -X POST "https://launchingpro.com/api/v1/drafts" \
-H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json" \
-d '{"url": "https://example.com"}'
Python
import os, time, requests
API = "https://launchingpro.com/api/v1"
H = {"Authorization": f"Bearer {os.environ['API_KEY']}"}
draft = requests.post(f"{API}/drafts", json={"url": "https://example.com"}, headers=H).json()
while draft["status"] in ("crawling", "drafting"):
time.sleep(4)
draft = requests.get(f"{API}/drafts/{draft['id']}", headers=H).json()
listing = requests.post(f"{API}/drafts/{draft['id']}/submit", headers=H).json()
order = requests.post(f"{API}/orders/checkout", headers={**H, "Idempotency-Key": "my-first-launch"},
json={"items": [{"product": "launch", "listing_id": listing["listing_id"]}]}).json()
print("Pay here:", order["checkout_url"])
JavaScript
const API = "https://launchingpro.com/api/v1";
const res = await fetch(`${API}/listings?q=${encodeURIComponent("ai writing")}`);
const { items } = await res.json();
for (const l of items) console.log(l.name, l.url, l.votes);