MCP client setup

Platica's MCP server speaks Streamable HTTP (spec 2025-11-25). Any client compatible with this transport connects to:

https://api.platica.mx/mcp

The recommended path is OAuth 2.1: paste that URL and the client takes you to sign in to Platica. If your client doesn't speak OAuth, use an API Key . Both methods are covered in Authentication .

  • Method: POST (JSON-RPC 2.0 over Streamable HTTP)
  • Mode: stateless + JSON (no Mcp-Session-Id or SSE required)
  • Spec: Streamable HTTP 2025-11-25

Quick install

The buttons install the server with OAuth (URL only, no API Key). Cursor and VS Code open the client with the config ready; Claude Code, Antigravity, and Codex copy the command or config to your clipboard. When you connect, sign in to Platica and pick the workspaces.

Install in Cursor Install in VS Code

Cursor

Edit ~/.cursor/mcp.json (or .cursor/mcp.json inside your project):

{
  "mcpServers": {
    "platica": {
      "url": "https://api.platica.mx/mcp"
    }
  }
}

Restart Cursor. The first time, Platica sign-in opens. When you're done, the bottom bar shows the platica server with a green dot.


Claude Code

claude mcp add --transport http platica https://api.platica.mx/mcp

Or in .mcp.json:

{
  "mcpServers": {
    "platica": {
      "transport": "http",
      "url": "https://api.platica.mx/mcp"
    }
  }
}

Claude Code registers the client, opens the browser, and stores the tokens. Don't pass --header if you want OAuth: that flag forces an API Key.


Claude Desktop

If you have Claude Pro or higher, go to Settings → Connectors → Custom Connectors, paste https://api.platica.mx/mcp, and authorize. Claude Desktop speaks native OAuth with the remote server; you don't need mcp-remote.

Claude Desktop's local config speaks stdio, so the mcp-remote bridge translates to Streamable HTTP. Without --header, mcp-remote starts OAuth too. Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "platica": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://api.platica.mx/mcp"
      ]
    }
  }
}

VS Code (GitHub Copilot)

In settings.json:

{
  "github.copilot.chat.mcp.servers": {
    "platica": {
      "type": "http",
      "url": "https://api.platica.mx/mcp"
    }
  }
}

Antigravity

Open the agent panel → "..." menu → MCP Servers → Manage MCP Servers → View raw config, and add to ~/.gemini/antigravity/mcp_config.json:

{
  "mcpServers": {
    "platica": {
      "serverUrl": "https://api.platica.mx/mcp"
    }
  }
}

Codex

In ~/.codex/config.toml:

[mcp_servers.platica]
url = "https://api.platica.mx/mcp"

Any other client

If the client supports Streamable HTTP and the MCP authorization spec, the URL is enough. The initial 401 carries the WWW-Authenticate header that starts OAuth.

ParameterValue
URLhttps://api.platica.mx/mcp
HTTP methodPOST
Transport headersAccept: application/json, text/event-stream
Content-Type: application/json
AuthenticationOAuth 2.1 (discovery + PKCE S256). Don't set Authorization by hand.
SessionStateless (no Mcp-Session-Id required)
SSENot used (responses are always application/json)

Resource identifier: https://api.platica.mx/mcp. Discovery documents and scopes are in Authentication .


Alternative: API Key

For scripts, CI, or a client that doesn't speak OAuth, generate a key under Settings → API Keys and put it in the header. Replace the placeholder with your pl_key_....

Cursor

{
  "mcpServers": {
    "platica": {
      "url": "https://api.platica.mx/mcp",
      "headers": {
        "Authorization": "Bearer pl_key_YOUR_KEY_ID_YOUR_SECRET"
      }
    }
  }
}

Claude Code

claude mcp add --transport http platica https://api.platica.mx/mcp \
  --header "Authorization: Bearer pl_key_YOUR_KEY_ID_YOUR_SECRET"

Claude Desktop (mcp-remote)

The key travels in env so it doesn't sit in plain text in args:

{
  "mcpServers": {
    "platica": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://api.platica.mx/mcp",
        "--header",
        "Authorization:${AUTH_HEADER}"
      ],
      "env": {
        "AUTH_HEADER": "Bearer pl_key_YOUR_KEY_ID_YOUR_SECRET"
      }
    }
  }
}

VS Code

{
  "github.copilot.chat.mcp.servers": {
    "platica": {
      "type": "http",
      "url": "https://api.platica.mx/mcp",
      "headers": {
        "Authorization": "Bearer pl_key_YOUR_KEY_ID_YOUR_SECRET"
      }
    }
  }
}

Antigravity

{
  "mcpServers": {
    "platica": {
      "serverUrl": "https://api.platica.mx/mcp",
      "headers": {
        "Authorization": "Bearer pl_key_YOUR_KEY_ID_YOUR_SECRET"
      }
    }
  }
}

Codex

[mcp_servers.platica]
url = "https://api.platica.mx/mcp"
http_headers = { "Authorization" = "Bearer pl_key_YOUR_KEY_ID_YOUR_SECRET" }

Verify the connection

Ask the agent to run list_workspaces or ask "which Platica workspaces do you have access to?". You should see the workspaces you authorized, with their id, role, and modules.

Then "what tools do you have from the Platica MCP?" lists the catalog. If you authorized several workspaces, write tools will ask for workspace — the id comes from list_workspaces.