Install the MCP server

Add Founder.best to Claude, ChatGPT, Cursor, Claude Code, VS Code or your own MCP client. Hosted, stateless, nothing to run locally.

Server URL
https://www.founder.best/api/mcp
Transport
Streamable HTTP
Auth
None
Session
Stateless
Tools
7, read-only

No trailing slash, no OAuth.

Use the URL exactly as shown. The server does not require an authorization step, so clients that offer an “authenticate” button (Claude.ai connectors, ChatGPT developer mode) will connect straight away.

Add the server

bash
claude mcp add --transport http founder-best https://www.founder.best/api/mcp

Where the config lives

ClientHow to add it
Claude CodeRun the claude mcp add command above. Add --scope user to make it available in every project. Check with claude mcp list.
Claude.ai (web / desktop)Settings → Connectors → Add custom connector. Paste the URL, leave the OAuth fields empty, save. Enable it per conversation from the tools menu.
ChatGPTSettings → Connectors (developer mode) → Create. Name it, paste the URL, choose No authentication. The tools appear when the connector is enabled in a chat.
CursorProject-level in .cursor/mcp.json or global in ~/.cursor/mcp.json. Cursor reloads the file automatically; toggle the server on in Settings → MCP.
VS Code (Copilot agent mode).vscode/mcp.json with “type”: “http”. Start the server from the inline “Start” action or the MCP servers view.
Windsurf, Zed, othersAny client that supports remote Streamable HTTP servers accepts the generic mcpServers shape.

Verify it works

Ask the agent to list its tools. You are looking for these seven names:

Then try a request that exercises search:

Prompt
Search Founder.best for developer tools launched this month and tell me which are open source.

From your own code

Use the official MCP TypeScript client, or speak JSON-RPC over HTTP directly. Both examples call search_products and read the structuredContent field, which every tool returns alongside its Markdown text.

agent.ts
import { Client } from "@modelcontextprotocol/client";
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/client/streamableHttp";

const client = new Client({ name: "my-agent", version: "1.0.0" });
await client.connect(new StreamableHTTPClientTransport(new URL("https://www.founder.best/api/mcp")));

const { tools } = await client.listTools();
console.log(tools.map((t) => t.name));
// ["search_products", "get_product", "search_founders", "get_founder",
//  "get_launches", "get_trending_products", "search_categories"]

const result = await client.callTool({
  name: "search_products",
  arguments: { query: "generate social media content", pricing: ["free", "freemium"], limit: 10 },
});
console.log(result.structuredContent); // { total, products: [...] }

Transport details

ItemBehaviour
TransportStreamable HTTP. POST carries JSON-RPC requests; responses arrive as JSON or a short SSE stream depending on the Accept header your client sends. GET and DELETE are handled for clients that open a listening stream or close a session.
SessionsStateless. Every request is independent, so the server works behind a CDN and across serverless instances. Clients may still send Mcp-Session-Id; it is ignored.
Protocol versionsBoth the 2025 and 2026 Streamable HTTP eras are supported from the same endpoint.
InstructionsThe initialize response includes server instructions describing the recommended tool order and citation rules, so hosts that surface them prime the model automatically.
Rate limit60 requests per minute per IP, reported in X-RateLimit-* headers. Over the limit you receive HTTP 429 with a JSON-RPC error body and Retry-After.
CORSAccess-Control-Allow-Origin: *, with Mcp-Session-Id and Mcp-Protocol-Version exposed, so browser-hosted clients work.

Troubleshooting

The client says “no tools”

Make sure the URL ends in /api/mcp with no trailing slash and that the client is configured for a remote HTTP server, not a local command. Some clients cache the tool list; restart the session after adding the server.

Results look stale

MCP tool calls query the database live, so they are never more than a few seconds behind the site. If a product you just edited is missing, it is probably still pending review or waiting for its launch date - both are excluded on purpose.

HTTP 429

You crossed 60 calls in a minute from one IP. Wait for Retry-After seconds. If an agent loops on a failing call, fix the arguments (the error text names the invalid field) rather than retrying blindly.