MCP

The proxy can call remote MCP servers over HTTPS. It lists tools, runs the tool loop, and returns the final answer in one chat turn. It does not run npx or stdio. Local-only servers stay in Cursor, Claude Desktop, or your own client.

Limits: up to 8 servers per account. HTTPS only; localhost HTTP is allowed for development.

In Chat

Chat MCP is saved on your account. It does not need Settings → MCP tools. That toggle is only for the API.

  1. Open Chat
  2. Click MCP in the composer
  3. Paste Cursor / Claude JSON, or fill in a name, https:// URL, and optional bearer token
  4. Leave the server On and send a normal message

Cursor / Claude Desktop JSON works. If the entry is npx mcp-remote, the proxy reads the HTTPS URL and Authorization header from args. A hosted url field is simpler.

{
  "mcpServers": {
    "wiki": {
      "url": "https://mcp.example.com/mcp",
      "headers": { "Authorization": "Bearer your-mcp-token" }
    }
  }
}
{
  "mcpServers": {
    "wiki": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote@latest",
        "https://mcp.example.com/mcp",
        "--header",
        "Authorization:Bearer your-mcp-token"
      ]
    }
  }
}

With the API

Turn on MCP tools in Settings. Until that is on, /v1/chat/completions does not inspect MCP.

Then either pass servers on the request, or reuse servers saved in Chat.

curl https://api.proxy.gonka.gg/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-your-api-key-here" \
  -d '{
    "model": "MiniMaxAI/MiniMax-M2.7",
    "messages": [{"role": "user", "content": "Search our wiki for escrow rotation"}],
    "tools": [{
      "type": "mcp",
      "server_label": "wiki",
      "server_url": "https://mcp.example.com/mcp",
      "authorization": "your-mcp-token",
      "allowed_tools": ["search"]
    }]
  }'

Saved servers — send "mcp": true:

curl https://api.proxy.gonka.gg/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-your-api-key-here" \
  -d '{
    "model": "MiniMaxAI/MiniMax-M2.7",
    "mcp": true,
    "messages": [{"role": "user", "content": "What is open on the wiki?"}]
  }'

Python: put unknown tool types in extra_body.

response = client.chat.completions.create(
    model="MiniMaxAI/MiniMax-M2.7",
    messages=[{"role": "user", "content": "Search our wiki for escrow rotation"}],
    extra_body={
        "tools": [{
            "type": "mcp",
            "server_label": "wiki",
            "server_url": "https://mcp.example.com/mcp",
            "authorization": "your-mcp-token",
        }]
    },
)

Manage servers from the API

These routes work even when Settings → MCP tools is off. The setting only gates execution on /v1/chat/completions.

MethodPathPurpose
GET/v1/mcp/serversList saved servers (token is never returned)
POST/v1/mcp/serversAdd name, url, optional auth_token
PATCH/v1/mcp/servers/{id}Update name, URL, token, or enabled
DELETE/v1/mcp/servers/{id}Remove a server
GET/v1/mcp/toolsDiscover tools from enabled servers
POST/v1/mcp/callCall one tool by qualified name, e.g. mcp_wiki_search
POST/v1/mcp/resolveParse pasted Cursor / Claude JSON
curl https://api.proxy.gonka.gg/v1/mcp/servers \
  -H "Authorization: Bearer sk-your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "wiki",
    "url": "https://mcp.example.com/mcp",
    "auth_token": "your-mcp-token"
  }'