> For the complete documentation index, see [llms.txt](https://flowmate.gitbook.io/flowmate-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://flowmate.gitbook.io/flowmate-documentation/mcp/mcp-tool-reference.md).

# MCP Tool Reference

This page documents all tools exposed by the FlowMate MCP server. Your AI platform calls these automatically when you make a request — you don't invoke them directly.

### Flow Management

#### flowmate\_get\_flow

**Parameters**

| Name     | Type     | Required | Description                    |
| -------- | -------- | -------- | ------------------------------ |
| `flowId` | `string` | Yes      | The ID of the flow to retrieve |

**Output**

| Field         | Type             | Description                                  |
| ------------- | ---------------- | -------------------------------------------- |
| `flow`        | `object`         | Full flow definition                         |
| `flow.id`     | `string`         | Flow ID                                      |
| `flow.name`   | `string`         | Flow name                                    |
| `flow.status` | `string`         | `"active"` or `"inactive"`                   |
| `flow.graph`  | `object`         | The connector graph                          |
| `flow.cron`   | `string \| null` | Cron expression if scheduled, otherwise null |

#### flowmate\_create\_flow

Create a new flow.

**Parameters**

| Name    | Type     | Required | Description                         |
| ------- | -------- | -------- | ----------------------------------- |
| `name`  | `string` | Yes      | Flow name                           |
| `graph` | `object` | Yes      | The connector graph definition      |
| `cron`  | `string` | No       | Cron expression for scheduled flows |

**Notes**

* Use `get_flow_reference` before calling this tool to ensure the graph is valid.
* Newly created flows are inactive by default. Use `flowmate_start_flow` to activate.

> 📝 **Review:** Confirm whether webhook flows require a different parameter structure.

#### flowmate\_update\_flow

Update an existing flow's definition or configuration.

**Parameters**

| Name     | Type     | Required | Description                  |
| -------- | -------- | -------- | ---------------------------- |
| `flowId` | `string` | Yes      | The ID of the flow to update |
| `name`   | `string` | No       | Updated name                 |
| `graph`  | `object` | No       | Updated graph                |
| `cron`   | `string` | No       | Updated cron schedule        |

**Notes**

* Updating an active flow applies changes immediately.

#### flowmate\_start\_flow

Activate a flow so it runs automatically on its trigger or schedule.

**Parameters**

| Name     | Type     | Required | Description                    |
| -------- | -------- | -------- | ------------------------------ |
| `flowId` | `string` | Yes      | The ID of the flow to activate |

#### flowmate\_stop\_flow

Deactivate a running flow.

**Parameters**

| Name     | Type     | Required | Description                      |
| -------- | -------- | -------- | -------------------------------- |
| `flowId` | `string` | Yes      | The ID of the flow to deactivate |

***

### Template Management

#### flowmate\_list\_templates

List all available templates, including FlowMate's built-in library and your own saved templates.

**Parameters**

| Name     | Type      | Required | Description                           |
| -------- | --------- | -------- | ------------------------------------- |
| `limit`  | `integer` | No       | Maximum number of templates to return |
| `offset` | `integer` | No       | Pagination offset                     |

**Output**

| Field                     | Type             | Description               |
| ------------------------- | ---------------- | ------------------------- |
| `templates`               | `array`          | List of templates         |
| `templates[].id`          | `string`         | Template ID               |
| `templates[].name`        | `string`         | Template name             |
| `templates[].description` | `string \| null` | Template description      |
| `templates[].version`     | `string`         | Current version           |
| `count`                   | `integer`        | Total number of templates |

#### flowmate\_get\_template

Return the full definition of a specific template.

**Parameters**

| Name         | Type     | Required | Description                        |
| ------------ | -------- | -------- | ---------------------------------- |
| `templateId` | `string` | Yes      | The ID of the template to retrieve |

**Output**

| Field      | Type     | Description                                                        |
| ---------- | -------- | ------------------------------------------------------------------ |
| `template` | `object` | Full template definition including graph, steps, and configuration |

#### flowmate\_list\_template\_versions

List all saved versions of a template.

**Parameters**

| Name         | Type     | Required | Description            |
| ------------ | -------- | -------- | ---------------------- |
| `templateId` | `string` | Yes      | The ID of the template |

**Output**

| Field                  | Type     | Description                               |
| ---------------------- | -------- | ----------------------------------------- |
| `versions`             | `array`  | List of versions                          |
| `versions[].id`        | `string` | Version ID                                |
| `versions[].createdAt` | `string` | ISO timestamp when this version was saved |

#### flowmate\_create\_template

Save a new template.

**Parameters**

| Name          | Type     | Required | Description               |
| ------------- | -------- | -------- | ------------------------- |
| `name`        | `string` | Yes      | Template name             |
| `description` | `string` | No       | Template description      |
| `graph`       | `object` | Yes      | The flow graph definition |

> 📝 **Review:** Verify exact structure of the `graph` parameter.

#### flowmate\_update\_template

Update an existing template. Creates a new version; existing flows on older versions are not affected.

**Parameters**

| Name          | Type     | Required | Description                      |
| ------------- | -------- | -------- | -------------------------------- |
| `templateId`  | `string` | Yes      | The ID of the template to update |
| `name`        | `string` | No       | Updated name                     |
| `description` | `string` | No       | Updated description              |
| `graph`       | `object` | No       | Updated flow graph               |

#### flowmate\_delete\_template

Delete a template permanently.

**Parameters**

| Name         | Type     | Required | Description                      |
| ------------ | -------- | -------- | -------------------------------- |
| `templateId` | `string` | Yes      | The ID of the template to delete |

**Notes**

* Deleting a template does not affect flows that were already created from it.

***

### Connector Management

#### flowmate\_list\_connectors

List all available connectors.

**Parameters**

| Name    | Type      | Required | Description               |
| ------- | --------- | -------- | ------------------------- |
| `query` | `string`  | No       | Filter connectors by name |
| `limit` | `integer` | No       | Maximum number of results |

**Output**

| Field                      | Type             | Description                  |
| -------------------------- | ---------------- | ---------------------------- |
| `connectors`               | `array`          | List of available connectors |
| `connectors[].id`          | `string`         | Connector ID                 |
| `connectors[].name`        | `string`         | Connector name               |
| `connectors[].description` | `string \| null` | Connector description        |

#### flowmate\_get\_connector\_details

Return the full details of a connector, including all triggers and actions.

**Parameters**

| Name          | Type     | Required | Description      |
| ------------- | -------- | -------- | ---------------- |
| `connectorId` | `string` | Yes      | The connector ID |

**Output**

| Field                | Type     | Description                  |
| -------------------- | -------- | ---------------------------- |
| `connector.triggers` | `array`  | Available trigger functions  |
| `connector.actions`  | `array`  | Available action functions   |
| `connector.authType` | `string` | Authentication type required |

#### flowmate\_get\_function\_schemas

Return the input and output schema for a specific trigger or action.

**Parameters**

| Name           | Type     | Required | Description                       |
| -------------- | -------- | -------- | --------------------------------- |
| `connectorId`  | `string` | Yes      | The connector ID                  |
| `functionName` | `string` | Yes      | The name of the trigger or action |

**Output**

| Field          | Type     | Description                               |
| -------------- | -------- | ----------------------------------------- |
| `inputSchema`  | `object` | JSON Schema describing the expected input |
| `outputSchema` | `object` | JSON Schema describing the output         |

***

### Execute Actions

#### flowmate\_execute\_function

Execute a single connector action immediately, outside of a flow. This is how Instant Actions work.

**Parameters**

| Name           | Type     | Required | Description                                                             |
| -------------- | -------- | -------- | ----------------------------------------------------------------------- |
| `connectorId`  | `string` | Yes      | The connector ID                                                        |
| `functionName` | `string` | Yes      | The action to execute                                                   |
| `input`        | `object` | Yes      | Input data for the action                                               |
| `credentialId` | `string` | No       | Credential to use. Defaults to the stored credential for this connector |

**Output**

| Field    | Type     | Description                                 |
| -------- | -------- | ------------------------------------------- |
| `result` | `object` | The output returned by the connector action |

**Notes**

* Instant actions don't create an execution record. For auditable, repeatable runs, use a flow.

***

### Credential Management

#### flowmate\_get\_credentials

List all stored credentials for the current user's connected services.

**Parameters**

| Name          | Type     | Required | Description                     |
| ------------- | -------- | -------- | ------------------------------- |
| `connectorId` | `string` | No       | Filter credentials by connector |

**Output**

| Field                       | Type     | Description                              |
| --------------------------- | -------- | ---------------------------------------- |
| `credentials`               | `array`  | List of stored credentials               |
| `credentials[].id`          | `string` | Credential ID                            |
| `credentials[].name`        | `string` | Display name                             |
| `credentials[].connectorId` | `string` | The connector this credential belongs to |

**Notes**

* Credential secret values are never returned.

#### flowmate\_get\_credentials\_by\_component

Return credentials for a specific connector component.

**Parameters**

| Name          | Type     | Required | Description                |
| ------------- | -------- | -------- | -------------------------- |
| `componentId` | `string` | Yes      | The connector component ID |

#### flowmate\_create\_credential

Initiate adding a new credential for a connector. Returns an authorization link for OAuth connectors or confirms storage for API key connectors.

**Parameters**

| Name          | Type     | Required | Description                          |
| ------------- | -------- | -------- | ------------------------------------ |
| `connectorId` | `string` | Yes      | The connector to add credentials for |
| `name`        | `string` | No       | Display name for the credential      |
| `data`        | `object` | No       | Credential data (for API key auth)   |

> 📝 **Review:** Confirm exact parameter structure for each auth type (OAuth, API key, Basic Auth, session token).

#### flowmate\_update\_credential

Update or replace an existing credential.

**Parameters**

| Name           | Type     | Required | Description                        |
| -------------- | -------- | -------- | ---------------------------------- |
| `credentialId` | `string` | Yes      | The ID of the credential to update |
| `data`         | `object` | No       | Updated credential data            |

#### flowmate\_inspect\_credential

Return metadata about a stored credential (not the secret values).

**Parameters**

| Name           | Type     | Required | Description       |
| -------------- | -------- | -------- | ----------------- |
| `credentialId` | `string` | Yes      | The credential ID |

**Output**

| Field         | Type      | Description                               |
| ------------- | --------- | ----------------------------------------- |
| `id`          | `string`  | Credential ID                             |
| `name`        | `string`  | Display name                              |
| `connectorId` | `string`  | Associated connector                      |
| `createdAt`   | `string`  | ISO timestamp                             |
| `valid`       | `boolean` | Whether the credential is currently valid |

***

### Execution management

#### flowmate\_get\_executions

Return execution history for a flow.

**Parameters**

| Name            | Type      | Required | Description                                                           |
| --------------- | --------- | -------- | --------------------------------------------------------------------- |
| `flowId`        | `string`  | Yes      | The flow to retrieve executions for                                   |
| `status`        | `string`  | No       | Filter by status: `"completed"`, `"failed"`, `"running"`, `"stopped"` |
| `limit`         | `integer` | No       | Maximum number of results                                             |
| `startedAfter`  | `string`  | No       | ISO 8601 timestamp — return executions after this time                |
| `startedBefore` | `string`  | No       | ISO 8601 timestamp — return executions before this time               |

**Output**

| Field                    | Type      | Description                         |
| ------------------------ | --------- | ----------------------------------- |
| `executions`             | `array`   | List of executions                  |
| `executions[].id`        | `string`  | Execution ID                        |
| `executions[].status`    | `string`  | Execution status                    |
| `executions[].startedAt` | `string`  | ISO timestamp                       |
| `executions[].duration`  | `integer` | Duration in milliseconds            |
| `count`                  | `integer` | Total number of matching executions |

***

### Log Investigation

#### flowmate\_get\_flow\_logs

Return the step-by-step log for a specific execution.

**Parameters**

| Name          | Type     | Required | Description      |
| ------------- | -------- | -------- | ---------------- |
| `flowId`      | `string` | Yes      | The flow ID      |
| `executionId` | `string` | Yes      | The execution ID |

**Output**

| Field              | Type             | Description                                           |
| ------------------ | ---------------- | ----------------------------------------------------- |
| `execution`        | `object`         | Execution metadata (status, timestamps, trigger data) |
| `steps`            | `array`          | Step-by-step log                                      |
| `steps[].name`     | `string`         | Step name                                             |
| `steps[].status`   | `string`         | `"success"` or `"error"`                              |
| `steps[].input`    | `object`         | Data the step received                                |
| `steps[].output`   | `object`         | Data the step returned                                |
| `steps[].error`    | `string \| null` | Error message if the step failed                      |
| `steps[].duration` | `integer`        | Step duration in milliseconds                         |

***

### Webhook

#### flowmate\_send\_webhook

Send a payload to a webhook-enabled flow to trigger it manually.

**Parameters**

| Name      | Type     | Required | Description                        |
| --------- | -------- | -------- | ---------------------------------- |
| `flowId`  | `string` | Yes      | The ID of the webhook-enabled flow |
| `payload` | `object` | Yes      | The JSON payload to send           |

**Notes**

* The flow must be active and configured to receive webhooks.
* Use this to test webhook flows or to trigger them manually from a conversation.

***

### Reference tools

Reference tools load internal documentation that helps the AI build valid flows and templates. They are called automatically when needed.

#### get\_flow\_reference

Load the structural rules and schema for building valid FlowMate flows. Called automatically before `flowmate_create_flow` or `flowmate_update_flow`.

#### get\_template\_reference

Load template-building guidelines and schema. Called automatically before creating or updating templates.

#### get\_mapping\_reference

Load field mapping rules, mapper types, and node settings for building step-to-step data mappings.

#### get\_lookup\_reference

Return predefined lookup snippets for common tenant-specific fields (status enums, category codes, and similar). Used during flow construction to resolve values that differ per customer.
