Skip to main content
Glama
vigilai-tech

record-mcp

by vigilai-tech

check_trace_chain

Read-onlyIdempotent

Validates RECORD trace chains against per-trace and cross-trace rules, flagging duplicate record_ids, version drift, unreviewed escalations, status regressions, and SAR deadline issues.

Instructions

Check a chain of RECORD traces: every per-trace rule plus cross-trace rules.

Cross-trace rules include duplicate record_ids, agent version drift within a case, escalations closed without human review, human overrides the agent reasserted, outcome status regressions, and SAR filing deadlines. Returns the chains found, per-trace reports, chain violations, and overall status.

Input Schema

NameRequiredDescriptionDefault
pathNoPath to a .json (object or array) or .jsonl file. Only available when the server runs over stdio.
tracesNoRECORD traces as a JSON array (or a JSON/JSONL string). Omit when using `path`.
group_byNoHow to split traces into chains. 'auto' groups by decision_lineage.case_id, falling back to investigation_thread_id; 'none' treats the whole input as one chain.auto
frameworksNoOnly evaluate rules citing these framework ids (see list_frameworks), and run their field-gap analyses. Default: all rules; gap analyses chosen from each trace's authority_basis.
include_gapsNoInclude per-regulation missing-field (GAP.*) violations.
input_formatNo'record' for RECORD documents, 'openinference' for OpenInference span dicts (converted with record-py's adapt_span).record
min_severityNoDrop violations below this severity.info

Output Schema

NameRequiredDescriptionDefault
chainsYes
countsYesTotals across per-trace and chain violations.
errorsNo
statusYes
tracesYes
trace_countYes
chain_violationsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and a closed-world hint, so safety is covered. The description adds real value beyond them: it names the specific cross-trace rule families evaluated and states what comes back ('chains found, per-trace reports, chain violations, and overall status'), giving the agent a concrete mental model of output shape and detection scope.

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 core action in the first clause, followed by a compact enumeration of rule families and return values in a second paragraph. It is dense but every element earns its place; the only mild cost is the long mid-paragraph list, which reads more as an inventory than as guidance.

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?

An output schema exists, so return values need not be fully spelled out, yet the description still summarizes them briefly. Combined with annotations covering the read-only/idempotent profile and a fully documented 7-parameter schema, an agent has enough to call this correctly. The remaining gap is explicit sibling routing to check_trace.

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% and every parameter carries its own description, including enums for group_by, input_format and min_severity, so the schema does the heavy lifting. The description adds only marginal semantics, mainly relating the frameworks filter to list_frameworks. Baseline 3 is appropriate.

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 ('Check a chain of RECORD traces') and immediately clarifies scope: all per-trace rules plus cross-trace rules. That distinguishes it from the sibling check_trace, which operates on a single trace, without needing to open 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 Guidelines3/5

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

Usage is only implied by the word 'chain' and by the enumeration of cross-trace rules (duplicates, version drift, escalations, overrides, regressions, SAR deadlines). It never explicitly says when to choose this over check_trace, nor does it state prerequisites such as needing multiple traces or a grouping key. The list_frameworks pointer is a useful routing hint but is about a parameter, not usage selection.

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