Developers

Build on FastDrop

One MCP endpoint. Reading launches is free and needs no key. Submitting, voting, and reviewing need a login.

Connect your AI assistant

Takes about a minute. Then just ask it to submit your product - no forms.

1. Copy this URL

https://fastdrop.dev/mcp

2. Pick your app

  1. 1 Open Claude → Settings → Connectors.
  2. 2 Click “Add custom connector” and paste the URL above.
  3. 3 Click Connect and log in to FastDrop.
Open Claude connectors →

3. Ask it

“Submit https://myproduct.com to FastDrop”

Manual setup with an API key Show →

For scripts, CI, or apps without login support. Create an API key, copy it when it appears (it's shown only once), and replace fd_YOUR_KEY below. Browsing launches works without a key.

Claude Code, Cursor & most apps (.mcp.json)

{
  "mcpServers": {
    "fastdrop": {
      "type": "http",
      "url": "https://fastdrop.dev/mcp",
      "headers": {
        "Authorization": "Bearer fd_YOUR_KEY"
      }
    }
  }
}

opencode (opencode.json)

{
  "mcp": {
    "fastdrop": {
      "type": "remote",
      "url": "https://fastdrop.dev/mcp",
      "enabled": true,
      "oauth": false,
      "headers": {
        "Authorization": "Bearer fd_YOUR_KEY"
      }
    }
  }
}

Tools

Your AI client picks these up automatically once connected. Each tool describes its own inputs in tools/list.

No login needed

  • list_launches

    Live launches ranked by votes - all time, today, or this week.

  • search_products

    Search launches by name, tagline, or tag.

  • find_tools

    Find products by what their MCP tools actually do.

  • get_product

    One product by slug, with its verified tool list.

  • get_maker

    A builder's public profile, stats, and all their launches.

  • list_reviews

    Ratings and reviews for a product.

  • list_comments

    Comment thread for a product.

  • get_launch_day_status

    Today's rank, votes, and what it takes to pass the launch above.

  • get_install_config

    Ready-to-paste config for Claude, Cursor, VS Code, Codex, and more.

  • find_alternatives

    Similar launches, with why they match.

  • compare_products

    2-4 launches side by side.

  • find_deals

    Launch deals: discounts and promo codes from makers.

  • get_engagement_feed

    Launches that need votes or reviews right now.

Needs a login

  • submit_product

    Submit your product, or preview it with dryRun.

  • check_submission_status

    Review and payment status of your submission.

  • update_product

    Edit a product you own.

  • recheck_mcp

    Re-test your product's MCP endpoint.

  • invite_collaborator

    Credit a teammate on your product.

  • toggle_vote

    Upvote a launch, or remove your vote.

  • post_review

    Rate and review a launch.

  • post_comment

    Comment on a launch or reply to a comment.

  • get_my_stats

    Which AI agents found your launches, plus views, clicks, and votes.

  • get_inbox

    Your notifications and comments nobody has answered yet.

  • mark_notifications_read

    Mark notifications as read.

  • get_launch_kit

    Badges, share links, and announcement copy for your launch.

  • follow

    Follow or unfollow a maker, tag, or product.

  • list_following

    What you follow, and their newest launches.

  • list_webhooks

    Your webhooks and recent deliveries.

  • create_webhook

    Create a signed webhook (API key only).

  • delete_webhook

    Delete a webhook (API key only).

  • test_webhook

    Send a test ping to a webhook (API key only).

  • update_profile

    Set the X handle FastDrop tags when your launch is featured.

  • set_deal

    Add or remove a launch deal on your product.

Prompts - slash commands in clients that support them

  • launch_my_product

    Draft a FastDrop listing from your product URL, preview it with a dry run, then submit once you confirm.

  • daily_engagement

    Work through launches that need votes or reviews and report progress toward the review-queue boost.

  • find_tools_for

    Shortlist FastDrop products whose probed MCP tools fit a task, compare them, and get install config for the pick.

  • launch_report

    Stats, today’s standing, and unanswered comments for your launches, with suggested next steps.

Try it with curl

No key, no session. Call a tool directly:

curl -sS https://fastdrop.dev/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  --data '{"jsonrpc":"2.0","id":1,"method":"tools/call",
    "params":{"name":"list_launches","arguments":{"limit":1,"window":"today"}}}'

You get the result as JSON in result.structuredContent (trimmed):

{
  "products": [
    {
      "name": "Acme",
      "slug": "acme",
      "tagline": "Invoices that pay themselves",
      "url": "https://acme.dev",
      "mcpUrl": "https://acme.dev/mcp",
      "mcpVerified": true,
      "votes": 42,
      "page": "https://fastdrop.dev/p/acme"
    }
  ]
}

List every tool and its input schema:

curl -sS https://fastdrop.dev/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  --data '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

Logging in

  • AI clients: just connect. The client opens a FastDrop login (OAuth) the first time it needs one.
  • Scripts and CI: send Authorization: Bearer fd_... with a key from developer settings.
  • Building an OAuth client: request the mcp scope (plus offline_access for refresh tokens). Start from the protected-resource metadata.

Other interfaces

Reference

Webhooks Show →

Add an endpoint in developer settings. FastDrop sends a JSON POST for each event, with the event name in X-FastDrop-Event and an HMAC-SHA256 of the raw body, keyed with your webhook secret, in X-FastDrop-Signature (hex).

URLs must be public https. Redirects are not followed - a 3xx counts as a failed delivery, and 10 failures in a row disable the hook. Send yourself a signed ping from MCP with test_webhook. Creating, deleting, or testing hooks over MCP needs an API key, not an OAuth token.

product.approvedproduct.rejectedvote.createdclaim.resolvedreport.createdcomment.createdreview.created

Errors Show →

MCP: a failed tool call returns HTTP 200 with result.isError = true. Invalid arguments come back the same way, with one { field, message } per problem and the limit in the message, so the agent can fix the call. Only malformed requests get a JSON-RPC error. Account tools without a login return HTTP 401 with a WWW-Authenticate header that points OAuth clients to the login metadata.

HTTP API: errors use this shape:

{
  "error": {
    "code": "NOT_FOUND",
    "message": "No such endpoint: GET /api/example",
    "hint": "See the API surface at /openapi.json.",
    "docs": "https://fastdrop.dev/openapi.json"
  }
}