SnapLogic MCP Server tools

The SnapLogic MCP Server is an AI integration layer that makes SnapLogic Platform operations available as tools for AI agents and LLMs. It implements the Model Context Protocol (MCP) over a Streamable HTTP transport, so any MCP-compatible client (such as Claude Code, SnapGPT, or a custom integration) can discover and invoke SnapLogic capabilities directly from an AI session, without custom scripting or middleware. The SnapLogic MCP Server is the hosted service that provides the tools; an MCP client is the application or AI agent that connects to it to discover and call those tools.

Use the MCP Server to connect AI agents to SnapLogic for account and asset discovery, pipeline operations, project and pipeline export, Snaplex management, SLDB file management, and Python code generation. To set up your client, see Connect an MCP client.

Architecture diagram: an MCP client (Claude Code, SnapGPT, or custom agent) sends POST requests with Authorization and Mcp-Session-Id headers to the SnapLogic MCP Server over Streamable HTTP; the server makes tool calls to the SnapLogic Platform and returns tool responses as SSE or JSON back to the client.
Important: The MCP Server feature must be provisioned for your environment before use. If you see a 503 error or "SnapLogic MCP server is not configured", contact your SnapLogic CSM to subscribe to the MCP Server feature and the MCP Server Snap Pack.

The MCP Server exposes three access paths, each returning a fixed set of tools. Choose the path that matches your use case:

Path Tools Use for
/platform_mcp/mcp 45 (36 platform + 9 PyGen) Full agent: operate pipelines and generate code in one session.
/platform_mcp/mcp/platform 36 platform Control-plane operations: account and asset discovery, pipelines, project/pipeline export, Snaplexes, SLDB files, runtime monitoring, health diagnostics, scheduled tasks, and user and group management.
/platform_mcp/mcp/pygen 9 PyGen Text-to-pipeline generation helpers (Snap knowledge queries).
Note: PyGen tools are available only when PyGen is configured for your environment. If /mcp/pygen returns 404 or /mcp shows only 36 tools, PyGen is not wired for that environment.

Base URLs

Use the SnapLogic API host for your region. Your SnapLogic credentials work only for the region where your environment is hosted and cannot be used for a different region's endpoint.

Region Base URL
Production US https://elastic.snaplogic.com
Production EU https://emea.snaplogic.com

Append any of the paths above to your region's base URL to form the full endpoint, for example:

https://elastic.snaplogic.com/api/1/rest/public/platform_mcp/mcp/platform

Authentication

All requests from an MCP client to the SnapLogic MCP Server must include an Authorization request header.

HTTP Basic authentication

Pass your SnapLogic username (email) and password as a Base64-encoded Basic credential:

Authorization: Basic BASE64(username:password)

For example, to encode [email protected]:mypassword into Base64, use the following commands:

macOS / Linux:

echo -n '[email protected]:mypassword' | base64

Windows (PowerShell):

[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("[email protected]:mypassword"))

Both commands output:

dXNlckBleGFtcGxlLmNvbTpteXBhc3N3b3Jk

Use the Base64-encoded value in the Authorization header:

Authorization: Basic dXNlckBleGFtcGxlLmNvbTpteXBhc3N3b3Jk
SLToken authentication

Pass a SnapLogic session token (required for SSO-only orgs that have no password):

Authorization: SLToken <token>

Session lifecycle

All MCP interactions follow the MCP Streamable HTTP handshake regardless of which toolset you connect to:

  1. Initialize. Send a POST request with "method": "initialize". The server returns 200 OK and sets the Mcp-Session-Id response header. Copy this value; it is required on every subsequent request.
  2. Confirm. Send a second POST with "method": "notifications/initialized" and include the session ID. This is a JSON-RPC notification (no id field). The handshake is complete after this step.
  3. Interact. Call tools/list to see available tools, then tools/call to invoke them. Include the session ID on every request. Optionally open a GET connection to receive server-initiated SSE messages.
  4. Terminate. Send a DELETE request with the session ID to release server-side resources. Session state (preferences and caches) is per-connection and is not persisted after the session ends.

Known issues

  • The Streamable HTTP transport does not support file path parameters (slp_file_path, local_file_path). Pass all pipeline and file content inline using slp_content or file_content.
  • Session state does not persist across sessions. Preferences and caches set by save_user_preferences apply to the current connection only.
  • The MCP Server ignores the X-SL-Host-Url header and pins routing to the calling host. To target a different environment, change the base URL.

Common parameters

Environment (org)
org is schema-required on all org-scoped tools. Omitting it entirely returns a schema validation error. Callers may pass an empty string ("") to use the session default set via save_user_preferences.
Project path (project_path)
The folder path within the org, for example shared or MyTeam/my-project. Do not include the org name as a prefix.
Snaplex / runtime_path_id
The path to the Snaplex for the pipeline validation and execution. Format: <org_id>/rt/<location>/<environment>. Discover available values with list_snaplexes.
SLP content (slp_content)
The JSON definition of a SnapLogic pipeline, passed as an inline string. Supports json (raw) or base64 encoding via the slp_encoding parameter. Local file paths are not supported over the HTTP transport.
SLDB
(SnapLogic DataBase Service) SnapLogic's internal storage implementation. A component of the SnapLogic control plane.

Troubleshooting

Symptom Likely cause Resolution
tools/list returns 0 tools (no error) Missing or invalid Authorization header, or wrong-region credentials. Check that the Authorization: Basic header is present and the Base64-encoded credentials are correct. US credentials must be used against elastic.snaplogic.com; EU credentials against emea.snaplogic.com.
503 / "SnapLogic MCP server is not configured" The MCP Server feature is not provisioned for this environment. Contact your SnapLogic CSM to subscribe to the MCP Server feature.
400 / "no session" on tools/list Missing Mcp-Session-Id, or notifications/initialized was skipped. Re-run the full handshake: initialize → capture session ID → send notifications/initialized → then call tools.
Tool returns "Organization is required" Platform tool needs an environment to operate against and no default is set. Pass org in the tool arguments, or call save_user_preferences once at the start of the session.
400 / 404 on a sub-path Path is not a valid MCP endpoint. Use exactly /mcp, /mcp/platform, or /mcp/pygen. All other sub-paths are blocked.
/mcp/pygen returns 404, or /mcp shows only 20 tools PyGen is not configured for the environment. The PyGen toolset is not available in all environments. Contact your administrator.
Response body contains data: {...} lines SSE framing: this is expected behavior, not an error. Parse the JSON object after each data: prefix. Each tool response is a JSON object with fields success (boolean), response (result payload), and optionally metadata.