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

Request

POST https://{controlplane_path}/api/1/rest/public/platform_mcp/mcp/platform
      

Path parameters

Key Description
controlplane_path Required. The path to the SnapLogic control plane: elastic.snaplogic.com
For the UAT or EMEA control plane, substitute the name for elastic. For example:
  • uat.elastic.snaplogic.com
  • emea.snaplogic.com

Request headers

Key Type Description
Authorization String Required. SLToken or HTTP Basic credentials. Forwarded verbatim to the Platform 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:
  • initialize — Start a new MCP session and negotiate capabilities.
  • notifications/initialized — Confirm the handshake is complete. This is a JSON-RPC notification; omit the id field.
  • tools/list — List available Platform tools.
  • tools/call — Invoke a specific Platform tool.
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.
401 Unauthorized The request is missing a valid Authorization header.
502 Bad Gateway The Platform MCP Server is unreachable.
504 Gateway Timeout The Platform MCP Server did not respond within the timeout period.

Examples

Step 1: Initialize a session

POST https://cdn.elastic.snaplogic.com/api/1/rest/public/platform_mcp/mcp/platform
Authorization: SLToken <your_token>
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://cdn.elastic.snaplogic.com/api/1/rest/public/platform_mcp/mcp/platform
Authorization: SLToken <your_token>
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://cdn.elastic.snaplogic.com/api/1/rest/public/platform_mcp/mcp/platform
Authorization: SLToken <your_token>
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://cdn.elastic.snaplogic.com/api/1/rest/public/platform_mcp/mcp/platform
Authorization: SLToken <your_token>
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://cdn.elastic.snaplogic.com/api/1/rest/public/platform_mcp/mcp/platform
Authorization: SLToken <your_token>
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"
    }
  }
}