Workflow86 MCP Server
OfficialClick on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Workflow86 MCP Serverlist my workflows"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Workflow86 MCP Server
This is a fairly standard Node MCP Server implementation against the workflow86.com public API.
Standard Setup
Normal users will only need to follow some fairly standard setup steps:
Create an API Key from the Organization page of workflow86.com
Setup your MCP client
If you are using Cursor your config file will be at
~/.cursor/mcp.jsonClaude on MacOS has a config file at
~/Library/Application\ Support/Claude/claude_desktop_config.jsonFor other tools please follow their setup instructions
Most tools use configuration in the following format:
{ "mcpServers": { "workflow86": { "command": "npx", "args": ["@npm-workflow86/mcp-server"], "env": { "W86_API_KEY": "<API Key for your W86 Organization>" } } } }To use the latest unreleased build specify the canary tag eg.
"args": ["@npm-workflow86/mcp-server@canary"],Check your Node Version
Make sure your system default node version is v22 or greater (20 may also work but your mileage may vary)node -v
Note: The server will start even if W86_API_KEY is not set so MCP clients can discover available tools. However, calling any Workflow86 tool requires an API key (or custom W86_HEADERS). Without it, tool calls will fail with an authorization error.
Optional: set W86_DOMAIN to point at a different API host (defaults to https://api.workflow86.com).
Test Integration
Cursor
Goto Cursor -> Settings -> Cursor Settings -> Tools & Integrations
There should be a workflow86 entry in the MCP Tools section. If something's gone wrong an error message will display here.
Related MCP server: mcp-n8n-builder
Contributor Setup
For other folk that would like to run the server against source for whatever reason setup is a little more involved. If you don't already have the source run:
git clone git@github.com:workflow86oss/mcp-server.gitBuild
npm install && npm run build
Tests and Coverage
Run unit tests:
npm testRun module tests:
npm run moduleTestAnalyze coverage for module tests:
npm run moduleCoverageUses
c8(V8 coverage) so child processes spawned by module tests are includedFirst run
npm installto ensure dev deps (c8) are installedHTML and lcov reports:
coverage/module/(opencoverage/module/index.html)
Run with CLI
This is particularly useful to get at logs easily if things are going wrong or for quick testing:
First setup your Dev API Key (you might like to add this to your shell init script)
export W86_API_KEY=<api key>Then you can invoke commands via jsonrpc like this:
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list-workflows","arguments":{}}}' | node build/server.jsConfigure a MCP Client
To configure a MCP Client to run against your local checkout put this config in the correct place for your desired tool:
{
"mcpServers": {
"workflow86": {
"command": "node",
"args": ["/<absolute-checkout-path>/mcp-server/build/server.js"],
"env": {
"W86_API_KEY": "<API Key for your W86 Client>"
}
}
}
}Regenerate Generated Client Code
src/client contains a typescript client generated from the Public API OpenAPI spec at https://api.workflow86.com/v3/api-docs. To regenerate after API changes:
npm run genclientReferences
Workflow86 homepage: https://www.workflow86.com
MCP Spec: https://modelcontextprotocol.io/specification/2025-06-18
Available Tools
22 toolsadd-columnC
Add a column to an existing table.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The name of the column to add | |
| type | Yes | The column type | |
| tableId | Yes | The UUID identifier of the table to add to |
create-tableB
Create a new Table with the given name and columns
| Name | Required | Description | Default |
|---|---|---|---|
| columns | Yes | ||
| tableName | Yes | The name of the table to create |
delete-columnB
Delete a column from an existing table.
| Name | Required | Description | Default |
|---|---|---|---|
| tableId | Yes | The UUID identifier of the table to edit | |
| columnName | Yes | The name of the column to delete |
delete-componentB
Delete a component from a draft workflow, removing all links to and from the component.
| Name | Required | Description | Default |
|---|---|---|---|
| workflowId | Yes | ||
| componentId | Yes |
get-sessionC
JSON representation of a Workflow Session
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | Yes | The ID of the workflow session to get the details of |
get-tableA
Retrieve detailed information about a specific table including its ID, name, and complete column definitions. Provides the full schema and metadata for the specified table.
| Name | Required | Description | Default |
|---|---|---|---|
| tableId | Yes | The UUID identifier of the table to retrieve |
get-workflowB
Get comprehensive workflow details including metadata (ID, version, status, name), full workflow description with purpose and use cases, complete component definitions with types and descriptions, placeholder mappings for data flow between components, component connections and relationships, and links to related workflow operations like session management
| Name | Required | Description | Default |
|---|---|---|---|
| workflowId | Yes | The ID of the workflow to get the details of | |
| workflowVersion | No | DEFAULT, PUBLISHED, DRAFT, or an integer workflow version | DEFAULT |
get-workflow-historyA
Retrieve a paginated history of all versions for a specific workflow, including version numbers, timestamps, status changes, and metadata for each version. Useful for tracking workflow evolution and accessing previous versions.
| Name | Required | Description | Default |
|---|---|---|---|
| pageNumber | No | The zero-indexed page number of the response data | |
| workflowId | Yes | The ID of the workflow to get the details of |
list-formsA
Get a paginated list of available forms including form names, URLs, associated workflow IDs and names. Returns form metadata with pagination support for easy form discovery and access. Useful for finding forms that users can submit or access.
| Name | Required | Description | Default |
|---|---|---|---|
| pageNumber | No | The zero-indexed page number of the response data |
list-sessionsA
Get a paginated list of all execution sessions for a workflow, including session IDs, status, timestamps, and execution mode. Can filter between production and test runs of draft workflows. Returns user-friendly messages when no sessions exist, with pagination support for workflows with many execution histories.
| Name | Required | Description | Default |
|---|---|---|---|
| pageNumber | No | The zero-indexed page number of the response data | |
| workflowId | Yes | The ID of the workflow to list sessions for | |
| sessionMode | No | Optional filter to return PROD or TEST sessions | PROD |
list-tablesB
Get a paginated list of all tables for the authenticated client. Returns table summaries including table IDs, names, and pagination controls for browsing through all available tables.
| Name | Required | Description | Default |
|---|---|---|---|
| pageNumber | No | The zero-indexed page number of the response data |
list-tasksA
Get a filtered list of task summaries with comprehensive filter options including text search, workflow filtering, status filtering, date range filtering, and pagination support. Returns task details with names, descriptions, URLs, workflow information, and navigation links for easy task management and tracking.
| Name | Required | Description | Default |
|---|---|---|---|
| endDate | No | End date filter in ISO format (e.g., '2023-12-31T23:59:59Z') | |
| startDate | No | Start date filter in ISO format (e.g., '2023-01-01T00:00:00Z') | |
| workflowId | No | Filter tasks by specific workflow ID | |
| queryString | No | Text search query to filter tasks by content. Do not provide this parameter if there is no search query - omit it entirely rather than passing an empty string. | |
| lastTaskToken | No | Pagination token in format 'ISO-date:taskId' (e.g., '2023-11-15T14:30:00Z:550e8400-e29b-41d4-a716-446655440000') from previous response for pagination | |
| statusToInclude | No | Array of task statuses to include in results (Can only be the following ['TODO', 'DONE', 'TERMINATED', 'ERROR']) |
list-workflowsA
Get a paginated list of workflow summaries including workflow IDs, names, publication status, draft versions, and navigation links. Returns structured metadata for each workflow with pagination controls and links to detailed workflow information.
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Optional parameter to filter results by publication status | ALL |
| orderBy | No | Field to sort by | name |
| pageNumber | No | The zero-indexed page number of the response data | |
| orderDirection | No | Sort direction | ASC |
publish-workflowA
Publish an existing workflow DRAFT, making it available for production execution. Adds a comment and description to document the publication. Creates a new published version and increments the draft version number.
| Name | Required | Description | Default |
|---|---|---|---|
| comment | No | Comment describing the changes in this publication | |
| workflowId | Yes | The ID of the workflow to publish | |
| description | No | Normative description of this workflow |
rename-columnC
Rename a column in an existing table.
| Name | Required | Description | Default |
|---|---|---|---|
| tableId | Yes | The UUID identifier of the table to edit | |
| newColumnName | Yes | The new name for the column | |
| originalColumnName | Yes | The name of the existing column to rename |
rerun-workflowB
A command for rerunning a workflow from an existing session
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | Yes | The session ID that this workflow is running from. Will also use all the placeholder values from this session | |
| workflowId | Yes | The ID of the workflow to rerun | |
| componentId | Yes | UUID identifier of the component to start running from Example: 3fa85f64-5717-4562-b3fc-2c960000afa6 | |
| projectVersion | No | Workflow version to run. It could be a integer version or 'DRAFT' or 'PUBLISHED'. If DRAFT OR PUBLISHED, will run latest version of the project with the respective status |
retry-failed-componentA
Restart execution of a failed component and continue the workflow from that point forward. Automatically resumes processing from the specified component using existing session data and placeholder values. Essential for recovering from transient failures or errors without restarting the entire workflow.
| Name | Required | Description | Default |
|---|---|---|---|
| threadId | No | The ID of the thread to retry | root |
| sessionId | Yes | The ID of the workflow session | |
| componentId | Yes | The ID of the component to retry |
run-workflowC
A command for starting a workflow
| Name | Required | Description | Default |
|---|---|---|---|
| workflowId | Yes | The ID of the workflow to run | |
| componentId | Yes | UUID identifier of the component to start running from Example: 3fa85f64-5717-4562-b3fc-2c960000afa6 | |
| workflowVersion | No | Workflow version to run. It could be a integer version or 'DRAFT' or 'PUBLISHED'. If DRAFT OR PUBLISHED, will run latest version of the project with the respective status | |
| placeholderValues | No | A object containing placeholder keys and values to override values from the original session. - Keys must be from the set of placeholders available to the specified component. - All keys are optional at the API level, but omitting them may of course cause the workflow to fail. - Values are validated against the placeholder type. - datetime placeholders MUST be in ISO-8601 format, but may omit timezone, offset, or the whole time portion. - list placeholders MUST EITHER be sent as a JSON List or a Bracketed String (see example). - Values may not be sent as JSON objects, instead keys should use dotted form. |
terminate-componentA
Selectively terminate a specific component thread within a workflow session while allowing other components to continue running. Provides granular control over workflow execution by targeting individual components or threads. Useful for stopping problematic components without affecting the entire workflow.
| Name | Required | Description | Default |
|---|---|---|---|
| threadId | No | The ID of the thread to terminate | root |
| sessionId | Yes | The ID of the workflow session | |
| componentId | Yes | The ID of the component to terminate |
terminate-entire-sessionA
Immediately stop and terminate an entire workflow session, ending execution of all active components and preventing any further processing. Useful for canceling long-running workflows or stopping erroneous executions. Returns confirmation of termination status.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | Yes | The ID of the workflow session to terminate |
unpublish-workflowA
Unpublish an existing workflow, making it unavailable for normal execution. This changes the status of the currently published version and makes only the draft version available. Useful for taking workflows offline for any reason.
| Name | Required | Description | Default |
|---|---|---|---|
| workflowId | Yes | The ID of the workflow to unpublish |
update-workflow-detailsA
Update workflow name and/or description. Only provided fields will be updated, omitted fields will remain unchanged.
| Name | Required | Description | Default |
|---|---|---|---|
| workflowId | Yes | The ID of the workflow to update | |
| workflowName | No | Optional new name for the workflow. If not provided, the name will not be changed | |
| workflowDescription | No | Optional new description for the workflow. If not provided, the description will not be changed |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
22 tool updates
v0.6.0- First observed
add-column - First observed
create-table - First observed
delete-column - First observed
delete-component - First observed
get-session - First observed
get-table - First observed
get-workflow - First observed
get-workflow-history - First observed
list-forms - First observed
list-sessions - First observed
list-tables - First observed
list-tasks - First observed
list-workflows - First observed
publish-workflow - First observed
rename-column - First observed
rerun-workflow - First observed
retry-failed-component - First observed
run-workflow - First observed
terminate-component - First observed
terminate-entire-session - First observed
unpublish-workflow - First observed
update-workflow-details
TDQS
Scored across 22 tools
Each tool targets a distinct operation—workflows, sessions, tasks, forms, tables, and component manipulation—with clear boundaries. Even similar actions like 'terminate-entire-session' and 'terminate-component' are differentiated by scope.
All tool names follow a consistent 'verb_noun' pattern (e.g., list-workflows, create-table, delete-component). No mixing of conventions or ambiguous verbs.
22 tools is slightly above the typical 3-15 range, but the broad domain (workflows, sessions, tables, forms) justifies the number. It is not excessive and each tool serves a clear purpose.
The tool surface has significant gaps: no create/delete workflow, no table delete/update, only list operations for forms and tasks. Essential CRUD operations are missing, limiting agent capabilities.
Maintenance
Related MCP Connectors
Open-source Zapier/n8n alternative as an MCP server: agents build, run and debug your workflows.
Build and run AI workflows, agents, data tables and 1000+ API integrations from any MCP client.
MCP server that lets AI assistants use all OneSchema features exposed via the public API.
MCP server for CertScore.ai public website risk-signal workflows.
Related MCP Servers
- AlicenseCqualityDmaintenanceA Model Context Protocol (MCP) server for programmatically creating and managing n8n workflows.118MIT
- AlicenseAqualityDmaintenance🪄 MCP server for programmatic creation and management of n8n workflows. Enables AI assistants to build, modify, and manage workflows without direct user intervention through a comprehensive set of tools and resources for interacting with n8n's REST API.1012 npm86MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for n8n workflow automation, enabling management of workflows, executions, credentials, tags, users, and webhooks via an MCP-compatible client.MIT
- AlicenseBqualityDmaintenanceMCP server for managing n8n workflows and executions. Enables listing, activating, deactivating, and executing workflows, as well as monitoring executions and instance health.9MIT