Skip to main content
Glama

Quesen Deterministic Agent Decision Layer

quesen.simulate

Counterfactual scoring. Compare the baseline decision against a simulated decision under caller-supplied weights_override / thresholds_override. Free sales asset — not charged against key.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
domain_age_daysNoAge of the target domain in days. Same feature as quesen.validate; combined with the (possibly overridden) weights to produce a counterfactual risk score.
engagement_ratioNoEngagement ratio in [0, 1]. Same feature as quesen.validate; used with the (possibly overridden) weights during simulation.
weights_overrideNoOptional per-feature weight override used ONLY for this simulation. When null (or omitted) the engine uses its production weights. Does NOT mutate global state.
client_request_idNoOptional caller-side trace id. Echoed verbatim in the response for cross-system correlation.
scam_keyword_countNoCount of known scam keywords detected. Same feature as quesen.validate; used with the (possibly overridden) weights.
thresholds_overrideNoOptional decision-threshold override used ONLY for this simulation. When null the engine uses its production thresholds. Does NOT mutate global state.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed11 schema fields changed
    • addedInput schema / properties / client_request_id / description
      Added value: +"Optional caller-side trace id. Echoed verbatim in the response for cross-system correlation."
    • addedInput schema / properties / domain_age_days / description
      Added value: +"Age of the target domain in days. Same feature as quesen.validate; combined with the (possibly overridden) weights to produce a counterfactual risk score."
    • addedInput schema / properties / engagement_ratio / description
      Added value: +"Engagement ratio in [0, 1]. Same feature as quesen.validate; used with the (possibly overridden) weights during simulation."
    • addedInput schema / properties / scam_keyword_count / description
      Added value: +"Count of known scam keywords detected. Same feature as quesen.validate; used with the (possibly overridden) weights."
    • addedInput schema / properties / thresholds_override / description
      Added value: +"Optional decision-threshold override used ONLY for this simulation. When null the engine uses its production thresholds. Does NOT mutate global state."
    • addedInput schema / properties / thresholds_override / properties / review / description
      Added value: +"Risk score at or above which the counterfactual decision becomes REVIEW (below `skip`)."
    • addedInput schema / properties / thresholds_override / properties / skip / description
      Added value: +"Risk score at or above which the counterfactual decision becomes SKIP."
    • addedInput schema / properties / weights_override / description
      Added value: +"Optional per-feature weight override used ONLY for this simulation. When null (or omitted) the engine uses its production weights. Does NOT mutate global state."
    • addedInput schema / properties / weights_override / properties / domain_age / description
      Added value: +"Weight applied to the domain_age_days feature during counterfactual scoring."
    • addedInput schema / properties / weights_override / properties / engagement / description
      Added value: +"Weight applied to the engagement_ratio feature during counterfactual scoring."
    • addedInput schema / properties / weights_override / properties / scam_keywords / description
      Added value: +"Weight applied to the scam_keyword_count feature during counterfactual scoring."
  2. First observed

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the disclosure burden. It does reveal that calls are free/not key-charged and that this is a simulation rather than a production decision, but it omits output shape, side-effect behavior, and where the baseline decision comes from.

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?

Three short declarative statements with no filler. The core action is front-loaded, and the billing note is useful additional context placed at the end.

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?

The schema richly documents parameters, but there is no output schema and the description never says what the response contains. It also leaves the 'baseline decision' undefined. For a simulation tool an agent may need more context to verify the result is the expected counterfactual comparison.

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%, so the schema already documents all six parameters. The description adds that weights_override and thresholds_override are the mechanism for the counterfactual simulation, but this largely echoes the parameter descriptions. No significant new parameter-level meaning is added.

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 description leads with 'Counterfactual scoring' and a specific action: compare the baseline decision against a simulated decision under caller-supplied weight/threshold overrides. This clearly identifies what the tool does and separates it from the validate/report/health/version siblings.

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

Usage Guidelines3/5

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

The 'Free sales asset — not charged against key' line gives billing context, and 'counterfactual scoring' implies when it should be used. However, it never explicitly names alternatives (e.g., quesen.validate for real decisions) or states when not to use this tool.

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.

TDQS

A4/5.0
Disambiguation5/5

Each tool has a clearly distinct role: health for liveness, validate for pre-decision risk, report for post-decision feedback, simulate for counterfactual scoring, and version for configuration. Even the minor overlap between health and version is resolved by their descriptions (liveness probe vs. full config).

Naming Consistency4/5

All tools share a consistent 'quesen.' prefix and lowercase single-word naming, which is predictable. However, the suffix words are not uniformly verbs or nouns (health, version vs. validate, simulate), so the semantic pattern is mildly inconsistent.

Tool Count5/5

Five tools is well-scoped for a decision-layer server. Each tool covers a distinct core concern without redundancy or excessive surface area.

Completeness4/5

The set covers the core decision lifecycle: validate pre-decision, report post-decision, simulate counterfactuals, and inspect configuration. The main minor gap is that aggregated report results are described but there is no tool to retrieve them.