Skip to main content
Glama

Zovo Decision Tree

Server Details

Solves and draws a decision tree for business choices from your own numbers.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A4.3/5.0

Scored across 2 tools

Disambiguation5/5

The two tools are cleanly split: check_tree validates/solves a tree without drawing it, make_decision_tree draws and rolls back a tree with exports. Each description explicitly states the boundary ('does not draw the tree', 'do not use to estimate probabilities'), so an agent can pick correctly from a user's phrasing.

Naming Consistency4/5

Both names follow a verb_noun pattern (check_tree, make_decision_tree), which is readable and consistent in style. The minor inconsistency is the object naming: one uses the bare 'tree' while the other spells out the full 'decision_tree'.

Tool Count3/5

Two tools is thin for a decision-tree domain, even a narrow one, and sits at the borderline of the 3-15 ideal range. Each tool does earn its place, but the surface feels minimal.

Completeness4/5

The pair covers the core lifecycle: constructing/solving a tree and validating it, with clear handling of unreadable input. Gaps are minor: there is no separate solve-only or re-check/update operation, and no tool to inspect or reuse a previously made tree beyond the expiring download links.

Available Tools

2 tools
check_treeCheck decision treeA
Read-onlyIdempotent
Inspect

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.

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

NameRequiredDescription
rootNo
readyYes
shownNo
countsYes
issuesYes
limitsYes
objectiveYes
chance_nodesYes

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.

make_decision_treeMake decision treeA
Read-onlyIdempotent
Inspect

Use this when the user wants a decision tree drawn or solved: options of a decision, chance events with probabilities, and payoffs, for example "which option has the higher expected value" or "draw a decision tree for launching this product". Takes the tree as an indented outline or a JSON node list, the objective (max or min), a unit, decimals, a page size and a title. Rolls the tree back with fractions: the expected value of each node, the chosen option at each decision (ties listed), branch costs applied by a stated rule, and the risk profile of the chosen strategy. Refuses a tree whose chance probabilities do not add up to 1, naming the node and the sum, and end nodes without a payoff. Returns a summary, an interactive drawing, and PDF, SVG and CSV downloads. Up to 300 nodes. Does not estimate probabilities or give advice. Download links of large trees expire after about 1 hour.

NameRequiredDescriptionDefault
unitNoUnit or currency shown with values, up to 12 characters, e.g. "$", "EUR" or "hours".
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}].
titleNoTitle printed on the drawing and used in file names, up to 80 characters, e.g. "Product launch".
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".
decimalsNoDecimals shown in the drawing and summary, 0 to 6 (default 2), e.g. 2. The CSV also has the fraction.
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.
page_sizeNoPDF page: letter (default) or a4. Landscape unless portrait needs fewer pages.

Output Schema

NameRequiredDescription
pdfYes
rootYes
tiesYes
unitYes
nodesYes
rulesYes
shownNo
titleYes
checksYes
countsYes
issuesYes
decimalsYes
strategyYes
warningsYes
downloadsYes
objectiveYes
risk_profileYes

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description adds substantial behavior beyond them: fractional rollback semantics, tie listing, branch-cost rule, validation refusals naming the offending node and sum, a 300-node cap, the concrete return artifacts, and the ~1 hour expiry on large-tree download links. That is exactly the operational context annotations cannot carry.

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?

It is a single dense paragraph but front-loaded with the trigger condition and free of filler; each sentence adds scope, input, output or a limit. The size is justified by the tool's complexity, though a short bulleted split of inputs vs. guarantees would scan faster.

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 7-parameter combinatorial tool with an output schema, the description covers input modes, limits (300 nodes), failure modes, output artifacts and link expiry. Nothing an agent needs in order to call it correctly appears to be 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 the baseline is 3; the description earns one more by framing outline and nodes as alternative input modes for the same tree (an either/or relationship the schema lists as two independent properties). It also flags that costs are applied 'by a stated rule', though it does not state the rule, leaving some ambiguity.

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 ('decision tree drawn or solved') and enumerates the concrete inputs and outputs (rollback with expected values, chosen option, PDF/SVG/CSV). It never names the sibling check_tree, so an agent must infer the boundary between 'make' and 'check' on its own, which keeps this out of the top band.

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 gives explicit trigger phrases ('which option has the higher expected value', 'draw a decision tree for launching this product') and a clear scope exclusion ('does not estimate probabilities or give advice'). It does not name alternatives or say when to prefer check_tree instead, and the built-in validation refusal partially overlaps what a check tool would do.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updates
    • First observedcheck_tree
    • First observedmake_decision_tree

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables users to choose among seven decision-making frameworks and work through them step by step with their own situation, ending with one clear decision and a next action. It also chains multiple frameworks for larger decisions and provides model guides and recommendations.
    1
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    A tree whose vocabulary, rules and solvers are data, edited at runtime through generic tree_* tools. Rules go red on the node that breaks them, so it works as a design-dexision ledger on any checked knowledge base.
    14
    Apache 2.0
  • A
    license
    A
    quality
    D
    maintenance
    A decision structure analysis engine that transforms emotional dilemmas into structured frameworks by identifying variables, constraints, and strategy paths. It helps users evaluate risk distributions and cognitive biases without offering subjective advice or definitive answers.
    2
    5 npm
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources