Model Context Protocol (MCP)
Model Context Protocol (MCP)Β is an open standard developed by Anthropic that provides a unified, structured protocol for AI assistants, coding agents, and IDEs to interact with external automation tools and systems.
Developer Preview: Model Context Protocol (MCP) integration is currently available for workspace developers and engineering preview accounts. This guide details the architecture, tool specifications, and integration models.
Glow supports MCP across two complementary architectures:
Connect external AI assistants (Cursor, Claude Desktop, Zed, Claude Code) to discover, inspect, and trigger automations directly from your IDE.
Glow as an MCP ServerEquip visual AI Agent steps with external tool servers (Postgres MCP, GitHub MCP, custom internal APIs).
Glow as an MCP ClientServer Architecture & Protocol Flow
When an authorized AI client connects to Glowβs MCP server, the protocol negotiates capabilities and establishes a secure JSON-RPC channel. The gateway authenticates every tool invocation against workspace policies before dispatching it to the execution engine:
Access & Permission Model
MCP access is governed by scoped developer tokens with explicit capability boundaries:
| Permission Scope | Granted Operations | Security Policy |
|---|---|---|
mcp:read | Read-only discovery: list_workflows, get_workflow_schema, get_execution_status. | Cannot trigger executions or modify workspace state. |
mcp:execute | Execution capabilities: execute_workflow, test_step. | Strictly limited to the authenticated workspace. |
Security Guarantees: - Scoped Bearer token authentication with
cryptographic verification. - Tenant isolation: Access strictly limited to
your authorized workspace. - Audit visibility: Sandboxed executions tagged
with an MCP test badge. - Zero credential leakage: Real secrets and
OAuth tokens are never exposed in tool schemas.
Example Developer Interactions
When connected to an MCP server, an AI assistant interprets natural language instructions and executes structured tool calls:
"Show me all active workflows in my workspace."
β Calls list_workflows(status="live")"What inputs does the 'Support Ticket Triage' workflow require?"
β Calls get_workflow_schema(workflowId="flow_84920481")"Run the 'Lead Enrichment' workflow for customer [email protected]."
β Calls execute_workflow(workflowId="flow_84920481", payload={ customer_email: "[email protected]" })"Test step 2 (HTTP Request) in isolation with mock input { ticket_id: 104 }."
β Calls test_step(workflowId="flow_84920481", stepNumber=2, mockedInputs={ ... })MCP Server: Tool Reference
The Glow MCP server exposes five primary tools organized by operational function:
| Tool | Scope | Purpose |
|---|---|---|
list_workflows | mcp:read | Discover available workflows, trigger types, and status. |
get_workflow_schema | mcp:read | Inspect trigger parameter schemas, variables, and step layout. |
execute_workflow | mcp:execute | Trigger a workflow execution with custom JSON payload. |
get_execution_status | mcp:read | Poll live run progress, duration, and step-level outputs. |
test_step | mcp:execute | Run a single action step in a sandbox with mock predecessor inputs. |
1. list_workflows
Returns a list of workflows available in the authenticated workspace.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
status | string | No | "all" | Filter by status: "live", "draft", or "all". |
search | string | No | null | Keyword filter matching workflow name or description. |
limit | integer | No | 50 | Maximum number of workflow summaries to return (1β100). |
Tool Call
{
"name": "list_workflows",
"arguments": {
"status": "live",
"search": "Support"
}
}2. get_workflow_schema
Fetches the complete structural schema for a workflow, including required trigger parameters, mapped variables, and step sequences.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
workflowId | string | Yes | The unique identifier of the workflow (e.g. flow_84920481). |
Tool Call
{
"name": "get_workflow_schema",
"arguments": {
"workflowId": "flow_84920481"
}
}3. execute_workflow
Triggers a workflow run with a supplied JSON payload and returns an execution tracking ID.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
workflowId | string | Yes | β | Target workflow ID. |
payload | object | Yes | β | JSON data dictionary passed to the trigger step. |
correlationId | string | No | null | Optional tracking identifier for log correlation. |
mode | string | No | "live" | Run mode: "live" (published version) or "draft". |
Tool Call
{
"name": "execute_workflow",
"arguments": {
"workflowId": "flow_84920481",
"payload": {
"customer_email": "[email protected]",
"ticket_subject": "Payment API returned 504",
"ticket_body": "Transactions timed out during checkout."
},
"correlationId": "ticket-4812"
}
}4. get_execution_status
Queries the execution state and individual step outputs of an active or finished run.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
executionId | string | Yes | β | Execution ID returned from execute_workflow. |
includeStepOutputs | boolean | No | true | When true, includes step-level result objects. |
Tool Call
{
"name": "get_execution_status",
"arguments": {
"executionId": "exec_9a8f234b01e"
}
}5. test_step (Isolated Sandbox Test)
Executes a single step in complete isolation, using real workspace credentials and optional mock data representing predecessor steps.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
workflowId | string | Yes | ID of the workflow containing the step. |
stepNumber | integer | Yes | Step number to execute (e.g. 2). |
mockedInputs | object | No | Dictionary mapping predecessor step numbers to mock output objects. |
Key Sandbox Capabilities
- No cascade execution: Steps wired after the test target are not run.
- Authentic authentication: The step uses configured workspace integrations and secrets securely.
- Audit tracking: Test executions are logged in Activity and tagged with an
MCP testbadge.
Tool Call
{
"name": "test_step",
"arguments": {
"workflowId": "flow_84920481",
"stepNumber": 2,
"mockedInputs": {
"1": {
"ticket_subject": "504 Gateway Timeout during checkout",
"ticket_body": "Payment endpoint stopped responding."
}
}
}
}Glow as an MCP Client
In addition to serving tools to external AI clients, Glow automations can consume external MCP tool servers to empower visual AI Agent steps:
- External Server Registration: Connect remote MCP servers in workspace settings with remote endpoint URLs and authentication headers.
- Agent Tool Assignment: Toggle external tool servers on inside the AI Agent stepβs Tools panel.
- Autonomous Reasoning: During workflow runs, the agent discovers and invokes external tools dynamically to fulfill user goals.
Whatβs Next?
- π REST API & Webhooks β: Standard REST endpoints for programmatic workflow execution.
- AI Agent Step: Build multi-turn autonomous reasoning workflows on the visual canvas.
- Secrets and Variables: Secure management for API keys and credentials.