工具参考

Activepieces 中所有 MCP 工具的完整目录

发现

这些工具始终可用(固定)且为只读。它们帮助 AI 代理在进行更改前了解项目内容。

ap_list_flows

列出当前项目中的工作流,包含状态、触发器类型和发布状态。

输入类型必需描述
limitnumber最大返回数量(默认 100,最大 500)
statusstring按状态筛选:ENABLEDDISABLED
namestring按工作流名称筛选(部分匹配)

ap_flow_structure

获取工作流的完整结构:步骤树、配置状态、步骤输入值、路由分支条件和有效的插入位置。显示每个步骤的实际配置输入(URL、请求体、请求头等),以便 AI 读取和编辑现有配置。

输入类型必需描述
flowIdstring工作流 ID

ap_read_step_code

读取 CODE 步骤的完整源代码、package.json 和输入映射。返回未截断的内容 —— 与 ap_flow_structure 不同,后者将代码截断为 300 个字符。

输入类型必需描述
flowIdstring工作流 ID
stepNamestringCODE 步骤的名称(例如 step_1
当您需要读取或编辑 CODE 步骤的完整源代码时使用此工具。`ap_flow_structure` 会截断代码以用于概览,因此在修改代码步骤前请始终调用 `ap_read_step_code`。

ap_validate_flow

验证工作流的结构问题,无需发布。检查步骤有效性、模板引用和空分支。

输入类型必需描述
flowIdstring工作流 ID

ap_research_pieces

研究可用的 Pieces。使用 pieceNames 进行批量精确查找(始终返回动作和触发器)。使用 searchQuery 进行模糊发现。

输入类型必需描述
pieceNamesstring[]要查找的精确 Piece 名称(始终返回动作和触发器)
searchQuerystring按名称筛选 Pieces
includeActionsboolean是否包含动作详情(仅适用于 searchQuery 模式)
includeTriggersboolean是否包含触发器详情(仅适用于 searchQuery 模式)

ap_get_piece_props

获取特定 Piece 动作或触发器的详细输入属性模式。返回字段名称、类型、必需/可选、描述、默认值和下拉选项。当需要认证但未提供时,自动列出可用连接。在调用 ap_update_stepap_update_trigger 之前使用此工具,以了解需要设置哪些字段。

输入类型必需描述
pieceNamestringPiece 名称(例如 @activepieces/piece-slack
actionOrTriggerNamestring动作或触发器名称(例如 send_channel_message
typestringactiontrigger
authstring连接外部 ID。提供后,动态下拉菜单和 DYNAMIC 子字段将被解析。
flowIdstring用于解析依赖步骤上下文的关联下拉菜单的工作流 ID。
inputobject用于解析依赖 DYNAMIC 属性的已知输入值(例如 {"body_type": "json"})。

ap_resolve_property_options

解析单个 Piece 属性的下拉选项。返回带标签和内部 ID 的可用选择。在配置步骤前使用此工具发现动态下拉字段(例如 Slack 频道、Google Sheets、邮件标签)的有效值。

输入类型必需描述
pieceNamestringPiece 名称(例如 @activepieces/piece-slack
actionOrTriggerNamestring动作或触发器名称(例如 send_channel_message
typestringactiontrigger
propertyNamestring要解析的精确属性名称(例如 channel
authstring连接外部 ID —— 必须提供以从用户帐户获取选项
inputobject此字段依赖的父属性值(refreshers)
searchValuestring用于筛选大下拉列表的搜索词(例如 “sales” 查找与销售相关的频道)
响应中的每个选项都有 `label`(人类可读名称)和 `value`(内部 ID)。配置步骤时请始终传递 **value** —— 切勿使用 label。例如,如果响应包含 `{label: "general", value: "C1234567890"}`,请使用 `"C1234567890"` 作为频道值。

ap_resolve_property_chain

一次调用解析一系列依赖的下拉属性。对于具有级联字段的动作(例如 Spreadsheet → Sheet → Columns),此工具按顺序解析每个属性,将每个选定值馈入下一个解析。为已知值的属性传递 selectedValue;当遇到没有 selectedValue 的属性时,工具停止并返回选项。

输入类型必需描述
pieceNamestringPiece 名称(例如 @activepieces/piece-google-sheets
actionOrTriggerNamestring动作或触发器名称(例如 insert_row
typestringactiontrigger
propertyChainarray要解析的有序属性列表(最多 10 个)。每项包含 propertyName(string)和可选的 selectedValue(any)。
authstring连接外部 ID —— 必须提供以从用户帐户获取选项
currentInputobject已知的额外输入值(例如 {"first_row_headers": true}
当字段之间存在依赖关系时,使用此工具替代多次调用 `ap_resolve_property_options`。例如,要解析 Google Sheets 列:为 `spreadsheetId` 和 `sheetId` 传递 `selectedValue`,不为 `values` 传递 —— 工具会解析整个链并一次调用返回列字段。

ap_validate_step_config

在应用前验证步骤配置。返回字段级错误,不修改任何工作流。

输入类型必需描述
stepTypestringPIECE_ACTIONPIECE_TRIGGERCODELOOP_ON_ITEMSROUTER
pieceNamestring对于 PIECE 类型:Piece 名称(接受短名称如 slack
actionNamestring对于 PIECE_ACTION:动作名称
triggerNamestring对于 PIECE_TRIGGER:触发器名称
inputobject对于 PIECE 类型:要验证的输入配置
authstring对于 PIECE 类型:任何非空字符串表示已提供认证
sourceCodestring对于 CODE:JavaScript/TypeScript 源代码
packageJsonstring对于 CODE:作为 JSON 字符串的 package.json
loopItemsstring对于 LOOP_ON_ITEMS:项目表达式
settingsobject对于 ROUTER:原始路由设置

ap_list_connections

列出项目中的 OAuth/应用连接。在添加需要认证的步骤前必需。

输入类型必需描述
pieceNamestring按 Piece 名称筛选。短名称如 slackgoogle-sheets 会自动扩展。
displayNamestring按连接显示名称筛选(部分匹配)
statusarray按状态筛选:ACTIVEMISSINGERROR

ap_list_ai_models

列出已配置的 AI 提供商及其可用模型。使用此工具发现配置运行 Agent 步骤的有效 aiProviderModel 值。

输入类型必需描述
providerstring按提供商筛选(openaianthropicgoogleazureopenrouteractivepiecescloudflare-gatewaycustom

ap_list_tables

列出项目中的所有表格及其字段(名称、类型、ID)和行数。

输入类型必需描述
无需输入

ap_find_records

从表中查询记录,支持可选筛选。

输入类型必需描述
tableIdstring表格 ID
filtersarray筛选条件(fieldName、operator、value)
limitnumber最大记录数(默认 50,最大 500)

筛选运算符: eqneqgtgteltlteco(包含)、existsnot_exists

ap_list_runs

列出最近的工作流运行,支持可选筛选。

输入类型必需描述
flowIdstring按工作流筛选
statusstring按状态筛选(SUCCEEDED、FAILED、RUNNING 等)
limitnumber最大运行数(默认 10,最大 50)

ap_get_run

获取工作流运行的详细信息,包括各步骤输出、错误和耗时。

输入类型必需描述
flowRunIdstring运行 ID

ap_setup_guide

获取设置连接或 AI 提供商的分步说明。返回供用户在 UI 中遵循的说明 —— 凭据从不通过 MCP 处理。

输入类型必需描述
topicstringconnectionai_provider
pieceNamestring对于连接:哪个 Piece 需要认证

ap_set_project_context

设置或清除当前项目上下文。所有工具都需要项目上下文才能运行。使用 projectId 选择项目,或不传参以清除选择。始终返回可用项目列表。

输入类型必需描述
projectIdstring要选择的项目 ID。省略以清除当前选择并列出可用项目。

工作流管理

创建和管理工作流。

ap_create_flow

创建新的空工作流。

输入类型必需描述
flowNamestring工作流的显示名称

ap_duplicate_flow

复制现有工作流。创建包含所有步骤、配置和画布笔记的新副本。连接和样本数据不会被复制。

输入类型必需描述
flowIdstring要复制的工作流 ID
namestring副本的名称(默认为 “Copy of {原始名称}“)
复制后,使用 `ap_flow_structure` 检查新工作流的配置状态。引用连接的步骤需要使用 `ap_update_step` 重新配置。

ap_rename_flow

重命名现有工作流。

输入类型必需描述
flowIdstring工作流 ID
displayNamestring新名称

ap_change_flow_status

启用或禁用工作流。

输入类型必需描述
flowIdstring工作流 ID
statusstringENABLEDDISABLED

ap_delete_flow

永久删除工作流及其所有版本。此操作不可撤销。

输入类型必需描述
flowIdstring要删除的工作流 ID

ap_lock_and_publish

发布工作流的当前草稿。验证所有步骤已配置。

输入类型必需描述
flowIdstring工作流 ID

工作流构建

在工作流中添加、配置和删除步骤。

ap_build_flow

一次调用创建完整工作流 —— 触发器加任意数量的步骤。步骤按顺序添加(trigger → step_1 → step_2 → …)。所有步骤在创建时即验证。使用细粒度工具(ap_add_stepap_update_step)修改现有工作流或添加嵌套结构(循环内容、路由分支)。

返回工作流 ID、指向编辑器中工作流的直接 flowUrl 链接、步骤数和验证状态。

输入类型必需描述
flowNamestring新工作流名称
triggerobject{pieceName, triggerName, input?, auth?}
stepsarray步骤规范数组,每个包含 typedisplayName 和类型专用字段

数组中的步骤类型:

  • PIECEpieceNameactionNameinputauthcontinueOnFailureretryOnFailure
  • CODEsourceCodeinputcontinueOnFailureretryOnFailure
  • LOOP_ON_ITEMSloopItems
  • ROUTER:创建包含分支 1 + 其他分支的路由器

ap_update_trigger

设置或更新工作流的触发器。

输入类型必需描述
flowIdstring工作流 ID
pieceNamestringPiece 名称(例如 @activepieces/piece-gmail
triggerNamestringPiece 中的触发器名称
inputobject触发器配置
authstring连接外部 ID
displayNamestring触发器步骤的显示名称

ap_add_step

向工作流添加新步骤。可选择在同一调用中通过提供 inputauthsourceCodeloopItems 进行配置。

输入类型必需描述
flowIdstring工作流 ID
parentStepNamestring要在其后/其中插入的步骤
stepLocationRelativeToParentstringAFTERINSIDE_LOOPINSIDE_BRANCH
stepTypestringCODEPIECELOOP_ON_ITEMSROUTER
displayNamestring步骤显示名称
pieceNamestring对于 PIECE 步骤
actionNamestring对于 PIECE 步骤
branchIndexnumber对于 INSIDE_BRANCH
inputobject步骤输入配置(键值对)
authstring连接外部 ID
sourceCodestring对于 CODE 步骤:JavaScript/TypeScript 源代码
packageJsonstring对于 CODE 步骤:npm 依赖
loopItemsstring对于 LOOP 步骤:项目表达式
continueOnFailureboolean对于 CODE/PIECE 步骤:此步骤失败时继续工作流(默认:false)
retryOnFailureboolean对于 CODE/PIECE 步骤:此步骤失败时重试(默认:false)

ap_update_step

更新现有步骤的设置。可选属性自动填充默认值。

输入类型必需描述
flowIdstring工作流 ID
stepNamestring步骤名称(例如 step_1
displayNamestring新显示名称
inputobject步骤配置
authstring连接外部 ID
actionNamestring对于 PIECE 步骤
loopItemsstring对于 LOOP 步骤
sourceCodestring对于 CODE 步骤:JavaScript/TypeScript 源代码
packageJsonstring对于 CODE 步骤:作为 JSON 字符串的 npm 依赖
skipboolean跳过此步骤
continueOnFailureboolean对于 CODE/PIECE 步骤:此步骤失败时继续工作流
retryOnFailureboolean对于 CODE/PIECE 步骤:此步骤失败时重试
在输入值中使用 `{{stepName.field}}` 语法引用前一步骤的数据(例如 `{{trigger.body.email}}`、`{{step_1.id}}`)。不要在路径中包含 `.output.`。

ap_delete_step

从工作流中删除步骤。

输入类型必需描述
flowIdstring工作流 ID
stepNamestring要删除的步骤
displayNamestring向用户显示的简短批准提示

路由与分支

管理路由器步骤中的条件分支。使用 ap_flow_structure 查看现有分支条件和索引。

ap_add_branch

向路由器步骤添加条件分支。该分支在回退(Otherwise)分支之前插入。

输入类型必需描述
flowIdstring工作流 ID
routerStepNamestring路由器步骤名称
branchNamestring分支的显示名称
conditionsarray条件数组(见下文)

条件格式: 外层数组 = OR 组,内层数组 = AND 条件。每个条件包含:

  • firstValue(string)—— 左侧值,可使用 {{step_1.field}} 模板语法
  • operator(string)—— 例如 TEXT_CONTAINSNUMBER_IS_GREATER_THANEXISTSBOOLEAN_IS_TRUE
  • secondValue(string,可选)—— 右侧值(单值运算符不需要)
  • caseSensitive(boolean,可选)—— 用于文本运算符

ap_update_branch

更新现有路由器分支的条件和/或名称,不影响其中的步骤。

输入类型必需描述
flowIdstring工作流 ID
routerStepNamestring路由器步骤名称
branchIndexnumber分支索引(从 0 开始)
branchNamestring新显示名称
conditionsarray新条件(格式与 ap_add_branch 相同)。完全替换现有条件。
无法在回退分支上设置条件 —— 回退分支只能更新 `branchName`。

ap_delete_branch

从路由器步骤中删除分支。不能删除回退(最后一个)分支。

输入类型必需描述
flowIdstring工作流 ID
routerStepNamestring路由器步骤名称
branchIndexnumber要删除的分支索引(从 0 开始)
displayNamestring向用户显示的简短批准提示

标注

ap_manage_notes

在工作流中添加、更新或删除画布笔记。

输入类型必需描述
flowIdstring工作流 ID
operationstringADDUPDATEDELETE
noteIdstringUPDATE/DELETE 必需
contentstring笔记文本(ADD 必需)
colorstring笔记颜色
positionobject{x, y} 画布位置
sizeobject{width, height} 笔记尺寸(默认 200x200)

表格

内置表格功能的完整 CRUD 操作。插入或更新记录时使用字段名称(而非 ID)。

ap_create_table

使用初始字段集创建新表格。

输入类型必需描述
namestring表格名称
fieldsarray字段:{name, type, options?}

字段类型: TEXTNUMBERDATESTATIC_DROPDOWN(需要 options 数组)

ap_delete_table

永久删除表格及其所有数据。

输入类型必需描述
tableIdstring表格 ID
displayNamestring向用户显示的简短批准提示

ap_manage_fields

在表格中添加、重命名或删除字段。

输入类型必需描述
tableIdstring表格 ID
operationstringADDUPDATEDELETE
fieldIdstringUPDATE/DELETE 必需
namestringADD/UPDATE 必需
typestringADD 必需
optionsarray对于 STATIC_DROPDOWN

ap_insert_records

向表格中插入一条或多条记录。

输入类型必需描述
tableIdstring表格 ID
recordsarray1-50 条记录,每个将字段名称映射到值

ap_update_record

更新记录中的特定单元格。仅更改指定的字段。

输入类型必需描述
tableIdstring表格 ID
recordIdstring记录 ID
fieldsobject字段名到新值的映射

ap_delete_records

永久删除一条或多条记录。

输入类型必需描述
recordIdsarray要删除的记录 ID
displayNamestring向用户显示的简短批准提示

测试与运行

测试工作流、检查结果和重试失败项。测试工具最长轮询 120 秒并返回分步结果。

ap_test_flow

在测试环境中端到端测试工作流。当没有样本数据时(例如 webhook 触发器),传递 triggerTestData 以提供模拟触发器输出。

输入类型必需描述
flowIdstring工作流 ID
displayNamestring向用户显示的简短批准提示
triggerTestDataobject模拟触发器输出数据。在运行测试前保存为样本数据。
工作流必须有配置好的触发器。该工具在运行前会验证并在不满足条件时返回清晰的错误。

ap_test_step

测试工作流中的单个步骤。运行直到并包括目标步骤的所有步骤。当没有样本数据时传递 triggerTestData

输入类型必需描述
flowIdstring工作流 ID
stepNamestring要测试的步骤
displayNamestring向用户显示的简短批准提示
triggerTestDataobject模拟触发器输出数据

ap_retry_run

重试失败的工作流运行。

输入类型必需描述
flowRunIdstring失败的运行 ID
strategystringFROM_FAILED_STEPON_LATEST_VERSION
  • FROM_FAILED_STEP:从失败处继续,保留前序步骤输出
  • ON_LATEST_VERSION:使用当前发布版本重新运行整个工作流

ap_run_action

执行一次单个 Piece 动作,无需构建或保存工作流。专为一次性任务设计,例如”查看我的收件箱”或”发送一条 Slack 消息”,这些场景构建完整的自动化显得有些大材小用。底层上,该工具创建一个一次性工作流、运行动作、返回输出,然后清理工作流 —— 用户不会在其工作流列表中看到它。

输入类型必需描述
pieceNamestringPiece 名称(例如 slack@activepieces/piece-slack)。使用 ap_research_pieces 发现。
actionNamestring要运行的动作(例如 send_channel_message)。使用 ap_get_piece_props 查看输入结构。
inputobject动作的完全解析输入。键必须匹配 Piece 动作的属性。传递原始值 —— 不要将它们包裹在 {{…}} 中。如果动作没有属性,完全省略。
connectionExternalIdstring来自 ap_list_connectionsexternalId。如果 Piece 需要认证则必需。服务端自动包装为 {{connections['externalId']}}。必须是纯 ID —— 拒绝特殊字符。
何时选择此工具 vs. `ap_build_flow`:
  • ap_run_action —— 一次性、用完即弃、立即返回结果。
  • ap_build_flow —— 应重复运行、按计划执行或由外部事件触发的持久化自动化。

建议先调用 ap_list_connectionsap_get_piece_props,以便在调用前了解确切的 actionName、预期的 props 和正确的 connectionExternalId。缺少必需输入或未知动作会在分派前产生友好的错误 —— 不会创建运行,也不会产生任何费用。