Platform toolset

The Platform toolset exposes core SnapLogic platform operations to MCP-compatible clients. Use these APIs to run and validate pipelines, discover accounts and assets, create projects and project spaces, manage SLDB files, query Snaplex infrastructure, export projects and pipelines, and save user preferences, all through a standard MCP session.

All Platform toolset endpoints share the base path /api/1/rest/public/platform_mcp/mcp/platform.

Platform toolset APIs
POST /platform_mcp/mcp/platform 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.
GET /platform_mcp/mcp/platform opens a persistent Server-Sent Events (SSE) stream for receiving server-initiated messages from the SnapLogic MCP Server on the Platform toolset.
DELETE /platform_mcp/mcp/platform terminates an active Platform toolset MCP session and releases any associated server-side resources.

Available tools

After initializing a session, call tools/list to retrieve the live set of tools. The following 37 tools are available in the Platform toolset, grouped by function:

Session and organization

Tool name Description Inputs
save_user_preferences Save default environment/org, project path, and Snaplex for the session so that subsequent tool calls do not require them explicitly.
  • default_org: Required. environment/org name.
  • default_path: Optional. Project path within the environment/org.
  • snaplex_path: Optional. Default Snaplex runtime path.
refresh_organizations_and_assets_cache Force a refresh of the server-side cache of organizations, projects, and assets. Useful after creating or moving assets in SnapLogic Manager.
  • include_assets: Optional. Include assets in cache refresh. Default: false.
  • org: Optional. Specific org to refresh.
  • project_path: Optional. Specific project path to refresh.
list_organizations List all SnapLogic organizations the authenticated user belongs to. Returns [{name, id, is_admin}]. Call this first when the environment/org name is unknown. The name values are what other tools expect as their org argument. None.
list_groups List all groups in an environment/org. Returns the group names available. Use get_group_details to see a group's members.
  • org: Required. environment/org name.
get_group_details Get details of a specific group in an environment/org, including its members. Use list_groups to find available group names.
  • org: Required. environment/org name.
  • group_name: Required. Name of the group.
get_user_info Look up a SnapLogic user by email address. Returns the user's display name, first and last name, and org memberships. Use this to look up another user; use list_organizations for the current authenticated caller's own orgs.
  • email: Required. Email address of the user.

Account and asset discovery

Tool name Description Inputs
list_accounts List accounts under an org or project path. Returns metadata only (label, path, snode_id, class_id, class_label); never credential values. Filter by class_id to find accounts compatible with a given Snap type.
  • org: Required.
  • project_path: Optional.
list_assets List the assets directly under one directory path. Use asset_type to narrow results (for example, Pipeline) or pass comma-separated values (for example, Dir,PSpace,Project) to list project containers only. Omit asset_type to return everything under the path. To search the whole org for one type use find_assets_by_type.
  • org: Required.
  • path: Optional.
  • asset_type: Optional.
  • search: Optional.
  • limit: Optional.
  • offset: Optional.
find_assets_by_type Find assets of one type across a project path. Pass project_path for complete results; omitting it searches from the org root but coverage depends on the backend search index and is not guaranteed to be exhaustive. To find Tasks, use asset_type='Job'.
  • org: Required.
  • asset_type: Required.
  • project_path: Optional.
get_asset_details Look up an asset by path. Returns its snode_id and type. Set detail='full' to also retrieve owner, timestamps, and the full raw asset record. For the reverse lookup (snode_id → path) use get_asset_path.
  • org: Required.
  • asset_path: Required.
  • detail: Optional.
  • asset_type: Optional.
get_asset_path Reverse lookup: resolve a snode_id back to its readable asset path. The inverse of get_asset_details (path → snode_id).
  • org: Required.
  • snode_id: Required.

Project management

Tool name Description Inputs
create_project_space Create a project space, the top-level container that holds projects. The platform also creates the space's shared folder. The new space is owned by the calling user. If a project space with this name already exists, the tool returns an error. To create a project inside an existing space, use create_project.
  • org: Required. Org/environment name.
  • project_space: Required. Name of the project space to create. A single name (for example, Demos), not a path. Case-sensitive. May not contain # ? \ /.
create_project Create a project inside an existing project space. The new project is owned by the calling user. If the specified project space doesn't exist, the tool returns an error. Use create_project_space first.
  • org: Required. Org/environment name.
  • project_space: Required. Name of the existing project space (for example, projects). Not a path.
  • project: Required. Name of the project to create. For example, CustomerDemo. A single name, not a path. Case-sensitive. May not contain # ? \ /.

Snaplex management

Tool name Description Inputs
list_snaplexes List all Snaplexes available in the specified org. Use the returned runtime_path_id with pipeline execution tools (snaplex_path parameter). To look up a Snaplex by name or get its node status, use get_snaplex_details.
  • org: Required. Org name.
get_snaplex_details Retrieve Snaplex status, including the nodes running at the time of the call. jcc_count and fm_count are the running JCC and FeedMaster nodes, and nodes[], nodes_down[], and node_status list them. Call with only org to return every Snaplex in the organization in one response; supply snaplex_snode_id or snaplex_name for a single Snaplex and its configuration.
  • org: Required. Org name.
  • snaplex_snode_id: Optional. Snaplex snode_id.
  • snaplex_name: Optional. Snaplex name.
list_platform_versions List current and latest Snaplex platform versions across the SnapLogic fleet. None.
Tip: To retrieve all Snaplexes in an organization, call get_snaplex_details with only org — one call returns every Snaplex. Avoid calling it once per Snaplex in a loop; the single-org call is significantly faster on organizations with many Snaplexes.
Note: The single-Snaplex response (with snaplex_snode_id or snaplex_name) includes the full Snaplex configuration (full_details). The all-Snaplexes response omits it to keep the payload small. On organizations with many Snaplexes the call can take several seconds.
Note: A Snaplex with zero running nodes is a valid result: jcc_count and fm_count return 0. Only a non-existent snaplex_name or snaplex_snode_id returns an error.

Pipeline operations

Tool name Description Inputs
execute_pipeline Execute a pipeline and return the run result. Provide one of pipeline_name or slp_content.
  • org: Required. environment/org name.
  • pipeline_name: Optional. Name of an existing pipeline to execute (one-of-two with slp_content).
  • slp_content: Optional. Inline SLP definition (one-of-two).
  • slp_encoding: Optional. json (default) or base64.
  • project_path: Optional.
  • snaplex_path: Optional. Snaplex to run on.
  • pipeline_params: Optional. Pipeline input parameters as {"name": "value"} key-value pairs. Values must be strings; nested objects and arrays are not supported.
  • timeout: Optional. Maximum seconds to wait for pipeline completion before stopping polling. Default: 60, max: 900. The pipeline continues running on the server if the wait elapses.
import_pipeline Import a pipeline definition into a SnapLogic project without executing it.
  • org: Required. Org/environment name.
  • slp_content: Optional. Inline SLP definition. Schema-optional but errors if empty.
  • slp_encoding: Optional. json (default) or base64.
  • project_path: Optional.
  • duplicate_check: Optional. Default: true.
validate_pipeline Validate a pipeline against a Snaplex without executing it. Returns validation errors and warnings.
  • org: Required. Org/environment name.
  • pipeline_name: Optional. Name of an existing pipeline to validate (one-of-two with slp_content).
  • slp_content: Optional. Inline SLP definition (one-of-two).
  • slp_encoding: Optional. json (default) or base64.
  • project_path: Optional.
  • snaplex_path: Optional. Snaplex to validate against.
  • pipeline_params: Optional. Pipeline input parameters as {"name": "value"} key-value pairs, used to configure the pipeline environment during validation. Values must be strings; nested objects and arrays are not supported.
  • timeout: Optional. Maximum seconds to wait for validation to complete before stopping polling. Default: 60, max: 900. Validation continues on the server if the wait elapses.
delete_pipeline Delete a pipeline from a SnapLogic project. Only pipelines are supported. If a scheduled task references the pipeline, the task stays enabled after deletion.
  • org: Required. Org/environment name.
  • pipeline_name: Required. Name of the pipeline to delete.
  • project_path: Optional.
export_pipeline Export a pipeline definition (SLP JSON) by name. Returns the complete pipeline definition including metadata, which can be passed directly to import_pipeline. Uses the Export individual assets API.
  • org: Required.
  • project_path: Optional.
  • pipeline_name: Optional. Name of the pipeline to export. Schema-optional but errors if empty.
  • return_encoding: Optional. json (default) or base64.
export_project Export a SnapLogic project as a ZIP archive. The ZIP is written to the project (timestamped) and the response returns a short-lived presigned download URL; the archive content does not pass through the model context. Account assets are opt-in only; when included, the response note warns that the presigned link carries an encrypted credential envelope and must be treated as a secret. Uses the Export a project API.
  • org: Required.
  • project_path: Optional.
  • asset_types: Optional. Asset types to include, as a JSON array. Allowed values: Pipeline, Job, Account, Policy, Flows, PolicyGroup, McpServer. For example: ["Pipeline", "Job"]. Add Account only when exporting credential material is intended.
  • include_file_asset_metadata: Optional. When true (default), the response includes the project's SLDB file list. Fetch individual files via download_sldb_file.

SLDB file operations

Tool name Description Inputs
list_sldb_files List files and folders in SLDB cloud storage.
  • org: Required. Org/environment name.
  • project_path: Optional.
  • file_pattern: Optional. Glob pattern. Default: *.
upload_sldb Upload a file to SLDB cloud storage inline. For large files, use lease_sldb_upload instead to upload directly to storage without routing file content through the server.
  • org: Required. Org/environment name.
  • project_path: Optional.
  • sldb_file_name: Optional. Target file name in SLDB. Schema-optional but errors if empty.
  • file_content: Optional. File content to upload inline. For small files and clients without HTTP PUT support. For large files, prefer lease_sldb_upload.
  • encoding: Optional. utf-8 (default) or base64.
lease_sldb_upload Get a presigned S3 upload URL for a file in SLDB cloud storage. Use the returned URL and headers to PUT the file content directly to storage, without routing file bytes through the server. Preferred over upload_sldb for large files.
  • org: Required. Org/environment name.
  • project_path: Optional.
  • sldb_file_name: Optional. Target file name in SLDB. Schema-optional but errors if empty.
  • content_length: Optional. Size of the file in bytes. Improves platform-side metadata.
  • mimetype: Optional. MIME type of the file (for example, text/csv). Guessed from the filename if omitted.
  • duplicate_check: Optional. Default: true. When true, fails with a conflict if a file of that name already exists. The platform reserves the name at lease time, so leasing over an existing name replaces its contents before new bytes arrive. Pass false only when overwriting is intended.

Returns: upload_url, required_headers, expires_in.

download_sldb_file Download a file from SLDB cloud storage. Returns a presigned URL by default; set delivery="content" to return inline content.
  • org: Required. Org/environment name.
  • project_path: Optional.
  • sldb_file_name: Optional. File name to download. Schema-optional but errors if empty.
  • delivery: Optional. url (default) or content.
  • return_encoding: Optional. base64 (default) or text. Applies when delivery="content".
move_sldb_file Move or rename a file within SLDB cloud storage.
  • org: Required. Org/environment name.
  • source_project_path: Optional. Source project path. Schema-optional but errors if empty.
  • dest_project_path: Optional. Destination project path. Schema-optional but errors if empty.
  • sldb_file_name: Optional. File name to move. Schema-optional but errors if empty.
delete_sldb_file Delete a file from SLDB cloud storage.
  • org: Required. Org/environment name.
  • project_path: Optional.
  • sldb_file_name: Optional. File name to delete. Schema-optional but errors if empty.

Runtime monitoring

Tool name Description Inputs
get_execution_status Inspect one pipeline run by runtime ID. Returns run state, duration, documents processed, and error summary (detail="status"); raw server passthrough (detail="raw"); or full snap-level I/O dump (detail="dump").
  • org: Required. Org/environment name.
  • runtime_id: Required. Runtime/execution ID.
  • detail: Optional. status (default), raw, or dump.
get_execution_logs Get execution log entries for a pipeline run.
  • org: Required. Org/environment name.
  • runtime_id: Required. Runtime/execution ID.
get_execution_snap_stats Get per-snap throughput statistics (documents and bytes per snap) for a pipeline run.
  • org: Required. Org/environment name.
  • runtime_id: Required. Runtime/execution ID.
list_executions List pipeline executions in an org. Use phase="running" for active runs or phase="past" (default) for historical runs with filtering by pipeline name, project, user, state, or time range.
  • org: Required. Org/environment name.
  • phase: Optional. past (default) or running.
  • limit: Optional. Maximum results.
  • pipe_name: Optional. Filter by pipeline name (past only).
  • project_path: Optional. Filter by project path (past only).
  • user_id: Optional. Filter by user (past only).
  • state: Optional. Completed, Failed, Stopped, or Suspended (past only).
  • last_hours: Optional. Runs from last N hours, max 2160 (past only).
  • start: Optional. Start time in ISO 8601 format (past only).
  • end: Optional. End time in ISO 8601 format (past only).
  • offset: Optional. Pagination offset (past only).
list_executions_for_pipeline Get execution history for one pipeline. Covers the last 7 days by default.
  • org: Required. Org/environment name.
  • pipeline_path: Required. Pipeline path (for example, projects/MyProject/MyPipeline).
  • last_hours: Optional. How far back in hours. Default: 168 (7 days).
  • limit: Optional. Maximum runs to return, 1–1000. Default: 20.

Health and diagnostics

Tool name Description Inputs
get_runtime_health Get org runtime health over a time window. Returns historical pipeline success/failure rates, current execution slot usage, or both.
  • org: Required. Org/environment name.
  • view: Optional. all (default), pipelines, or counts.
  • start_ts: Optional. Window start in epoch milliseconds. Default: 24 hours ago.
  • end_ts: Optional. Window end in epoch milliseconds. Default: now.
diagnose_pipeline_failure Diagnose recent failures for a pipeline in one call. Fetches the last N failed runs and returns status, snap statistics, and logs for each. Replaces the manual chain of list_executions_for_pipeline → get_execution_status → get_execution_logs.
  • org: Required. Org/environment name.
  • pipeline_path: Required. Pipeline path (for example, projects/MyProject/MyPipeline).
  • last_n: Optional. Most recent failed runs to diagnose, 1–10. Default: 3.
  • last_hours: Optional. How far back in hours. Default: 168 (7 days).
get_org_health_report Get an org-wide health snapshot in one call: runtime health, Snaplex inventory, outdated Snaplexes, and API usage limits.
  • org: Required. Org/environment name.

Scheduled tasks

Tool name Description Inputs
get_task_details Get details of a scheduled task by snode_id, including its configuration, schedule, and target pipeline. Optionally include execution history and upcoming run times.
  • org: Required. Org/environment name.
  • task_snode_id: Required. The snode_id of the scheduled task.
  • include: Optional. List of additional sections to include: history, next_runtimes, or both.
Note: Tool calls are logged to the Activity logs (operation metadata only). Audit log entries include the calling user, tool name, environment, and timestamp.