Skip to main content

Installation & Connection

How to connect an AI client (Claude, Cursor, Gemini CLI, ChatGPT...) to the Koongo MCP server via OAuth or a static token, plus troubleshooting common connection issues.

This page shows how to connect an AI client to the Koongo MCP server. You can sign in two ways - OAuth (a browser login, nothing to copy - recommended) or a static token. Most setup is a small edit to one text (config) file - pick your client below and copy the snippet.

1. Before you start

You need all three of these:

  • A Koongo account with at least one project (your store connected and imported).

  • Closed-beta access. Request it at https://mautic.koongo.com/mcp-closed-beta - enter your email and the public IP address you will connect from. We add that IP to the allow-list.

  • An AI client installed on your computer (Claude Code, Claude Desktop, Cursor, Gemini CLI, ChatGPT, …).

No VPN is needed. You connect over the normal internet once your IP is on the allow-list. If your internet IP changes (new office, home vs. work, dynamic ISP), simply submit the form again with the new IP.

Not sure what your public IP is? Ask the web: search "what is my IP", or open https://ifconfig.me.

2. Two ways to sign in

Method

Best for

How it feels

OAuth (recommended)

Everyday use in any supported client.

You add the server URL, a browser window opens, you log in to Koongo and approve once. Nothing to copy or store, and you can revoke access anytime.

Static token (Bearer)

Headless setups, automation / CI, or a client where the browser login is inconvenient.

You generate a token once and paste it into the client's config. You manage it yourself.

Both methods still need your account on the closed-beta allow-list (step 1) and MCP enabled on your account. OAuth doesn't skip those - it just replaces the copy-paste with a browser login.

Getting a static token (only for the token method)

  1. Sign in to Koongo and open My Account → Security.

  2. In the "MCP API Access" box, click Generate token.

  3. Copy the token immediately - it is shown only once. Store it like a password.

The token acts on your account's projects. Keep it secret. You can Regenerate it (which revokes the previous one) or Revoke it at any time on the same page.

3. Connection details

Server URL

https://mcp.koongo.com/mcp

Transport

Streamable HTTP

What each client supports:

Client

OAuth (browser login)

Static token (Bearer)

Claude Code (CLI)

✅ recommended

Cursor

✅ recommended

Gemini CLI

✅ recommended

Claude Desktop / claude.ai

✅ only option

ChatGPT connectors

✅ only option

Any other MCP client (mcp-remote)

✅ recommended

4. Set up your client

Claude Code (CLI)

OAuth (recommended) - add the server, then log in from the browser:

claude mcp add koongo --transport http https://mcp.koongo.com/mcp

On first use, run /mcp inside Claude Code and choose to authenticate - a browser window opens for the Koongo login and consent. The config is saved to ~/.claude.json (Windows: %USERPROFILE%\.claude.json).

Static token alternative - add an Authorization header instead of logging in (keep the whole value quoted so the space is not split):

claude mcp add koongo --transport http --header "Authorization: Bearer YOUR_TOKEN" https://mcp.koongo.com/mcp

Or edit ~/.claude.json by hand - omit headers for OAuth, include it for the token:

{
  "mcpServers": {
    "koongo": {
      "type": "http",
      "url": "https://mcp.koongo.com/mcp",
      "headers": { "Authorization": "Bearer YOUR_TOKEN" }
    }
  }
}

Cursor

OAuth (recommended) - edit ~/.cursor/mcp.json with just the URL (no headers):

{
  "mcpServers": {
    "koongo": {
      "url": "https://mcp.koongo.com/mcp"
    }
  }
}

Open Settings → MCP; the Koongo server shows a Login / Needs authentication button - click it to log in via the browser.

Static token alternative - add a headers block:

{
  "mcpServers": {
    "koongo": {
      "url": "https://mcp.koongo.com/mcp",
      "headers": { "Authorization": "Bearer YOUR_TOKEN" }
    }
  }
}

Gemini CLI

OAuth (recommended) - edit ~/.gemini/settings.json with just httpUrl:

{
  "mcpServers": {
    "koongo": {
      "httpUrl": "https://mcp.koongo.com/mcp"
    }
  }
}

In Gemini CLI run /mcp auth koongo to open the browser login.

Static token alternative - add a headers block (paste the real token; this file does not expand environment variables):

{
  "mcpServers": {
    "koongo": {
      "httpUrl": "https://mcp.koongo.com/mcp",
      "headers": { "Authorization": "Bearer YOUR_TOKEN" }
    }
  }
}

Claude Desktop / claude.ai

OAuth (the only option here). Open Settings → Connectors → Add custom connector, paste https://mcp.koongo.com/mcp, and complete the browser login. There is no token to paste.

File-editing fallback (Desktop only, if the custom-connector option is not available to you): bridge to the server with mcp-remote. Edit claude_desktop_config.json - with no --header, mcp-remote runs the OAuth browser login itself:

{
  "mcpServers": {
    "koongo": {
      "command": "npx",
      "args": ["-y", "mcp-remote@latest", "https://mcp.koongo.com/mcp"]
    }
  }
}

Where the file lives:

OS

Path

macOS

~/Library/Application Support/Claude/claude_desktop_config.json

Windows

%APPDATA%\Claude\claude_desktop_config.json

Linux

~/.config/Claude/claude_desktop_config.json

Restart Claude Desktop after saving. Using mcp-remote requires Node.js 18+ installed.

ChatGPT

OAuth (the only option). In a workspace that allows connectors, open Settings → Connectors, add the server URL https://mcp.koongo.com/mcp, and complete the browser login. Pasted tokens are not accepted.

Any other MCP client (mcp-remote bridge)

For a client that can only launch a local command (stdio), bridge to our HTTP endpoint with mcp-remote. This is also the route to use if your client struggles with the direct HTTP connection.

OAuth (recommended) - no header; mcp-remote opens the browser login and caches the tokens in ~/.mcp-auth:

{
  "mcpServers": {
    "koongo": {
      "command": "npx",
      "args": ["-y", "mcp-remote@latest", "https://mcp.koongo.com/mcp"]
    }
  }
}

Static token alternative - pass the header:

{
  "mcpServers": {
    "koongo": {
      "command": "npx",
      "args": ["-y", "mcp-remote@latest", "https://mcp.koongo.com/mcp", "--header", "Authorization: Bearer YOUR_TOKEN"]
    }
  }
}

Requires Node.js 18+. Always keep mcp-remote@latest (it includes an important security fix). On Windows, if the token looks split, keep the header exactly as one quoted string.

5. Check it works

Open a chat in your client and type:

List my Koongo projects.

If the assistant returns your project (or a list of projects), you are connected. Now head to Overview & Concepts or jump straight to a task guide.

6. Troubleshooting

A word on "SSE". Koongo uses the modern Streamable HTTP transport at /mcp. The older HTTP+SSE transport is deprecated and is not served. If a client only offers an "SSE" option or a /sse URL, don't point it there - use the mcp-remote bridge (above), which speaks the modern transport for it.

Symptom

Cause & fix

Client wants an "SSE" URL, or /sse fails

The old HTTP+SSE transport is not served. Use https://mcp.koongo.com/mcp (Streamable HTTP). For an SSE-only or stdio-only client, connect through the mcp-remote bridge instead.

OAuth window doesn't open / "authorization required"

Log in to Koongo in your browser first, then trigger the client's login again (e.g. /mcp in Claude Code, /mcp auth in Gemini CLI, the Login button in Cursor).

OAuth "access denied" / consent fails

Your account may not be MCP-enabled yet (closed beta). Make sure you requested access and were approved - contact Koongo support.

Login used to work, now it loops or won't re-authorize (mcp-remote)

mcp-remote caches OAuth tokens in ~/.mcp-auth; a stale cache (after a token change, a re-whitelist, or a server update) causes login loops. Delete the ~/.mcp-auth folder and reconnect.

mcp-remote: "port in use" / login hangs

To finish OAuth, mcp-remote briefly opens a local callback port. If another MCP client (or another mcp-remote) is holding it, the login stalls. Close the other client, or pass a specific port as an extra argument after the URL (e.g. … https://mcp.koongo.com/mcp 8080). Ensure Node.js 18+.

Connects, but tool calls hang / never respond

A corporate proxy, VPN or firewall may be buffering the streaming (SSE) response so nothing reaches the client. Try a different network, or use the mcp-remote bridge, which handles the stream locally.

403 / "forbidden" / "not allowed"

Your IP is not on the allow-list, or it changed - re-submit the beta form with your current public IP. If the IP is correct, MCP may not be enabled on your account yet - contact Koongo support.

401 / "unauthorized"

Your static token is wrong, expired or revoked. Generate a new one (My Account → Security → MCP API Access) and update your config - or switch to OAuth.

Tools missing / nothing happens

Fully restart the client after editing its config, and check the JSON is valid (no trailing commas, matching braces).

Did this answer your question?