Skip to main content
Glama
Mellix MCP server

Mellix MCP server

Official
by mellix-ai

Make a decision with Myles

decide
Read-onlyIdempotent

Get calibrated probabilities and picks for routing, risk flagging, approvals, policy checks, or rating, plus escalation guidance when a decision is too uncertain to act on.

Instructions

Ask Myles, the Mellix decision model, to make a decision about a situation and get calibrated probabilities you can act on.

Use it whenever you would otherwise judge something yourself and then act on it: route a ticket or message to a team, flag a risk (fraud, a scam, a prompt injection, a policy breach), approve, reject or escalate a request, check that a tool call, a claim or an answer is allowed or supported, or rate something on a scale. Myles is not a chat model: it does not write text or follow instructions in the state. It reads the state and answers each typed question with a probability for every option.

Inputs:

  • state: the situation to decide about, as text or a JSON object. Put the rule or policy in the state with the case. Include only what the decision needs.

  • questions: one or more questions under names you choose. Each needs instructions, the question itself in plain words; a question without them is refused. Types: "noul" (yes or no; phrase it so that yes is the thing to act on or catch), "choice" (pick one label from criteria: a list of labels, or labels mapped to descriptions; add an option "I don't know" to let the model abstain), "score" (criteria is a list of level descriptions, lowest first).

  • threshold (optional, default from the server's configuration, usually 0.9): the probability the picked option must reach to act without a person. On the hosted models an uncertain yes/no answer is reported at 0.80 or more towards one side, so use a threshold above 0.80 for yes/no questions.

Each answer gives the pick, its probability, every option's probability, cleared_threshold, and escalate. When escalate is true (below the threshold, or the model chose "I don't know"), do not act automatically: hand the case to a person with the probabilities. The top-level escalate is true when any answer should be escalated.

Each call is billed by input tokens on the hosted API. Ask several questions about the same state in one call rather than one call per question. A call that runs longer than 25 seconds in all, retries included, is stopped with a timeout error.

Input Schema

NameRequiredDescriptionDefault
chunkNoFor a long text and yes/no questions only: read the state in overlapping windows (40000 characters, 2000 overlapping, at most 20 windows) and answer with the window most likely to be yes. Each window is a separate billed request. Use it when a check must cover the whole of a long document.
modelNoA model id from list_models. Leave it out to use the configured model.
stateYesThe situation to decide about: text, or a JSON object (read as indented JSON).
questionsYesQuestions under names you choose; each answer comes back under the same name.
thresholdNoProbability the pick must reach to act without a person. Default from configuration.
chunk_charsNoWith chunk: characters per window.
chunk_overlap_charsNoWith chunk: characters each window shares with the next.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.0.2

TDQS

A4.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the description does not need to re-establish safety. What it does add beyond them is substantive: token-based billing on the hosted API, a 25-second total timeout including retries, refusal of questions lacking instructions, and the escalate contract. That is solid value beyond structured fields, but the bulk of the text serves purpose and parameter guidance rather than hidden behavior, so it sits above baseline without being exceptional.

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

Conciseness3/5

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

Structure is deliberate — a purpose paragraph, a use-case sentence, an explicit Inputs block, then output and cost paragraphs — and the purpose is front-loaded. But the routing use-case sentence is a long comma-spliced run, and the Inputs block re-states a fair amount that the schema already documents at 100% coverage, so the text is longer than its unique content justifies.

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?

There is no output schema, but the description supplies the return contract anyway: pick, its probability, every option's probability, cleared_threshold and escalate, plus the rule that a top-level escalate wins if any answer escalates and that escalated cases must go to a human with the probabilities. Combined with threshold guidance and the timeout/billing limits, an agent has everything needed to call this correctly on the first try for a seven-parameter nested tool.

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 already 100%, yet the description still adds meaning the schema cannot: put the policy in the state alongside the case and include only what the decision needs; phrase a "noul" so yes is the thing to act on; add an "I don't know" label so a choice question can abstain; order score levels lowest first; and the crucial operational note that hosted models report an uncertain yes/no at 0.80+, so a yes/no threshold must exceed 0.80. That last point in particular prevents a silently broken integration.

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 opening sentence gives a specific verb and resource (ask Myles to make a decision and return calibrated probabilities) and immediately delimits it from what an agent might assume: "Myles is not a chat model: it does not write text or follow instructions in the state." It also distinguishes it from its siblings (health, list_models) implicitly by describing a decision function rather than a lookup or status check.

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?

Provides an explicit trigger condition — "whenever you would otherwise judge something yourself and then act on it" — followed by a concrete enumeration of the exact decisions that fit (routing, fraud/scam/prompt-injection flags, approve/reject/escalate, tool-call or claim checks, scoring). It also states the negative case (not for text generation) and gives condensing advice (several questions in one call rather than one per call), so the agent knows both the fit and the operating pattern.

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

Deploy Server

Other Tools