MCP Tools Reference
The Latenode MCP Server exposes tools that AI agents can call to manage scenarios, run executions, and work with connections.
Scenarios
create_scenario
Creates a new scenario with the given name, description, and nodes.
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Scenario name |
| description | string | no | Scenario description |
| nodes | array | yes | List of nodes to include (see node object below) |
Node object
| Field | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Node name (unique within the scenario) |
| typeAlias | string | yes | Node type identifier (use search_node_types to find) |
| parameters | object | yes | Node configuration parameters |
| prevNodes | object | no | Map of upstream node names to route conditions |
Output
| Field | Type | Description |
|---|---|---|
| scenarioId | string | ID of the created scenario |
Notes
- The scenario is always saved with the provided
nameanddescriptionas metadata. - MCP automatically assigns a display name to every node in the scenario, even if you do not set one explicitly.
update_scenario
Replaces an existing scenario by ID. All current nodes are replaced with the ones you provide.
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | Scenario ID to update |
| name | string | no | New scenario name |
| description | string | no | New description |
| nodes | array | no | New node list (same structure as create_scenario) |
Output
| Field | Type | Description |
|---|---|---|
| scenarioId | string | ID of the updated scenario |
Notes
- Full replacement: the existing node list is discarded and replaced with the one you provide. To make partial changes, first call
get_scenario, modify the result, then callupdate_scenario. - MCP automatically assigns display names to all nodes, same as in
create_scenario.
get_scenario
Returns the full definition of a scenario by ID.
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | Scenario ID (valid ObjectID, e.g. 5f92cbf10cf217478ba93561) |
| version | number | no | Specific version to retrieve. Defaults to latest |
Output
| Field | Type | Description |
|---|---|---|
| name | string | Scenario name |
| description | string | Scenario description |
| nodes | array | Full node list with parameters and connections |
activate_scenario
Activates or deactivates a scenario.
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | Scenario ID |
| activate | boolean | yes | true to activate, false to deactivate |
Output
| Field | Type | Description |
|---|---|---|
| status | string | activated or deactivated |
Node types and connections
search_node_types
Searches available node types by keyword. Returns up to 20 results per keyword.
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
| query | string[] | yes | One keyword per array item. Results must match all keywords |
| includeOutputSchema | boolean | no | If true, returns up to 2 output schema examples per node type. Default: false |
Output: array of node type objects.
| Field | Description |
|---|---|
| alias | Node type identifier to use in typeAlias |
| name | Display name |
| description | What the node does |
| params | Configurable parameters with key, title, type, required flag, description, default value, and options |
| defaultWebhookURL | Pre-configured webhook URL if applicable |
get_dynamic_node_parameters
Returns additional parameters that become available for a node type once initial parameters are set (e.g. a sheet list after a spreadsheet is selected).
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
| nodeTypeAlias | string | yes | Node type identifier |
| currentParameters | object | yes | Current parameter values already set on the node |
Output: array of additional parameter descriptors (same structure as params in search_node_types).
search_connections
Searches for the current user's saved connections by type alias.
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
| alias | string[] | yes | One or more connection type aliases to search for |
Output
| Field | Description |
|---|---|
| id | Connection ID to use in node parameters |
| title | Connection display name |
| typeAlias | Connection type |
| lastModifiedAt | Last modification timestamp |
create_connection
Creates a new connection. For OAuth-based services, returns a URL the user must open to complete authorization manually.
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
| typeAlias | string | yes | Connection type alias |
| title | string | yes | Display name for the connection |
| parameters | object | no | Connection parameters (e.g. API keys for non-OAuth connections) |
Output
| Field | Description |
|---|---|
| connectionId | ID of the created connection |
| url | Authorization URL (returned when the client does not support elicitation) |
Executions
run_scenario_once
Runs a scenario once and returns the execution result.
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
| scenarioId | string | yes | Scenario to run |
| version | string | no | Specific version to run. Defaults to latest |
| async | boolean | no | If true, returns only executionId without waiting. Default: false |
Output
| Field | Description |
|---|---|
| executionId | Execution ID |
| result | Status: new, waiting, success, error, in_process, cancel |
| error | Error message if the execution failed |
run_node_once
Runs a single node inside a scenario and returns its output. Useful for testing a specific step without running the full scenario.
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
| scenarioId | string | yes | Scenario containing the node |
| nodeName | string | yes | Name of the node to run |
| nodes | array | yes | Full node list (same structure as create_scenario) |
| version | number | no | Scenario version. Defaults to latest |
| async | boolean | no | If true, returns only executionId. Default: false |
| overrideParameters | object | no | Parameter values to override for this run only |
| compactOutput | boolean | no | If true, returns only the first 100 bytes of output. Default: true |
Output
| Field | Description |
|---|---|
| executionId | Execution ID |
| result | Status: new, waiting, success, error, in_process, cancel |
| output | Node output (truncated if compactOutput is true) |
| error | Error message if the node failed |
Notes
compactOutputdefaults totrueand returns only the first 100 bytes. Set it tofalsewhen you need the full output.- Use
overrideParametersto inject test values without modifying the saved scenario.
run_action_node_once
Runs a single action node without a scenario you built in the editor. Pass the node type and parameters; the tool returns the result in the same response. How it behaves for users: Run a single action.
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
| typeAlias | string | yes | Node type identifier (use search_node_types to find) |
| parameters | object | yes | Node configuration parameters, including required fields |
Output
The tool returns the action result in the same call. If the node needs an app connection and none work, the response includes a link to create a new authorization.
Notes
- Distinct from
run_node_once: noscenarioId. You do not select a node on the canvas. - Existing connections are tried first, most recently updated first. If none work, complete the authorization link, then call the tool again.
- Required parameters are validated before the action runs.
- The run is cancelled after 100 seconds.
- The helper scenario is hidden from the Scenarios list. A successful call appears in statistics.
get_execution
Returns the status and node outputs of an execution by ID.
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
| executionId | string | yes | Execution ID to fetch |
| nodeOutputsByName | string[] | no | Node names whose outputs to include in the response |
Output
| Field | Description |
|---|---|
| status | success, error, in_process, or cancel |
| error | Error message if the execution failed |
| executedNodesCount | Map of node name to execution count |
| nodeOutputs | Map of node name to output string (for nodes in nodeOutputsByName) |
Notes
- Use this tool to poll the result after calling
run_scenario_onceorrun_node_oncewithasync: true.
get_executions_history
Returns the execution history for a scenario with optional filters.
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
| scenarioId | string | yes | Scenario ID |
| limit | number | no | Max executions to return. Default: 10 |
| filters.statuses | string[] | no | Filter by status: new, waiting, success, error, in_process, cancel |
| filters.from | string | no | Start datetime (ISO 8601) |
| filters.to | string | no | End datetime (ISO 8601) |
| filters.versions | string[] | no | Filter by scenario version |
| filters.environment | string | no | dev or prod |
Output
| Field | Description |
|---|---|
| id | Execution ID |
| status | Execution status |
| startedAt | Start timestamp |
| durationInSec | Duration in seconds |
| version | Scenario version |
| environment | dev or prod |
MCP Server
Connect AI agents to Latenode via the MCP Server to build and run scenarios programmatically.
Run a single action
Run any action from the Latenode catalog from your AI agent and get the result in chat, without creating a scenario.
Need Help? Ask the community
If something on this page is missing or unclear, post on the Latenode community forum. Our team and other users usually reply quickly.