FounderMCPDocs

Start

Connect your assistant

Two MCP URLs, a bearer key, and a config you can paste. About two minutes.

View Markdown

FounderMCP does not run an OAuth server. Every client sends one HTTP POST with Authorization: Bearer and a key. A client that can only sign in with OAuth cannot connect.

There are two servers. Use the first one for the path in From companies to leads.

  • Signals — companies, signals, leads, explain, enrich, monitors. POST https://foundermcp.dev/api/v1/mcp. Key prefix gtk_, from API Access → API Keys. The response is a server-sent event stream. POST without a key, or with an invalid or revoked key, is 401, including while the API is closed. A valid key while the Signals API is closed for your organization answers 404.
  • Assistant — drafts and replies in your workspace. POST https://foundermcp.dev/api/mcp. Key prefix ejk_, from Connect your assistant → Assistant key. The response is JSON. The full key is shown once. An organization can have 10 active MCP keys. An ejk_ key cannot call the REST API, and a gtk_ key cannot call the assistant server.

GET, PUT, PATCH and DELETE return 405 with Allow: POST on both URLs, before the key is checked and while an API is closed. Use POST. Do not put the key in the query string, and do not paste it into a chat. Examples below read the key from FOUNDERMCP_API_KEY.

Generic MCP config

Paste this when the client asks for a remote MCP server and a header. Replace the key. FounderMCP has not verified a separate setup screen for Claude Duet, Dots or Muse, so those three use this config. Grok Bot has a checked path further down.

Signals server (company → lead):

{
  "mcpServers": {
    "foundermcp": {
      "url": "https://foundermcp.dev/api/v1/mcp",
      "headers": {
        "Authorization": "Bearer gtk_…"
      }
    }
  }
}

Assistant server (drafts, after you have leads):

{
  "mcpServers": {
    "foundermcp-assistant": {
      "url": "https://foundermcp.dev/api/mcp",
      "headers": {
        "Authorization": "Bearer ejk_…"
      }
    }
  }
}

If the client has no header field, it cannot connect. Leave any OAuth client id and secret empty.

Claude Duet

MCP URL: https://foundermcp.dev/api/v1/mcp

FounderMCP has not verified a Duet-specific dialog. Add a remote MCP server with the generic config above and header Authorization: Bearer plus a gtk_ key. If Duet only offers OAuth, that sign-in cannot finish.

Grok Bot

MCP URL: https://foundermcp.dev/api/v1/mcp for leads, or https://foundermcp.dev/api/mcp for drafts.

In the Grok Bot app, open Settings → Plugins and add a custom MCP server (the app also accepts "Add this MCP server" in chat, then still needs the header below).

  • Name: FounderMCP
  • URL: the server you want, public HTTPS
  • HTTP header name: Authorization
  • HTTP header value: Bearer and the key (gtk_ on the Signals URL, ejk_ on the assistant URL)
  • Leave the OAuth client id and secret empty

Save, install the server from Plugins, and attach it in a chat with @. A URL with no header is rejected.

Dots

MCP URL: https://foundermcp.dev/api/v1/mcp

FounderMCP has not verified a Dots-specific dialog. Use the generic config and Authorization: Bearer with a gtk_ key.

Muse

MCP URL: https://foundermcp.dev/api/v1/mcp

FounderMCP has not verified a Muse-specific dialog. Use the generic config and Authorization: Bearer with a gtk_ key.

Also checked

These clients were checked against the same two servers. The header is still Authorization: Bearer.

Claude Code

claude mcp add --transport http foundermcp https://foundermcp.dev/api/v1/mcp \
  --header "Authorization: Bearer $FOUNDERMCP_API_KEY"

A project .mcp.json needs "type": "http", the URL, and the same header. An entry with a url and no type is skipped.

Claude Desktop and Claude.ai

Organization settings → Connectors → Add, then Custom → Web (on a personal account: Add custom connector). Name it FounderMCP, set the URL, choose No sign-in, and set request header authorization to Bearer plus the key. Request headers are in beta and missing on some organizations. If that section is missing, use Claude Code or the generic config in a client that sends the header itself.

Cursor

~/.cursor/mcp.json, then restart Cursor. Do not add an auth block. That block is for an OAuth client, which FounderMCP does not issue.

{
  "mcpServers": {
    "foundermcp": {
      "url": "https://foundermcp.dev/api/v1/mcp",
      "headers": {
        "Authorization": "Bearer ${env:FOUNDERMCP_API_KEY}"
      }
    }
  }
}

ChatGPT and Codex

ChatGPT's custom MCP form offers OAuth or no authentication. FounderMCP implements neither, so that form cannot connect. Codex can, with bearer_token_env_var = "FOUNDERMCP_API_KEY" under [mcp_servers.foundermcp] in ~/.codex/config.toml. Codex adds the word Bearer itself.

Next

Ask the assistant for a company, then follow From companies to leads. The tool map is MCP.