BusinessMCP

Connect Claude, GPT & Gemini to your MCP endpoint

6 min readLast updated September 21, 2026

Model-agnostic setup guide: point Claude Desktop, ChatGPT, Cursor, Gemini or any MCP client at your BusinessMCP endpoint with a Bearer mcph_* key and query your unified business data.

Before you start

You need two things: your endpoint URL and a Bearer mcph_* key. The URL is the same for everyone — https://businessmcp.com/api/mcp — and the key comes from Settings in your dashboard (see expose your MCP endpoint). Because MCP is a standard, the setup below is nearly identical across clients: give the client the URL, hand it the bearer token, done. This is the whole point of a model-agnostic layer — connect once, use everywhere.

Claude Desktop

Add your endpoint to Claude Desktop's config file (claude_desktop_config.json). Claude Desktop speaks [stdio](/guides/remote-vs-local-mcp), not HTTP, so the entry launches the mcp-remote bridge rather than naming the URL directly — a bare url + headers entry is silently ignored and the server simply never appears:

{
  "mcpServers": {
    "businessmcp": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://businessmcp.com/api/mcp",
        "--header",
        "Authorization: Bearer mcph_your_key_here"
      ]
    }
  }
}

Restart Claude Desktop and your workspace's tools appear in the tool menu. Ask "what were my top channels last week?" and Claude will call get_analytics against your data.

ChatGPT and Claude.ai

Both add connectors through their own UI rather than a config file, and both authenticate over OAuth — neither has a field for pasting a Bearer token. So you do not need a mcph_* key for these two: paste the endpoint URL, and you will be sent to BusinessMCP to sign in and choose how much access to grant.

https://businessmcp.com/api/mcp

On the consent screen you pick an access level. Choosing a scoped policy means the connector can only reach the data classes that policy allows — so you can hand ChatGPT read-only analytics while keeping revenue and contact details out of it. Manage or revoke the resulting key later in Settings → API & access.

Config-file clients (Claude Desktop, Claude Code, Cursor, VS Code) use the Bearer key instead — see the sections above and below.

Claude.ai is also where Claude in Chrome reads its connectors from, which makes it the one setup that can do work in your browser rather than only answer questions about your data. See which clients can act.

Cursor

Cursor reads MCP servers from ~/.cursor/mcp.json. Like Claude Desktop it speaks stdio, so the entry launches the mcp-remote bridge — a bare url + headers entry loads without an error and then never connects:

{
  "mcpServers": {
    "businessmcp": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://businessmcp.com/api/mcp",
        "--header",
        "Authorization: Bearer mcph_your_key_here"
      ]
    }
  }
}

Now your coding agent can pull real business context — analytics, CRM, campaigns — into the same window where you write code.

Gemini & custom agents

Any client that speaks MCP works. For clients that only support the stdio transport, run a small local bridge that forwards stdio to your HTTP endpoint:

{
  "mcpServers": {
    "businessmcp": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://businessmcp.com/api/mcp",
        "--header",
        "Authorization: Bearer mcph_your_key_here"
      ]
    }
  }
}

For a fully custom agent, use your MCP SDK's HTTP client, set the endpoint URL, and attach the Authorization: Bearer mcph_... header on every request. The discovery-then-invoke flow is identical to the raw calls in expose your MCP endpoint.

Which clients can ACT, not just read

Every client above can call every tool your key permits. That is not the same as being able to *do* something on your behalf, and the difference catches people out on the LinkedIn queue.

The sales engine deliberately never sends on LinkedIn. It picks who to contact, writes the message, verifies the profile is the right person, and works out how much is safe today — the rolling seven-day invitation window, your remaining personalised-note quota, the acceptance-rate throttle, the spacing between actions — then hands you an ordered work order. We do not hold your LinkedIn session and we removed the code that could. Automated sending means a datacenter IP running a hosted session with no organic browsing between actions, which is the pattern LinkedIn permanently bans accounts for, and no daily cap rescues an account it has already judged a bot.

So performing the send takes a browser signed into that LinkedIn account:

  • Claude.ai + [Claude in Chrome](https://claude.com/product/claude-in-chrome) — the one setup that can. Connect the endpoint to Claude.ai (OAuth, above), install the extension, open LinkedIn and say *"work my LinkedIn queue"*. It calls list_linkedin_queue, sends each message as written from your session, and records it with complete_linkedin_touch so the cadence advances and your CRM matches what actually went out. The work-linkedin-queue prompt spells the workflow out if you prefer to invoke it by name.
  • Claude Code, Claude Desktop, Cursor, VS Code, goose — can read the same queue and everything else. They have no browser of yours to act in, so they cannot complete a touch you have not sent.
  • ChatGPT — its connectors run on OpenAI's servers, so the same limit applies.

Give the connection full access. Both LinkedIn tools read outbound message content, so a no-send key cannot see them at all and a read-only key cannot record a send — and nothing says why, the tools are simply not offered.

Verify the connection

Whichever client you use, confirm two things. First, that discovery works — the client should list tools like get_analytics, list_contacts and your connector tools (github_*, gsc_*). Second, that a real call returns data. Ask a question that forces a tool call and check the answer reflects your actual numbers. If discovery fails, it is almost always the header: confirm the key is current, prefixed mcph_, and sent as a bearer token.

Frequently asked questions

Is BusinessMCP locked to one AI model?

No — it is model-agnostic by design. The same endpoint and the same Bearer mcph_* key work with Claude, ChatGPT, Cursor, Gemini and any MCP-compatible client. Connect your tools once; use them with every model.

Where do I put my API key?

In the Authorization header as a bearer token. Every client below shows where its config expects that header or field. Never paste the key into a shared or public location.

My client only supports stdio — can I still connect?

Yes. Use a local MCP bridge (mcp-remote) that speaks stdio to your client and forwards to the streamable-HTTP endpoint with your bearer token. The Gemini & custom agents section shows the pattern.

Keep going

Turn your company into one AI-ready data platform on a single hosted MCP endpoint.