Skip to main content
Glama
AxonityAI

Axonity Flow MCP Server

Official
by AxonityAI

apply_workflow_mutations

Submit ordered mutation commands to modify a workflow draft: add or remove steps, connect edges, and set conditions. Returns a summary of applied changes.

Instructions

Apply structural mutation commands to a workflow draft (add/remove steps, connect edges, set conditions). Read the workflow first for its version. Commands are applied IN ORDER, one backend call each, with the version threaded automatically — pass the version you read, not one per command.

RESPONSE IS A SUMMARY, not the document: version, appliedCount, launchable, validationIssues, stepCount, edgeCount. A real workflow document can exceed the response limit, which would turn a call that SUCCEEDED into an error you must not retry. Pass returnDocument: true, or call read_workflow, when you need the document itself.

Not transactional: if command N fails, commands before it stay applied and the error reports how many landed and which index failed — resume from there, do NOT replay the list. On a 409 conflict, re-read and retry.

Each command is { "type": "add_step", "payload": { … } }; the flat form { "type": "add_step", … } is accepted too. Valid types: update_workflow, add_trigger, update_trigger, remove_trigger, update_trigger_operator, group_triggers, ungroup_triggers, move_trigger, add_step, add_loop, update_step, remove_step, move_step, add_edge, update_edge, remove_edge, add_decision_condition, convert_to_loop, setup_loop_decision, advanced_edit, attach_output_schema, detach_output_schema.

PAYLOAD CONTRACT:

  • add_step builds a COMPLETE step in ONE call: { name, position: {after|before: , …} } are required, and id, type, typeId, config, contract, inputs, outputs and edgeType are all accepted alongside them. No follow-up update_step is needed merely to fill the step in.

  • add_edge accepts the document's own from/to as well as fromStepId/toStepId, and HONOURS an id you supply rather than replacing it, so ids stay diffable against an environment you are reproducing.

  • Payloads are STRICT: an unknown or misspelled key is a 422 that names it, never a silent drop. Read the error instead of assuming a value landed.

TWO INVARIANTS RUN AFTER EVERY EDIT, and the response reports what they did in systemAdjustments (addedEdges / removedEdges / rederivedInputs):

  • Every step is guaranteed to reach the END point; the platform wires that edge itself. An edge you did not ask for is this, and it is listed.

  • A bound input's contract, its description included, is DERIVED from the output it reads and cannot be authored on its own. Set the text on the PRODUCING step's output; a downstream description changing by itself is this rule at work, and the inputs it re-derived are listed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesThe workflow's id.
mutationsYesMutation commands to apply in order, each a JSON object with a `type` and its arguments (camelCase), either nested under `payload` or inline.
returnDocumentNoInclude the full workflow document in the response. Defaults to false — a real document can exceed the response limit and turn a successful call into an error. Prefer read_workflow when you need it.
expectedVersionYesThe version you last read. Only the FIRST command uses it; later commands use the version returned by the previous one.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully carries the burden, covering version threading, response summary format, response limit pitfalls, non-transactional execution, error and conflict handling, payload format and contract, strict validation, and two platform invariants. This is comprehensive behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections and front-loaded purpose. While it is lengthy, every sentence adds value. Minor potential for trimming, but overall it's effectively organized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description explains the response summary fields and when a full document is available. It covers error scenarios, invariants, and detailed payload rules. For a complex mutation tool, this provides complete contextual information for agent invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds significant meaning beyond the schema: how expectedVersion is used (only first command), mutations format (types list, inline vs nested payload), returnDocument risk and alternative, and detailed payload contracts for add_step and add_edge. This greatly enhances parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'apply' and the resource 'structural mutation commands to a workflow draft', listing specific actions (add/remove steps, connect edges, set conditions). This distinguishes it from sibling tools like update_workflow or replace_workflow_document.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description advises reading the workflow first for its version, explains when to use returnDocument:true vs calling read_workflow, and provides error recovery guidance (non-transactionality, 409 handling). It stops short of explicitly contrasting with alternatives like update_workflow, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AxonityAI/axonity-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server