Skip to main content
Glama

vaara_intercept

Intercepts AI agent tool calls, scores risk, decides allow, deny, or escalate, and logs tamper-evident audit records before execution.

Instructions

Intercept an action with full risk scoring and audit trail. Classifies the action, scores risk with conformal prediction, decides allow/deny/escalate, and records everything in a tamper-evident audit trail. Returns the decision and action_id for later outcome reporting.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
agent_idNoIdentifier for the agentmcp-agent
tool_nameYesThe tool/action to intercept
confidenceNoAgent's self-assessed confidence (0.0-1.0)
parametersNoAction parameters
session_idNoSession identifier for grouping related actions

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.14.0

TDQS

A3.5/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does reasonably well: it discloses the decision space (allow/deny/escalate), that scoring uses conformal prediction, and that a tamper-evident audit record is written. It stops short of saying whether the intercepted action is actually blocked or whether execution is the caller's responsibility, which is important for a mutation-adjacent gate.

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?

Three tight sentences, front-loaded with the core purpose before the sub-steps and the return note. Slight redundancy between 'risk scoring' in sentence one and 'scores risk with conformal prediction' in sentence two, but overall efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Absent an output schema, the description usefully states what is returned (the decision and action_id). Given the multi-stage behavior and five parameters, the coverage is good, though the missing routing guidance relative to vaara_check leaves a genuine gap for an agent choosing between the two.

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 five parameters, including agent_id, confidence, parameters, and session_id. The description adds no format, constraint, or example meaning beyond that, so the baseline 3 applies.

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?

Names a specific verb ('Intercept') and resource ('an action') and enumerates the pipeline it runs (classify, score, decide, record). It is clear what the tool does, but it never distinguishes itself from the sibling vaara_check, which an agent could easily confuse it with.

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

Usage Guidelines2/5

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

No when-to-use guidance is given: it never says when to prefer this over vaara_check, whether it must precede vaara_report_outcome, or what preconditions apply. The only hint of usage is the trailing mention of action_id 'for later outcome reporting', which implies sequencing but states nothing explicit.

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