Skip to main content
Glama

upsert_canvas_workflow

Create or update a canvas workflow with nodes and connections, then publish it privately or via a DAO proposal for public governance.

Instructions

Create/update a canvas workflow entity and publish privately or via DAO proposal

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesWorkflow name
nodesYesCanvas workflow nodes
daoSpaceIdNoDAO space bytes16 ID (required for public)
visibilityNoprivate
votingModeNoVoting mode for DAO proposals
workflowIdNoExisting workflow entity ID to update
connectionsYesCanvas workflow connections
descriptionNoOptional workflow description
daoSpaceAddressNoDAO space contract address (required for public)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.8.0

TDQS

B3.2/5.0
Behavior3/5

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

The annotation surface is minimal (only readOnlyHint: false), so the description carries the burden of disclosing behavior. It does add value by revealing the dual-path behavior of the tool — private publishing versus DAO-proposal publishing — which is not apparent from the schema alone. However, it remains vague about the mechanics of the DAO path: it does not say whether a proposal is created on-chain, whether daoSpaceId/daoSpaceAddress are prerequisites, or what side effects 'publish privately' has. No contradiction with readOnlyHint: false.

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

Conciseness5/5

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

A single front-loaded sentence with zero wasted words: the core verb and resource come first, followed by the two behavioral modes. Every phrase earns its place, and nothing is duplicated from the schema.

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

Completeness2/5

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

For a tool with 9 parameters, no output schema, and only one weak annotation, the one-line description is insufficient. It leaves major operational unknowns unresolved: when workflowId triggers update versus create, what daoSpaceId and daoSpaceAddress are actually required for, what votingMode (FAST/SLOW) controls, what the return value is (entity ID? proposal ID?), and how this tool relates to upsert_workspace_entity and propose_dao_edit. The schema fills parameter names but not the workflow logic connecting them.

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

Parameters3/5

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

Schema description coverage is 89%, so the schema already documents 8 of 9 parameters, placing this at the baseline of 3. The description adds limited marginal value by linking 'DAO proposal' to the public visibility path and thereby hinting at the role of votingMode and daoSpaceId/daoSpaceAddress, but it provides no parameter-level detail beyond what the schema states.

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

Purpose4/5

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

The description states a specific verb+resource pair — 'Create/update' a 'canvas workflow entity' — which clearly identifies what the tool operates on. It adds the publishing behavior ('publish privately or via DAO proposal'), which meaningfully distinguishes it from generic entity tools like create_entity and update_entity. It stops short of a 5 because it never explicitly names its near-sibling upsert_workspace_entity, leaving the agent to infer the difference.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives. The tool has 43 siblings, including the near-identical upsert_workspace_entity and publishing-focused tools like publish_edit and propose_dao_edit, yet the description neither names these alternatives nor states an exclusion condition. The phrase 'publish... via DAO proposal' actually creates ambiguity about whether the agent should call this tool or a dedicated proposal tool.

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