Skip to main content
Glama

NOMOS

verify_decision

Read-onlyIdempotent

Check whether an AI decision is allowed, denied, or needs escalation according to a sealed NOMOS governance artifact. Always returns allowed (boolean) — that field is safe to read regardless of which artifact type answered. The rest of the shape genuinely differs by artifact type, because it proxies two different underlying endpoints: pub_ demo artifacts return a flat shape (outcome: auto_approved/auto_rejected/escalated, rule_applied, rule_reference, flat confidence and audit_hash); your own sealed artifacts from Studio return a nested shape (verdict: approved/rejected/escalated, a nested rule object, and nested confidence/audit/performance objects). See outputSchema for both exact shapes — do not assume one without checking which kind of artifact_id was passed. Use artifact IDs starting with pub_ for public demo artifacts that require no API key: pub_lending_v1 (loan approval), pub_refund_v1 (refund policy), pub_fraud_v1 (fraud detection), pub_hr_leave_v1 (HR leave approval), pub_kyc_v1 (KYC/identity).

Input Schema

NameRequiredDescriptionDefault
inputsYesKey/value input fields for rule evaluation (e.g. {"amount": 5000, "credit_score": 720}). Fields must match the artifact's declared data contract.
api_keyNoNOMOS API key (nmk_live_...). Not required for pub_ artifacts.
decisionYesThe action or decision being checked, as a verb phrase (e.g. "approve_loan", "process_refund", "approve_leave"). Should match an action defined in the artifact.
domain_idNoYour NOMOS domain ID. Required for custom artifacts created in Studio. Not needed for pub_ artifacts.
artifact_idYesSealed artifact ID to evaluate against. Use pub_lending_v1, pub_refund_v1, pub_fraud_v1, pub_hr_leave_v1, or pub_kyc_v1 for public demos. Use your own artifact ID from Studio for custom governance.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and closed-world, so the safety profile is covered. The description adds genuine non-annotation context: the response shape is not uniform, `allowed` is the only field safe to read across both variants, and the two shapes correspond to two different backend endpoints. It stops short of stating failure modes (invalid artifact_id, contract mismatch on inputs) or rate limits.

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?

The core guarantee ("Always returns `allowed`") is front-loaded and the shape divergence is explained before the artifact list. It is information-dense but the enumeration of pub_* IDs and their domains duplicates the schema's artifact_id description, which is the one removable block.

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 polymorphic response, nested objects, and mixed authentication requirements, the description covers auth (no key for pub_*), the polymorphic return contract, a cross-reference to outputSchema for exact shapes, and the available demo artifacts. An agent has everything needed to call it correctly without guessing the response shape.

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 every parameter including the pub_* ID list and the api_key/domain_id split is already documented in structured data. The description largely restates the schema's artifact_id guidance rather than adding new meaning about how `decision` must match an artifact action or how `inputs` keys are validated. Baseline 3 applies when the schema carries the load.

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?

"Check whether an AI decision is allowed, denied, or needs escalation according to a sealed NOMOS governance artifact" names a specific verb (check/verify), a specific resource (a decision against a sealed artifact), and the three possible outcomes. It is clearly distinguishable from siblings generate_governance (producing artifacts) and detect_contradictions (auditing rules), and the mention of artifact types further narrows the scope.

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?

The description gives concrete routing guidance between artifact classes: use pub_* IDs for public demos with no API key, and your own Studio artifact IDs (plus domain_id) for custom governance. It does not explicitly state when to prefer this tool over ask_authority, so the sibling-level exclusion is missing, but the intra-tool selection guidance is strong.

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