Competitor Tracker & Co. Docs
MCP

Connect a client

Connect Competitor Tracker & Co. to your MCP client: copy-paste setup for Claude, Codex, Cursor, Zed, Cline and more, pointing at one Streamable HTTP endpoint.

The endpoint is one URL: https://mcp.competitortracker.io/mcp. Most clients need only that — on first use they run the OAuth handshake, so you sign in and pick an organization once. Clients with nobody at the keyboard (automations, headless agents) skip that and send an API key on the X-API-Key header instead.

Each client below has its own section you can link straight to. If yours isn't here and it speaks remote MCP over Streamable HTTP, hand it the endpoint URL and it should behave like the rest. See also Use an API key instead and Clients without remote MCP.

Claude

In Claude, open Settings → Connectors and choose Add custom connector, then paste the endpoint as the server URL. The first tool call sends you through sign-in and an organization picker. In Claude Code, run:

claude mcp add --transport http competitor-tracker https://mcp.competitortracker.io/mcp

Codex

OpenAI Codex reads ~/.codex/config.toml. Add the server there:

[mcp_servers.competitor-tracker]
url = "https://mcp.competitortracker.io/mcp"

The first tool call opens the browser for sign-in and an organization picker. For a headless run, send a key instead with http_headers = { "X-API-Key" = "ctk_your_key_here" }.

Cursor

Add the server to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "competitor-tracker": {
      "url": "https://mcp.competitortracker.io/mcp"
    }
  }
}

Enable it in Cursor's MCP settings, then sign in when the first tool runs.

VS Code

Add an HTTP server to .vscode/mcp.json (or your user settings):

{
  "servers": {
    "competitor-tracker": {
      "type": "http",
      "url": "https://mcp.competitortracker.io/mcp"
    }
  }
}

Windsurf

Add the server to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "competitor-tracker": {
      "serverUrl": "https://mcp.competitortracker.io/mcp"
    }
  }
}

Cline

Open Cline's MCP Servers panel and add a remote server, or edit cline_mcp_settings.json:

{
  "mcpServers": {
    "competitor-tracker": {
      "type": "streamableHttp",
      "url": "https://mcp.competitortracker.io/mcp"
    }
  }
}

Zed

Zed runs MCP servers as context servers. Bridge to the endpoint from settings.json:

{
  "context_servers": {
    "competitor-tracker": {
      "command": {
        "path": "npx",
        "args": ["-y", "mcp-remote", "https://mcp.competitortracker.io/mcp"]
      }
    }
  }
}

OpenCode

Add the server to opencode.json:

{
  "mcp": {
    "competitor-tracker": {
      "type": "remote",
      "url": "https://mcp.competitortracker.io/mcp",
      "enabled": true
    }
  }
}

ChatGPT

In ChatGPT (paid plans), open Settings → Connectors and add a custom connector at the endpoint URL https://mcp.competitortracker.io/mcp. The OAuth prompt handles sign-in.

Perplexity

In Perplexity, open Settings → Connectors and add a custom MCP connector at the endpoint URL https://mcp.competitortracker.io/mcp. Sign in when prompted.

Gemini

The Gemini CLI reads ~/.gemini/settings.json:

{
  "mcpServers": {
    "competitor-tracker": {
      "httpUrl": "https://mcp.competitortracker.io/mcp"
    }
  }
}

Grok

Grok reaches an MCP server three ways. Which one you want depends on whether somebody is at the keyboard.

In the Grok app, open grok.com/connectors, choose New Connector and then Custom, and paste the endpoint as the server URL. Grok discovers the tools we expose and offers them in conversation. Our endpoint is already on the public internet, so none of the tunnelling that a laptop-hosted server needs applies here. If Grok asks for OAuth client credentials instead of walking you through sign-in, take the key route below.

Grok Build reads the same endpoint from the command line:

grok mcp add --transport http competitor-tracker https://mcp.competitortracker.io/mcp

That opens sign-in on the first tool call. For a headless run, send a key instead. --header is repeatable, and ${VAR} is expanded when the config loads, so the key itself can stay out of the file:

grok mcp add --transport http competitor-tracker https://mcp.competitortracker.io/mcp \
  --header "X-API-Key: ${CT_API_KEY}"

From the xAI API, pass the endpoint as a tool. Put the key in headers. The sibling authorization field sets an Authorization header, which we read as a signed-in session rather than a key, so a key sent that way is refused:

{
  "type": "mcp",
  "server_url": "https://mcp.competitortracker.io/mcp",
  "server_label": "competitor-tracker",
  "headers": { "X-API-Key": "ctk_your_key_here" }
}

allowed_tools narrows the set Grok may call. Per-call approval is not available there, so if you want a hard ceiling rather than a prompt, mint a key with only the scopes you mean to hand over.

Raycast

In Raycast, add a remote MCP server from the AI settings at the endpoint URL https://mcp.competitortracker.io/mcp. Sign in via OAuth, or send an API key.

Zapier

Where Zapier lets you add a remote MCP server, point it at the endpoint URL https://mcp.competitortracker.io/mcp and send the X-API-Key header.

n8n

Add an MCP Client Tool node, set the endpoint URL https://mcp.competitortracker.io/mcp to Streamable HTTP, and give it an X-API-Key header credential.

Make

Add an MCP connection in Make at the endpoint URL https://mcp.competitortracker.io/mcp with the X-API-Key header.

Microsoft Copilot

In Copilot Studio, add the server as an MCP tool at the endpoint URL https://mcp.competitortracker.io/mcp with the X-API-Key header.

Manus

In Manus, add an MCP integration at the endpoint URL https://mcp.competitortracker.io/mcp. Sign in via OAuth, or send the X-API-Key header.

Use an API key instead

To skip the sign-in flow (handy for a script or a headless agent), send an API key on the X-API-Key header. Clients that take custom headers accept it inline:

{
  "mcpServers": {
    "competitor-tracker": {
      "url": "https://mcp.competitortracker.io/mcp",
      "headers": {
        "X-API-Key": "ctk_your_key_here"
      }
    }
  }
}

Mint a key from API keys.

Clients without remote MCP

A client that only speaks the local stdio transport can bridge to the endpoint with mcp-remote:

{
  "mcpServers": {
    "competitor-tracker": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.competitortracker.io/mcp"]
    }
  }
}

To use a key rather than the OAuth flow, append --header "X-API-Key: ctk_your_key_here" to the args.

On this page