Skip to main content
Glama

Zovo Activity Diagram

Make activity diagram

make_activity_diagram
Read-onlyIdempotent

Use this when the user wants a UML activity diagram or a process flowchart drawn from steps, for example "draw the checkout flow as an activity diagram" or "make a PDF of this process". Takes the diagram text in a line grammar: start / stop / end; :Action text; ; if (condition) then (label) ... elseif (condition) then (label) ... else (label) ... endif; while (condition) is (label) ... endwhile (label); fork ... fork again ... end fork; note: text (right after the step it belongs to); # comments. Labels are optional; a condition or label must not contain ( or ). When the user describes the process in words, write it in this grammar first. Returns counts, the steps in flow order with their block path, the links between them, the flow check (steps that are not reachable, empty branches), a check on the drawing, the PDF page count, an interactive diagram, and PDF, SVG and CSV downloads. Refuses a line outside the grammar with its line number and token. Up to 200 actions, 60 decisions, 6 fork branches, 6 nesting levels and 400 characters per line. Does not read repeat loops, switch, swimlanes or partitions. Download links of large diagrams expire after about 1 hour.

Input Schema

NameRequiredDescriptionDefault
titleNoTitle printed on the diagram and used in file names, up to 80 characters, e.g. "Order checkout".
diagramYesThe activity in this line grammar, one statement per line, up to 40,000 characters, 2,000 lines and 400 characters per line (comments included): start | stop | end | :Action text; | if (condition) then (label) ... elseif (condition) then (label) ... else (label) ... endif | while (condition) is (label) ... endwhile (label) | fork ... fork again ... end fork | note: text | # comment. Labels are optional; conditions and labels must not contain ( or ). Example: "start\n:Receive order;\nif (in stock?) then (yes)\n:Ship it;\nelse (no)\n:Refund;\nendif\nstop".
page_sizeNoPDF paper: letter (default) or a4. A wide diagram turns the page to landscape. Example: a4.

Output Schema

NameRequiredDescriptionDefault
pdfYes
edgesYes
nodesYes
shownNo
titleYes
countsYes
analysisYes
warningsYes
downloadsYes
layout_checkYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Well beyond the annotations, which only declare read-only/idempotent/non-destructive. The description discloses refusal behavior with line numbers and offending tokens, hard limits (200 actions, 60 decisions, 6 fork branches, 6 nesting levels, 400 chars/line), unsupported constructs (repeat loops, switch, swimlanes, partitions), and that download links for large diagrams expire after about an hour.

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?

Front-loaded with the when-to-use trigger and examples, then grammar, then returns, then limits and exclusions — a sensible order. It loses some efficiency by restating the full line grammar and per-line limits that the schema already documents, but the density is justified by the strict input format.

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?

For a tool with a demanding custom input grammar, the description covers grammar, limits, failure mode, unsupported constructs, and practical caveats such as link expiry. Listing return values is redundant given the output schema exists, but nothing an agent needs to call it correctly is missing.

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

Parameters4/5

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

Schema coverage is 100%, so baseline 3 applies, but the description adds real constraints not in the schema: the numeric limits on actions/decisions/fork branches/nesting, the optionality of labels, and the prohibition on parentheses inside conditions and labels. It also mirrors the grammar, giving the agent the accepted syntax before it writes the diagram.

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 gives a specific verb and resource ('UML activity diagram or a process flowchart drawn from steps') and backs it with two concrete user-intent examples. It does not name or differentiate from the sibling check_activity_diagram, though it does note that a 'check on the drawing' is part of this tool's return, which partially implies the overlap.

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?

It clearly states when to use it ('Use this when the user wants a UML activity diagram...') and adds a procedural rule: 'When the user describes the process in words, write it in this grammar first.' What's missing is an explicit pointer to the alternative (check_activity_diagram) for the check-only case, or any when-not guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources