Skip to main content
Glama

Zovo Decision Tree

Check decision tree

check_tree
Read-onlyIdempotent

Use this when the user wants a decision tree checked without a drawing, for example "do my probabilities add up to 1" or "is anything missing in this tree". Takes the same outline or node list and objective as make_decision_tree. Returns, for each chance node, the sum of its branch probabilities as a fraction and whether it is 1; end nodes without a payoff; probabilities on decision options; payoffs on nodes that have branches; single-option decisions; duplicate branch names; and the depth and node counts against the limits. When nothing is wrong it also gives the root expected value. Refuses a tree it is unable to read (unknown parent, a loop, two roots, over the limits), naming the line or id. Does not draw the tree or make files. Do not use it to estimate probabilities.

Input Schema

NameRequiredDescriptionDefault
nodesNoThe tree as a JSON list instead of outline: each node has id, parent (not for the root), label, and p, cost or payoff as needed, e.g. [{"id":"r","label":"Launch?"},{"id":"a","parent":"r","label":"Do not launch","payoff":0}].
outlineNoThe tree as indented text, one node per line, children indented under their parent (spaces or tabs, "- " bullets allowed). The first line is the root. Fields after the label: p=<probability> on branches of a chance node, cost=<amount> on any branch, payoff=<amount> on end nodes; separate them with spaces or "|". A node whose branches have p is a chance node, a node with branches and no p is a decision, a node with no branches is an end node; "Decision:", "Chance:" or "End:" before a label states the type. Numbers: decimals (0.35, -1,200.50, $300), fractions (1/3), and percents for p (35%). Up to 300 nodes. Example: "Launch? | decision\n Launch | cost=200\n Strong demand | p=0.6 | payoff=1000\n Weak demand | p=0.4 | payoff=-300\n Do not launch | payoff=0".
objectiveNomax (default): choose the option with the highest expected value, for profit or gain. min: choose the lowest, when payoffs are costs, losses or time. Example: max.

Output Schema

NameRequiredDescriptionDefault
rootNo
readyYes
shownNo
countsYes
issuesYes
limitsYes
objectiveYes
chance_nodesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Goes well past the readOnly/idempotent annotations by disclosing exactly which defects are reported, that a clean tree additionally yields the root expected value, and that it refuses unreadable trees (unknown parent, loop, two roots, over limits) with the offending line or id named. That refusal/error behavior is the kind of thing annotations cannot express.

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 the return payload, then refusals, then exclusions — a sensible order. The middle sentence is a long semicolon-delimited enumeration of checks that is dense but each item is a distinct diagnostic, so little is truly filler.

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 validating tool with 3 optional params, the description covers triggers, accepted inputs, every reported defect category, the clean-case extra output, and hard failure modes. Even though an output schema exists, the enumeration of diagnostics makes the result shape predictable before calling.

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 100%, including a full outline grammar and worked example, so the description's input discussion is largely a pointer to parity with make_decision_tree rather than new semantics. The only added meaning is that both outline and node list forms are accepted here just as in the sibling, which is useful but modest.

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?

States a specific verb and resource ("checked" / "decision tree") and immediately scopes it as validation-only ("without a drawing"). It explicitly contrasts with make_decision_tree by saying it takes the same input but does not draw or create files, so an agent can distinguish the two without reading either schema.

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

Usage Guidelines5/5

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

Gives concrete trigger phrasing the user might say ("do my probabilities add up to 1", "is anything missing in this tree") plus an explicit exclusion: "Do not use it to estimate probabilities" and "Does not draw the tree or make files." The alternative sibling is named and the relationship (same inputs, different output) is spelled out.

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