Activepieces

Activepieces

Official

Open-source workflow automation with a built-in MCP server — build, publish, and debug flows from an AI agent.

Score 82(?)ActivepiecesOther24kVerified Top MCPs for Automation & Workflows →

Quick answer

What it does

Exposes about 52 ap_* tools in seven categories: Discovery (read-only exploration of flows, pieces, connections, tables and runs, plus semantic search over the action and trigger catalog), Flow Management, Flow Building, Router & Branching, Annotations, Tables, and Testing & Runs.

Best for

  • Building flows from a natural-language description
  • Debugging failed runs
  • Read-only automation discovery for agents
  • Table CRUD from chat

Not for

  • Teams not already running Activepieces
  • Setups needing a static API key rather than OAuth

Source: top-mcps.com/mcp/activepieces — verified Sep 2026

Setup recipe

Pick your client, then follow the three steps.

  1. 1

    Install

    claude_desktop_config.json
    {
      "mcpServers": {
        "activepieces": {
          "command": "npx",
          "args": [
            "-y",
            "mcp-remote",
            "https://cloud.activepieces.com/mcp"
          ]
        }
      }
    }

    Claude Desktop launches stdio servers, so mcp-remote bridges to the hosted endpoint and opens the sign-in in your browser. On Pro, Max, Team and Enterprise you can skip the file: Settings → Connectors → Add custom connector → https://cloud.activepieces.com/mcp. Authorization happens in the browser on first use (OAuth); no token goes in the config file.

    CLI or .mcp.json
    claude mcp add --transport http activepieces https://cloud.activepieces.com/mcp

    Then run /mcp inside Claude Code to finish the sign-in. Authorization happens in the browser on first use (OAuth); no token goes in the config file.

    .cursor/mcp.json
    {
      "mcpServers": {
        "activepieces": {
          "url": "https://cloud.activepieces.com/mcp"
        }
      }
    }

    Global path: ~/.cursor/mcp.json. Cursor shows "Needs login" once it connects — click it to authorize. Authorization happens in the browser on first use (OAuth); no token goes in the config file.

    .vscode/mcp.json
    {
      "servers": {
        "activepieces": {
          "type": "http",
          "url": "https://cloud.activepieces.com/mcp"
        }
      }
    }

    VS Code uses the "servers" key. Run MCP: List Servers → Start Server and allow the sign-in. Authorization happens in the browser on first use (OAuth); no token goes in the config file.

    ~/.codeium/windsurf/mcp_config.json
    {
      "mcpServers": {
        "activepieces": {
          "serverUrl": "https://cloud.activepieces.com/mcp"
        }
      }
    }

    Windsurf uses "serverUrl" for hosted servers. Open via Cascade → hammer icon → Configure. Authorization happens in the browser on first use (OAuth); no token goes in the config file.

    cline_mcp_settings.json
    {
      "mcpServers": {
        "activepieces": {
          "command": "npx",
          "args": [
            "-y",
            "mcp-remote",
            "https://cloud.activepieces.com/mcp"
          ]
        }
      }
    }

    Bridged through mcp-remote. Open via the Cline sidebar → MCP Servers → Edit. Authorization happens in the browser on first use (OAuth); no token goes in the config file.

    ~/.continue/config.json
    {
      "experimental": {
        "modelContextProtocolServers": [
          {
            "transport": {
              "type": "streamable-http",
              "url": "https://cloud.activepieces.com/mcp"
            }
          }
        ]
      }
    }

    Continue takes the hosted URL directly in the transport block. Authorization happens in the browser on first use (OAuth); no token goes in the config file.

    CLI
    codex mcp add activepieces --url https://cloud.activepieces.com/mcp

    Codex detects OAuth support and opens the browser to authorize. Authorization happens in the browser on first use (OAuth); no token goes in the config file.

    ~/.config/zed/settings.json
    {
      "context_servers": {
        "activepieces": {
          "command": {
            "path": "npx",
            "args": [
              "-y",
              "mcp-remote",
              "https://cloud.activepieces.com/mcp"
            ]
          }
        }
      }
    }

    Bridged through mcp-remote under "context_servers". Settings live-reload on save. Authorization happens in the browser on first use (OAuth); no token goes in the config file.

    ChatGPT → Settings → Connectors (remote URL)
    {
      "name": "Activepieces",
      "transport": "http",
      "url": "https://cloud.activepieces.com/mcp"
    }

    Paste this into Settings → Connectors → Add custom connector. Requires ChatGPT Pro / Team / Enterprise / Edu with Developer mode enabled.

  2. 2

    Set required secrets

    No credentials required — this MCP runs over stdio without authentication.

  3. 3

    Try a minimum working prompt

    Minimum working prompt pending verification. Try any prompt from the MCP’s README once installed.

Tools & permissions

ToolDescriptionArgsSide effects
ap_list_flowsList flows in the current project with status, trigger type, and published state.limit?: number, status?: string, name?: stringRead
ap_flow_structureGet the full structure of a flow: step tree, configuration status, step input values, router branch conditions, and valid insert locations.flowId: stringRead
ap_read_step_codeRead the full source code, package.json, and input mappings of a CODE step.flowId: string, stepName: stringRead
ap_read_step_settingsRead the full untruncated settings of any step, including the trigger: piece input, action/trigger name, loop items, router branches, and error handling options.flowId: string, stepName: stringRead
ap_validate_flowValidate a flow for structural issues without publishing.flowId: stringRead
ap_research_piecesResearch available pieces.pieceNames?: string\[], searchQuery?: string, includeActions?: boolean, includeTriggers?: booleanRead
ap_search_actionsFind piece actions by describing the task in natural language (e.g.query: string, limit?: number, pieceName?: stringRead
ap_search_triggersFind piece triggers (the event that starts a flow) by describing when the flow should run (e.g.query: string, limit?: number, pieceName?: stringRead
ap_get_piece_propsGet the detailed input property schema for a specific piece action or trigger.pieceName: string, actionOrTriggerName: string, type: string, auth?: string, flowId?: string, input?: objectRead
ap_resolve_property_optionsResolve dropdown options for a single piece property.pieceName: string, actionOrTriggerName: string, type: string, propertyName: string, auth: string, input?: object, searchValue?: stringRead
ap_resolve_property_chainResolve a chain of dependent dropdown properties in one call.pieceName: string, actionOrTriggerName: string, type: string, propertyChain: array, auth: string, currentInput?: objectRead
ap_validate_step_configValidate a step configuration before applying it.stepType: string, pieceName?: string, actionName?: string, triggerName?: string, input?: object, auth?: string, sourceCode?: string, packageJson?: string, loopItems?: string, settings?: objectRead
ap_list_connectionsList OAuth/app connections in the project.pieceName?: string, displayName?: string, status?: arrayRead
ap_list_ai_modelsList configured AI providers and their available models.provider?: stringRead
ap_list_tablesList all tables in the project with their fields (name, type, id) and row counts.—Read
ap_find_recordsQuery records from a table with optional filtering.tableId: string, filters?: array, limit?: numberRead
ap_list_runsList recent flow runs with optional filters.flowId?: string, status?: string, limit?: numberRead
ap_get_runGet detailed results of a flow run including step-by-step outputs, errors, and durations.flowRunId: stringRead
ap_setup_guideGet step-by-step instructions for setting up connections or AI providers.topic: string, pieceName?: stringRead
ap_set_project_contextSet or clear the active project context.projectId?: stringRead
ap_create_flowCreate a new empty flow.flowName: stringWrite
ap_duplicate_flowDuplicate an existing flow.flowId: string, name?: stringWrite
ap_rename_flowRename an existing flow.flowId: string, displayName: stringWrite
ap_change_flow_statusEnable or disable a flow.flowId: string, status: stringWrite
ap_delete_flowPermanently delete a flow and all its versions.flowId: stringWrite
ap_lock_and_publishPublish the current draft of a flow.flowId: stringWrite
ap_build_flowCreate a complete flow in one call — trigger plus any number of steps.flowName: string, trigger: object, steps: arrayWrite
ap_update_triggerSet or update the trigger for a flow.flowId: string, pieceName: string, triggerName: string, input?: object, auth?: string, displayName?: stringWrite
ap_add_stepAdd a new step to a flow.flowId: string, parentStepName: string, stepLocationRelativeToParent: string, stepType: string, displayName: string, pieceName?: string, actionName?: string, branchIndex?: number, input?: object, auth?: string, sourceCode?: string, packageJson?: string, loopItems?: string, continueOnFailure?: boolean, retryOnFailure?: booleanWrite
ap_update_stepUpdate an existing step's settings.flowId: string, stepName: string, displayName?: string, input?: object, auth?: string, actionName?: string, loopItems?: string, sourceCode?: string, packageJson?: string, skip?: boolean, continueOnFailure?: boolean, retryOnFailure?: booleanWrite
ap_delete_stepDelete a step from a flow.flowId: string, stepName: string, displayName?: stringWrite
ap_add_branchAdd a conditional branch to a router step.flowId: string, routerStepName: string, branchName: string, conditions?: arrayWrite
ap_update_branchUpdate the conditions and/or name of an existing router branch without affecting the steps inside it.flowId: string, routerStepName: string, branchIndex: number, branchName?: string, conditions?: arrayWrite
ap_delete_branchDelete a branch from a router step.flowId: string, routerStepName: string, branchIndex: number, displayName?: stringWrite
ap_manage_notesAdd, update, or delete canvas notes on a flow.flowId: string, operation: string, noteId?: string, content?: string, color?: string, position?: object, size?: objectWrite
ap_create_tableCreate a new table with an initial set of fields.name: string, fields: arrayWrite
ap_delete_tablePermanently delete a table and all its data.tableId: string, displayName?: stringWrite
ap_manage_fieldsAdd, rename, or delete fields on a table.tableId: string, operation: string, fieldId?: string, name?: string, type?: string, options?: arrayWrite
ap_insert_recordsInsert one or more records into a table.tableId: string, records: arrayWrite
ap_update_recordUpdate specific cells in a record.tableId: string, recordId: string, fields: objectWrite
ap_delete_recordsPermanently delete one or more records.recordIds: array, displayName?: stringWrite
ap_test_flowTest a flow end-to-end in the test environment.flowId: string, displayName?: string, triggerTestData?: objectExec
ap_test_stepTest a single step within a flow.flowId: string, stepName: string, displayName?: string, triggerTestData?: objectExec
ap_retry_runRetry a failed flow run.flowRunId: string, strategy: stringExec
ap_run_actionExecute a single piece action once without building or saving a flow.pieceName: string, actionName: string, input?: object, connectionExternalId?: stringExec

Security & scope

Access scope
Network
Sandbox
Hosted MCP endpoint on your Activepieces instance, reached over Streamable HTTP and authenticated with OAuth — the client opens a browser on first use, so no static credential is stored. Tool categories are scoped per project, and Discovery is read-only.
Gotchas
  • Flows execute under the connections stored in Activepieces, so an agent that can publish a flow can act in every system those connections reach — Slack, databases, payment providers. Enable only the categories that project actually needs.
  • Flow Building and Flow Management together let an agent publish live automation. Treat granting them as granting deploy access, not read access.
  • The repository is mixed-licence: the core is MIT Expat, while packages/ee/ carries separate commercial terms. Check which applies before self-hosting a modified build.
  • The Server URL is per-instance and off by default — the toggle in Settings is the enable step, and pointing a client at the wrong instance is the usual setup error.

Agent prompt pack

— copy into Claude, Cursor, or ChatGPT.
Paste into Claude, Cursor, or ChatGPT. Edit the [brackets] before sending.
Recommend the best MCP servers for [task: e.g. automation & workflows work] in [client: Claude Desktop].

Constraints:
- Prefer tools that are [official | open-source | read-only] — pick what matters for my use case.
- Exclude MCPs that require [e.g. a paid plan, OAuth-only flows, remote-only transport].
- Return at most 3 picks, ranked.

For each pick include:
1. One-sentence rationale.
2. The ready-to-paste install snippet for my client.
3. Any required secrets I need to create before installing.

Cross-check the top-mcps.com listing: https://top-mcps.com/top-mcps-for-automation-workflows
Compare Activepieces against a real alternative. Swap the second MCP in [brackets] if you want a different match.
Compare Activepieces MCP vs [n8n MCP] for the following job: [describe the job, e.g. "let an agent create GitHub issues on bug triage"].

Judge them on:
- Setup time and complexity (what a new user hits first).
- Auth model (none / API key / OAuth 2.1) and credential risk.
- Transport (stdio / Streamable HTTP / SSE) and where the server runs.
- Required secrets and the blast radius if they leak.
- Operational risk in an unattended agent loop.
- Which one is "good enough" for a weekend prototype vs. production.

End with one sentence: which should I pick for my scenario, which is: [my scenario].

References:
- https://top-mcps.com/mcp/activepieces
- top-mcps.com listing for n8n
Asks the agent to install and verify. Works inside Claude Code, Cursor Agent, Codex CLI.
Install the Activepieces MCP server for my [client: Claude Desktop] at the default config path for that client.

Use the exact install snippet published at https://top-mcps.com/mcp/activepieces (fetch https://top-mcps.com/mcp/activepieces.json for the canonical server.json if you can read URLs).

Before finishing:
1. Create the required secrets () and put them in the appropriate env block — do not hard-code them.
2. Restart or reload the client so it picks up the new server.
3. Verify the server is connected (green / running state) and at least one tool is listed.
4. If anything fails, read the client's MCP logs and report the exact error — do not silently retry.

Confirm when done and list the tools the server now exposes.

Frequently asked questions

What changed

— 2 updates tracked.
  1. Refreshed install snippets and fact sheet; verified for 2026.

  2. Initial directory listing.

More Automation & Workflows MCPs

Other tools in the same category worth evaluating.

Zapier
Official

Expose 8,000+ Zapier integrations as tools your AI agent can call.

zapier, automation, integrations, workflow
5 minLow
Make.com
Official

Turn Make.com on-demand scenarios into agent-callable tools — official MCP.

make-com, automation, workflows, integromat
10 minMedium
Pipedream
Official

2,800+ apps and managed OAuth via Pipedream's hosted MCP at mcp.pipedream.com.

pipedream, automation, workflows, oauth
10 minMedium

Compared with Activepieces

Side-by-side breakdowns for the choices people most often weigh against this MCP.

Exploring Top MCPs for Automation & Workflows? See all Automation & Workflows MCPs →