Connect an MCP client

How to point any MCP-compatible client at the SnapLogic MCP Server and authenticate using HTTP Basic.

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 add a standard Authorization header. For the full tool catalogue, base URLs, and troubleshooting, see SnapLogic MCP Server tools.

Authentication

All MCP API requests must include an Authorization header. Use HTTP Basic with your SnapLogic login credentials:

Authorization: Basic base64(user:password)

Your SnapLogic credentials work only for the region where your environment is hosted. Use them with the matching base URL: elastic.snaplogic.com for US, emea.snaplogic.com for EU.

An MCP client config is long-lived. HTTP Basic does not expire, which makes it the reliable default for a persistent client configuration.

Important: HTTP Basic requires HTTPS (all SnapLogic hosts use HTTPS) and is unavailable for MFA-enabled accounts or orgs that have disabled Basic auth. Contact your Environment admin if Basic auth is not available for your account.

Client configurations

Note: The Authorization header accepts either format:
  • HTTP Basic: Authorization: Basic base64(user:password)
  • SLToken: Authorization: SLToken <token>
Use HTTP Basic with your SnapLogic email and password. For SSO-only organizations where no password exists, use an SLToken instead.

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)

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

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.

Python MCP SDK

from mcp.client.session import ClientSession
from mcp.client.streamable_http import streamablehttp_client

async def main():
    url = "https://elastic.snaplogic.com/api/1/rest/public/platform_mcp/mcp/platform"
    headers = {"Authorization": "<YOUR_AUTH_TOKEN>"}
    async with streamablehttp_client(url, headers=headers) as (read, write, _):
        async with ClientSession(read, write) as session:
            await session.initialize()
            tools = await session.list_tools()
            print(len(tools.tools), "tools")
Note: Use elastic.snaplogic.com for US tenants and emea.snaplogic.com for EU. Swap /mcp/platform for /mcp/pygen or /mcp as needed.

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.