mcp-server.ts
.
Workflow Discovery & Management
superglue_list_available_workflows
Lists all available superglue workflows for the current organization. Input Schema:limit
: (Optional) Number of workflows to return (default: 100)offset
: (Optional) Offset for pagination (default: 0)
- List of workflows with their IDs, instructions, timestamps, and saved credentials
- Use the workflow IDs with
superglue_execute_workflow
to run specific workflows
superglue_find_relevant_integrations
Finds integrations relevant to a given natural language instruction. Used as a first step before building a new workflow. Input Schema:instruction
: (Optional) Natural language description of what you want to do. If not provided, returns all available integrations.
- List of suggested integration IDs with reasons and available credentials
- If no integrations exist, returns empty list and sugggests creating new integrations
Workflow Execution
superglue_execute_workflow
Executes a previously saved superglue workflow by its ID. Input Schema:id
: Required - The ID of the workflow to executepayload
: (Optional) JSON payload to pass to the workflowcredentials
: (Optional) Additional credentials that will be merged with integration credentialsoptions
: (Optional) Request configuration (caching, timeouts, retries, etc.)
Important Notes:
- This tool is for running existing, saved workflows only
- To create a new workflow, use
superglue_build_and_run
- Workflow ID must exist (use
superglue_list_available_workflows
to find valid IDs)
Workflow Building & Testing
superglue_build_and_run
Builds and executes workflows. This is the primary tool for creating and iteratively testing workflows. Input Schema:instruction
: Required - Natural language instruction to build a new workflow from scratchintegrationIds
: Required - Array of integration IDs to use in the workflowpayload
: (Optional) JSON payload for the workflow executioncredentials
: (Optional) Additional credentials that will be merged with integration credentialsresponseSchema
: (Optional) JSONSchema for the expected output structure
Important Notes:
- This tool only builds and tests workflows - it does NOT save them
- Building and testing can take up to 1 minute
- Use
superglue_find_relevant_integrations
first to discover available integration IDs - After successful execution, use
superglue_save_workflow
to persist the workflow
superglue_save_workflow
Saves a previously built and tested workflow. Use this after successful execution ofsuperglue_build_and_run
.
Input Schema:
id
: Required - Unique identifier for the workflow to saveworkflow
: Required - Workflow configuration object from build_and_run result
Important Notes:
- Take the workflow data from build_and_run result’s
config
field - DO NOT set any fields to null - omit optional fields entirely
- Each step MUST have an integrationId field
- Workflow MUST have integrationIds array
Integration Management
superglue_create_integration
Creates and immediately saves a new integration. Integrations are building blocks for workflows and contain the credentials for accessing APIs. Input Schema:id
: Required - A unique identifier for the new integrationname
: (Optional) Human-readable name for the integrationurlHost
: (Optional) Base URL/hostname for the API including protocolurlPath
: (Optional) Path component of the URLdocumentationUrl
: (Optional) URL to the API documentationcredentials
: Required - Credentials object (can be empty if no credentials needed)
Important Notes:
- Most APIs require authentication (API keys, tokens, etc.)
- Always store credentials in the credentials field
- Use placeholder references:
<<{integration_id}_{credential_name}>>
- Split information clearly: urlHost (without secrets), credentials (with secrets)
- Providing a documentationUrl triggers async documentation processing
superglue_modify_integration
Modifies fields of an existing integration by id. Provide only the id and the fields you want to change. Fields not included will remain unchanged. Input Schema:id
: Required - The unique identifier of the existing integrationname
: (Optional) Human-readable name for the integrationurlHost
: (Optional) Base URL/hostname for the API including protocolurlPath
: (Optional) Path component of the URLdocumentationUrl
: (Optional) URL to the API documentationcredentials
: (Optional) Credentials object (can be empty if no credentials needed)
Important Notes:
- Most APIs require authentication (API keys, tokens, etc.)
- Always store credentials in the credentials field
- Use placeholder references:
<<{integration_id}_{credential_name}>>
- Split information clearly: urlHost (without secrets), credentials (with secrets)
- Providing a documentationUrl triggers async documentation processing
Code Generation
superglue_get_workflow_integration_code
Generate integration code for a specific workflow. Use this to show users how to implement a workflow in their applications. Input Schema:workflowId
: Required - The ID of the workflow to generate code forlanguage
: Required - Programming language:typescript
,python
, orgo
- Ready-to-use SDK code for the specified language
- Includes example payload and credentials based on the workflow’s input schema
Agent Workflow
The recommended workflow for agents using the superglue MCP server:- DISCOVER: Use
superglue_find_relevant_integrations
to find available integrations for your task - BUILD & TEST: Use
superglue_build_and_run
with instruction and integrations. Iterate until successful - SAVE (Optional): Ask user if they want to save the workflow, then use
superglue_save_workflow
with the workflow data - EXECUTE: Use
superglue_execute_workflow
for saved workflows - INTEGRATE: Use
superglue_get_workflow_integration_code
to generate SDK code
Best Practices
- Always start with
superglue_find_relevant_integrations
for discovery - Create integrations and store credentials using
superglue_create_integration
- Ask users for credentials if needed
- Ask user before saving workflows
- When saving workflows, NEVER set fields to null - omit optional fields if no value available
- Copy actual values from build_and_run results, don’t assume fields are empty