DocsConnect a client

Connect a client

Every client takes the same endpoint. OAuth clients sign in through a Getlead consent screen; developer tools send the key as a bearer header.

endpoint (all clients)
https://mcp.getle.ad/mcp
Where the key comes from
Mint it at Settings, MCP. Replace glm_live_YOUR_KEY in every snippet below. Read-only keys are refused for any tool that writes, which is the right default for scheduled or unattended runs.

Claude (web, desktop, mobile)

Claude connects with OAuth, so no key is pasted into the client.

  1. Open Settings, Connectors, Add custom connector.
  2. Paste https://mcp.getle.ad/mcp as the remote MCP server URL. Leave the advanced OAuth fields empty: Claude registers itself.
  3. Claude sends you to the Getlead consent screen. Sign in and pick the scopes.
  4. Start a chat and confirm the Getlead tools appear in the tool list.

If your build supports a local config file instead, the manual form is the same block Claude Desktop uses:

claude_desktop_config.json
{
  "mcpServers": {
    "getlead": {
      "type": "http",
      "url": "https://mcp.getle.ad/mcp",
      "headers": {
        "Authorization": "Bearer glm_live_YOUR_KEY"
      }
    }
  }
}

Claude Code

One command. Add --scope project to commit the server to a repository instead of your user config.

user scope
claude mcp add --transport http getlead https://mcp.getle.ad/mcp \
  --header "Authorization: Bearer glm_live_YOUR_KEY"
project scope
claude mcp add --transport http --scope project getlead https://mcp.getle.ad/mcp \
  --header "Authorization: Bearer glm_live_YOUR_KEY"

Then confirm with /mcp inside Claude Code, or let the agent set itself up:

Paste into Claude Code

Claude Code runs the install command, verifies the tool list and reports your quota.

Add the Getlead MCP server to this project and verify it works:

1. Run: claude mcp add --transport http --scope project getlead https://mcp.getle.ad/mcp  --header "Authorization: Bearer glm_live_YOUR_KEY"
   (replace glm_live_YOUR_KEY with the key from https://app.getle.ad/settings/mcp)
2. Confirm the server is connected and list the Getlead tools you can see.
3. Call get_account and summarize my plan and remaining credits.
4. Do not call create_campaign or send_reply without asking me first: they send real email.

ChatGPT

  1. Enable developer mode in Settings, Connectors, Advanced. Full read and write MCP connectors are gated behind it, and workspace owners can disable it.
  2. Choose Create and paste https://mcp.getle.ad/mcp.
  3. Approve the Getlead consent screen and select the scopes.
  4. Pick which tools to expose. Leaving sending tools off gives you a research-only connector.
Connector availability
Custom MCP connectors are a paid-plan, developer-mode feature in ChatGPT. If it is unavailable on your account, use Claude, Cursor or Gemini CLI with an API key instead.

Cursor

Project scope lives in .cursor/mcp.json; global scope lives in Cursor’s MCP settings pane.

.cursor/mcp.json
{
  "mcpServers": {
    "getlead": {
      "url": "https://mcp.getle.ad/mcp",
      "headers": {
        "Authorization": "Bearer glm_live_YOUR_KEY"
      }
    }
  }
}
Never commit a real key
A committed key is a live credential to your lead database and your sending mailboxes. Use an environment variable, keep the file untracked, and revoke immediately if one leaks.

Gemini CLI

User scope is ~/.gemini/settings.json, project scope is .gemini/settings.json. Note the key name: httpUrl, because this is a streamable HTTP server rather than the older SSE transport.

~/.gemini/settings.json
{
  "mcpServers": {
    "getlead": {
      "httpUrl": "https://mcp.getle.ad/mcp",
      "headers": {
        "Authorization": "Bearer glm_live_YOUR_KEY"
      },
      "timeout": 60000
    }
  }
}

Verify inside the CLI with /mcp.

VS Code, Windsurf, Zed, Cline

All of them accept a remote MCP server with a bearer header. The VS Code shape is below; the others use the same three fields with their own wrapper key.

.vscode/mcp.json
{
  "servers": {
    "getlead": {
      "type": "http",
      "url": "https://mcp.getle.ad/mcp",
      "headers": {
        "Authorization": "Bearer glm_live_YOUR_KEY"
      }
    }
  }
}

Python SDK

For your own agents, the official MCP Python SDK connects over streamable HTTP:

python
import asyncio
from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client

HEADERS = {"Authorization": "Bearer glm_live_YOUR_KEY"}

async def main():
    async with streamablehttp_client("https://mcp.getle.ad/mcp", headers=HEADERS) as (read, write, _):
        async with ClientSession(read, write) as session:
            await session.initialize()
            tools = await session.list_tools()
            print([t.name for t in tools.tools])
            account = await session.call_tool("get_account", {})
            print(account.content[0].text)

asyncio.run(main())

Verify the connection

  1. Ask the client to list its Getlead tools. You should see 34.
  2. Call get_account. It is free and read-only.
  3. If you get a 401, the key is wrong or revoked. A 403 means the credential lacks the scope the tool needs.

Full failure list on Errors and troubleshooting.

Something unclear? Ask in the app, or read the product overview.