Skip to main content
Glama
Workflow86 MCP Server

Workflow86 MCP Server

Official

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:

  1. Create an API Key from the Organization page of workflow86.com

  2. Setup your MCP client

    • If you are using Cursor your config file will be at ~/.cursor/mcp.json

    • Claude on MacOS has a config file at ~/Library/Application\ Support/Claude/claude_desktop_config.json

    • For 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"],
  3. 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.git

Build

npm install && npm run build

Tests and Coverage

  • Run unit tests: npm test

  • Run module tests: npm run moduleTest

  • Analyze coverage for module tests: npm run moduleCoverage

    • Uses c8 (V8 coverage) so child processes spawned by module tests are included

    • First run npm install to ensure dev deps (c8) are installed

    • HTML and lcov reports: coverage/module/ (open coverage/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.js

Configure 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 genclient

References

Workflow86 homepage: https://www.workflow86.com
MCP Spec: https://modelcontextprotocol.io/specification/2025-06-18

Available Tools

22 tools
add-columnC

Add a column to an existing table.

NameRequiredDescriptionDefault
nameYesThe name of the column to add
typeYesThe column type
tableIdYesThe UUID identifier of the table to add to
create-tableB

Create a new Table with the given name and columns

NameRequiredDescriptionDefault
columnsYes
tableNameYesThe name of the table to create
delete-columnB

Delete a column from an existing table.

NameRequiredDescriptionDefault
tableIdYesThe UUID identifier of the table to edit
columnNameYesThe name of the column to delete
delete-componentB

Delete a component from a draft workflow, removing all links to and from the component.

NameRequiredDescriptionDefault
workflowIdYes
componentIdYes
get-sessionC

JSON representation of a Workflow Session

NameRequiredDescriptionDefault
sessionIdYesThe 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.

NameRequiredDescriptionDefault
tableIdYesThe 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

NameRequiredDescriptionDefault
workflowIdYesThe ID of the workflow to get the details of
workflowVersionNoDEFAULT, PUBLISHED, DRAFT, or an integer workflow versionDEFAULT
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.

NameRequiredDescriptionDefault
pageNumberNoThe zero-indexed page number of the response data
workflowIdYesThe 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.

NameRequiredDescriptionDefault
pageNumberNoThe 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.

NameRequiredDescriptionDefault
pageNumberNoThe zero-indexed page number of the response data
workflowIdYesThe ID of the workflow to list sessions for
sessionModeNoOptional filter to return PROD or TEST sessionsPROD
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.

NameRequiredDescriptionDefault
pageNumberNoThe 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.

NameRequiredDescriptionDefault
endDateNoEnd date filter in ISO format (e.g., '2023-12-31T23:59:59Z')
startDateNoStart date filter in ISO format (e.g., '2023-01-01T00:00:00Z')
workflowIdNoFilter tasks by specific workflow ID
queryStringNoText 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.
lastTaskTokenNoPagination token in format 'ISO-date:taskId' (e.g., '2023-11-15T14:30:00Z:550e8400-e29b-41d4-a716-446655440000') from previous response for pagination
statusToIncludeNoArray 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.

NameRequiredDescriptionDefault
statusNoOptional parameter to filter results by publication statusALL
orderByNoField to sort byname
pageNumberNoThe zero-indexed page number of the response data
orderDirectionNoSort directionASC
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.

NameRequiredDescriptionDefault
commentNoComment describing the changes in this publication
workflowIdYesThe ID of the workflow to publish
descriptionNoNormative description of this workflow
rename-columnC

Rename a column in an existing table.

NameRequiredDescriptionDefault
tableIdYesThe UUID identifier of the table to edit
newColumnNameYesThe new name for the column
originalColumnNameYesThe name of the existing column to rename
rerun-workflowB

A command for rerunning a workflow from an existing session

NameRequiredDescriptionDefault
sessionIdYesThe session ID that this workflow is running from. Will also use all the placeholder values from this session
workflowIdYesThe ID of the workflow to rerun
componentIdYesUUID identifier of the component to start running from Example: 3fa85f64-5717-4562-b3fc-2c960000afa6
projectVersionNoWorkflow 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.

NameRequiredDescriptionDefault
threadIdNoThe ID of the thread to retryroot
sessionIdYesThe ID of the workflow session
componentIdYesThe ID of the component to retry
run-workflowC

A command for starting a workflow

NameRequiredDescriptionDefault
workflowIdYesThe ID of the workflow to run
componentIdYesUUID identifier of the component to start running from Example: 3fa85f64-5717-4562-b3fc-2c960000afa6
workflowVersionNoWorkflow 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
placeholderValuesNoA 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.

NameRequiredDescriptionDefault
threadIdNoThe ID of the thread to terminateroot
sessionIdYesThe ID of the workflow session
componentIdYesThe 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.

NameRequiredDescriptionDefault
sessionIdYesThe 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.

NameRequiredDescriptionDefault
workflowIdYesThe 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.

NameRequiredDescriptionDefault
workflowIdYesThe ID of the workflow to update
workflowNameNoOptional new name for the workflow. If not provided, the name will not be changed
workflowDescriptionNoOptional 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.

  1. 22 tool updatesv0.6.0
    • First observedadd-column
    • First observedcreate-table
    • First observeddelete-column
    • First observeddelete-component
    • First observedget-session
    • First observedget-table
    • First observedget-workflow
    • First observedget-workflow-history
    • First observedlist-forms
    • First observedlist-sessions
    • First observedlist-tables
    • First observedlist-tasks
    • First observedlist-workflows
    • First observedpublish-workflow
    • First observedrename-column
    • First observedrerun-workflow
    • First observedretry-failed-component
    • First observedrun-workflow
    • First observedterminate-component
    • First observedterminate-entire-session
    • First observedunpublish-workflow
    • First observedupdate-workflow-details

TDQS

A3.5/5.0

Scored across 22 tools

Disambiguation5/5

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.

Naming Consistency5/5

All tool names follow a consistent 'verb_noun' pattern (e.g., list-workflows, create-table, delete-component). No mixing of conventions or ambiguous verbs.

Tool Count4/5

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.

Completeness2/5

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

ActivityInactive
ResponsivenessNo recent community issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    🪄 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.
    10
    12 npm
    86
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for n8n workflow automation, enabling management of workflows, executions, credentials, tags, users, and webhooks via an MCP-compatible client.
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    MCP server for managing n8n workflows and executions. Enables listing, activating, deactivating, and executing workflows, as well as monitoring executions and instance health.
    9
    MIT