Connect an MCP client

How to point any MCP-compatible client at the SnapLogic MCP Server and authenticate using HTTP Basic or OAuth 2.0 browser login.

The SnapLogic MCP Server uses the MCP Streamable HTTP transport. Point your client at your region's SnapLogic API host and the path that matches your use case (/mcp, /mcp/platform, or /mcp/pygen), then authenticate using HTTP Basic or OAuth 2.0 browser login. For the full tool catalogue, base URLs, and troubleshooting, refer to SnapLogic MCP Server tools.

Authentication

The SnapLogic MCP Server supports two authentication methods:

HTTP Basic

Pass your SnapLogic email and password as a Base64-encoded credential:

Authorization: Basic base64(user:password)

HTTP Basic doesn't expire, which makes it the reliable default for a persistent client configuration. Your credentials work only for the region where your environment is hosted.

Important: HTTP Basic requires HTTPS (all SnapLogic hosts use HTTPS) and isn't available for organizations that have disabled Basic auth. Contact your Environment admin if Basic auth isn't available for your account.
OAuth 2.0 browser login

Authenticate through a browser window using your SnapLogic credentials: A capable MCP client, such as Claude Code or Claude Desktop, auto-discovers the SnapLogic authorization server, opens a browser window, and handles the OAuth flow for you. You sign in with your usual SnapLogic login (password or SSO), approve the consent screen, and the client receives a Bearer access token.

Use OAuth 2.0 browser login when:

  • You're adding SnapLogic as a custom connector in Claude.
  • You prefer not to embed credentials in a client config file.

When OAuth is configured, the authorization server issues an access token and a refresh token. When the access token expires, the MCP client silently exchanges the refresh token for a new access token and refresh token. No new browser login is required. Long-running agent sessions (up to 24 hours) continue uninterrupted.

Important: You must be aware of the following limitations before enabling OAuth for production:
  • Refresh tokens aren't revoked when a user logs out or resets their password. They remain valid until natural expiry.
  • A refresh token can be replayed to re-establish a session after the original session expires, without user interaction.

Client configurations

Note: The Authorization header accepts HTTP Basic: Authorization: Basic base64(user:password). For OAuth 2.0, omit the header entirely — the client manages the token automatically.

Claude Code (CLI)

claude mcp add --transport http platform-mcp \
  https://elastic.snaplogic.com/api/1/rest/public/platform_mcp/mcp/platform \
  --header "Authorization: <YOUR_AUTH_TOKEN>" \
  --scope project

Claude Code (.mcp.json, project-scoped) — HTTP Basic

{
  "mcpServers": {
    "platform-mcp": {
      "type": "http",
      "url": "https://elastic.snaplogic.com/api/1/rest/public/platform_mcp/mcp",
      "headers": { "Authorization": "<YOUR_AUTH_TOKEN>" }
    }
  }
}
Note: For OAuth 2.0, omit the headers object entirely. Refer to the OAuth 2.0 examples.

Claude Desktop

Use the same JSON entry as above in claude_desktop_config.json (type: http with a headers object). No mcp-remote shim is needed for a header-authenticated HTTP server.

Note: Use elastic.snaplogic.com for US tenants and emea.snaplogic.com for EU. Swap /mcp/platform for /mcp/pygen or /mcp as needed.

OAuth 2.0 (Claude Code CLI)

Omit the Authorization header. Claude Code detects the missing header and triggers the browser login flow automatically.

claude mcp add --transport http platform-mcp \
  https://elastic.snaplogic.com/api/1/rest/public/platform_mcp/mcp/platform \
  --scope project

OAuth 2.0 (Claude Code .mcp.json, project-scoped)

{
  "mcpServers": {
    "platform-mcp": {
      "type": "http",
      "url": "https://elastic.snaplogic.com/api/1/rest/public/platform_mcp/mcp"
    }
  }
}

Typical workflow

Note: The get_snaplogic_knowledge_base prompt is available on /mcp and /mcp/platform only. It is NOT available on /mcp/pygen.
  1. Call the get_snaplogic_knowledge_base prompt to list your available environments.
  2. Call list_snaplexes to discover available Snaplex runtimes and note the runtime_path_id of the one you want to use.
  3. Call save_user_preferences with your desired default_org, default_path, and snaplex_path to avoid supplying them on every subsequent tool call.
  4. Validate, execute, or import pipelines as needed.
  5. Manage data files in SLDB: upload, list, download, move, or delete.