Send a Platform MCP request
POST https://{controlplane_path}/api/1/rest/public/platform_mcp/mcp/platform
Overview
This API sends a JSON-RPC 2.0 request to the Platform MCP Server using the Platform toolset and returns the response as a Server-Sent Events (SSE) stream.
Use this endpoint to initialize a Platform toolset session, list available platform tools, and invoke tools to perform operations on the SnapLogic platform such as executing pipelines, managing SLDB files, and querying Snaplexes. All requests and responses follow the JSON-RPC 2.0 specification.
Prerequisites
- Read access to the requested assets
- Write access to the target resources when invoking write operations such as
execute_pipeline,import_pipeline, or SLDB file management tools.
Request
POST https://{controlplane_path}/api/1/rest/public/platform_mcp/mcp/platform
Path parameters
| Key | Description |
|---|---|
controlplane_path |
Required. The SnapLogic control plane host:
elastic.snaplogic.com (US) or
emea.snaplogic.com (EU). |
Request headers
| Key | Type | Description |
|---|---|---|
Authorization |
String | Required. HTTP Basic credentials. Refer to MCP APIs — Authentication for format details. Forwarded verbatim to the SnapLogic MCP Server for per-request authentication. |
Content-Type |
String | Required. Must be
application/json. |
Mcp-Session-Id |
String | Optional. Session identifier returned by the
initialize response. Required for all requests after
the initial initialize call. Omit on the first
request. |
Request body
A JSON-RPC 2.0 request object:
| Key | Type | Description |
|---|---|---|
jsonrpc |
String | Required. Must be
"2.0". |
id |
Integer or String | Required. for requests; omit for
notifications. A unique identifier used to correlate the response.
Must be omitted when method is
notifications/initialized. |
method |
String | Required. The MCP method to invoke.
Supported values:
|
params |
Object | Optional. Parameters for the method. For
tools/call, provide name (the tool
name from Available
tools) and arguments (tool-specific inputs).
See Examples. |
Response headers
| Key | Type | Description |
|---|---|---|
Mcp-Session-Id |
String | Returned on a successful initialize response.
Include this value in the Mcp-Session-Id request
header for all subsequent requests in the session. |
Response body
Responses are delivered as Server-Sent Events (SSE). Each event carries a
JSON-RPC 2.0 response object in the data field:
event: message
data: {"jsonrpc": "2.0", "id": 1, "result": { ... }}
HTTP status codes:
| Key | Description |
|---|---|
200 OK |
The request was forwarded and the SSE stream contains the response. |
400 Bad Request |
The request body is malformed or a required field is missing. |
401 Unauthorized |
The request is missing a valid Authorization
header. |
403 Forbidden |
The authenticated user doesn't have permission to access the requested organization or resource. |
502 Bad Gateway |
The SnapLogic MCP Server is unreachable. |
504 Gateway Timeout |
The SnapLogic MCP Server did not respond within the timeout period. |
Examples
Step 1: Initialize a session
POST https://elastic.snaplogic.com/api/1/rest/public/platform_mcp/mcp/platform
Authorization: Basic <base64_credentials>
Content-Type: application/json
{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2025-03-26",
"capabilities": {},
"clientInfo": { "name": "my-client", "version": "1.0" }
}
}
The server responds with its capabilities and returns the
Mcp-Session-Id in the response header. Use this session ID in
all subsequent requests.
Step 2: Confirm the handshake
POST https://elastic.snaplogic.com/api/1/rest/public/platform_mcp/mcp/platform
Authorization: Basic <base64_credentials>
Content-Type: application/json
Mcp-Session-Id: <session_id>
{
"jsonrpc": "2.0",
"method": "notifications/initialized"
}
This is a JSON-RPC notification — omit the id field. The server
does not send a response. The session is now fully initialized.
Step 3: List available tools
POST https://elastic.snaplogic.com/api/1/rest/public/platform_mcp/mcp/platform
Authorization: Basic <base64_credentials>
Content-Type: application/json
Mcp-Session-Id: <session_id>
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/list",
"params": {}
}
Step 4: Execute a pipeline
POST https://elastic.snaplogic.com/api/1/rest/public/platform_mcp/mcp/platform
Authorization: Basic <base64_credentials>
Content-Type: application/json
Mcp-Session-Id: <session_id>
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "execute_pipeline",
"arguments": {
"pipeline_path": "/myOrg/myProject/myPipeline"
}
}
}
List SLDB files
POST https://elastic.snaplogic.com/api/1/rest/public/platform_mcp/mcp/platform
Authorization: Basic <base64_credentials>
Content-Type: application/json
Mcp-Session-Id: <session_id>
{
"jsonrpc": "2.0",
"id": 4,
"method": "tools/call",
"params": {
"name": "list_sldb_files",
"arguments": {
"org": "myOrg"
}
}
}