The Convertmax MCP server is hosted at a URL. Point a client at it, approve access in the browser, and Max can read revenue, attribution, and commerce data for the workspace you pick.

https://mcp.convertmax.ai/mcp

Connecting opens a browser on auth.convertmax.io so you can sign in. That is the same login host Slack and Make use. You pick the workspace (or an agency account), choose what this AI is allowed to see, and click Allow.

Each approval creates a connection for that one client (Cursor, Claude, ChatGPT, …) to that one workspace. It is not your workspace API key. Manage connections in Convertmax:

https://app.convertmax.io/mcp/grants

There you can see which AI is connected, which workspace it uses, what it can access, and disconnect it. Disconnecting Cursor does not break Slack, Make, or the Convertmax API. The next tool call from a disconnected or tightened client is refused.

Connecting a client

Use Streamable HTTP. The client discovers OAuth from the server; you should not need to paste client IDs or redirect URLs.

Cursor

Add this to .cursor/mcp.json (project) or ~/.cursor/mcp.json (user):

{
  "mcpServers": {
    "convertmax": {
      "type": "http",
      "url": "https://mcp.convertmax.ai/mcp"
    }
  }
}

Reload MCP servers in Cursor. A browser window opens for Convertmax consent.

Claude Code

claude mcp add --transport http convertmax https://mcp.convertmax.ai/mcp

Claude Desktop

In Settings → Connectors, add a custom connector with URL https://mcp.convertmax.ai/mcp. Claude Desktop will open the same Convertmax consent page.

ChatGPT

In ChatGPT, add a custom MCP connector and paste https://mcp.convertmax.ai/mcp. ChatGPT runs off your machine, so a remote URL with OAuth is required; a local stdio server will not work.

VS Code (Copilot)

{
  "servers": {
    "convertmax": {
      "type": "http",
      "url": "https://mcp.convertmax.ai/mcp"
    }
  }
}

Codex

codex mcp add convertmax --url https://mcp.convertmax.ai/mcp

Any other MCP client that supports remote HTTP and OAuth takes the same URL.

No browser? Use an API key

OAuth assumes a browser and someone to press Allow. A CI job has neither, so the server also accepts a workspace API key as a header:

claude mcp add --scope user --transport http convertmax https://mcp.convertmax.ai/mcp \
  --header "Authorization: Bearer private-<your_key>"

Use a key from Account → API. The key is bound to one workspace; there is no account picker in this path. Prefer a restricted key, and do not commit it to a repository. OAuth is the right path for Cursor, Claude, and ChatGPT on a laptop.

You can use the same header with x-api-key: private-<your_key> if the client cannot send Authorization.

What the server can do

The catalog is tools-only. After you connect, ask in natural language; the client calls tools. You do not pass a tenant ID.

Typical questions:

  • Which campaigns generated the most revenue this month?
  • How did revenue compare with last week?
  • Break down acquisition by source.
  • Summarize conversions and revenue by event type.
  • Show profit, acquisition, retention, or product LTV for a date range.
  • What were the top search queries last week?

Tools cover health, reporting overview, search, acquisition and PPC, conversions, commerce profit and LTV, and tenant insights. Write actions (mcp.actions.write) are off unless you enable them when you click Allow.

Those checkboxes decide which tools the client sees:

Scope Access
mcp.workspace.read Workspace identity for the selected account
mcp.metrics.read Reporting, search, traffic, and conversion summaries
mcp.attribution.read Attribution breakdowns
mcp.revenue_graph.read Revenue graph reads
mcp.sales.read Sales intelligence reads
mcp.commerce.read Profit, LTV, acquisition, retention, and spend analysis
mcp.crm.read CRM reads
mcp.actions.write Tools that change data (off by default)

Default Allow is workspace, metrics, and commerce read. Uncheck anything you do not want that client to have. You can change this later at MCP connections without touching Slack or other integrations.

Why remote

Agents that run in a browser or a datacenter (ChatGPT, Claude on the web, hosted coding agents) cannot spawn a local process or read a key from your laptop. An HTTP endpoint with OAuth behaves the same way whether the agent is in your terminal or not.

A public plugin or shared mcp.json also cannot carry a real API key. OAuth keeps the secret out of the package: the URL is public, you approve in the browser, and each AI gets its own connection in Convertmax.

Test the connection

After the client shows Convertmax as connected, ask:

Summarize revenue performance for the last 7 days

If Max responds with data from the workspace you approved, the connection is working.

You can also try:

  • Run a health check on the Convertmax MCP server.
  • What were the top search queries last week?
  • Compare paid search revenue this month with last month.

For asking Max inside Slack instead of an MCP client, see Slack.

Troubleshooting

The browser never opens

Confirm the client is using HTTP (or Streamable HTTP), not stdio/npx. The URL must be exactly https://mcp.convertmax.ai/mcp.

The access token expired or the connection was disconnected in Convertmax. Disconnect and reconnect the server in the client, or open MCP connections and confirm it is still active.

Max does not have the data I expect

Check that you picked the correct workspace on the consent screen, especially on an agency account with more than one client. Confirm the data sources for that workspace are connected in Convertmax.

I want this client to see less

Open MCP connections and reduce what that client can see, or disconnect it. The next tool call uses the new permissions. Connect again only if you want a second client on a different workspace.

You’re ready

Your coding agent can now ask Convertmax the same questions you would ask a revenue analyst:

Ask → Understand → Act