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.
Client configurations
Authorization header accepts either format:
- HTTP Basic:
Authorization: Basic base64(user:password) - SLToken:
Authorization: SLToken <token>
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")
elastic.snaplogic.com for US tenants and
emea.snaplogic.com for EU. Swap /mcp/platform
for /mcp/pygen or /mcp as needed.Typical workflow
get_snaplogic_knowledge_base prompt is available
on /mcp and /mcp/platform only. It is NOT available
on /mcp/pygen.- Call the
get_snaplogic_knowledge_baseprompt to list your available environments. - Call
list_snaplexesto discover available Snaplex runtimes and note theruntime_path_idof the one you want to use. - Call
save_user_preferenceswith your desireddefault_org,default_path, andsnaplex_pathto avoid supplying them on every subsequent tool call. - Validate, execute, or import pipelines as needed.
- Manage data files in SLDB: upload, list, download, move, or delete.