TrustAI Verification
Server Details
Neutral referee for legal-AI output: flags orphan quotes and uncited claims. Not legal advice.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-03-26
- URL
TDQS
Scored across 4 tools
Each tool serves a distinct purpose: get_descriptor provides metadata, get_health reports status, list_checks enumerates checks, and review_legal_text performs the core review. There is no overlap or potential for confusion between them.
All tool names follow a consistent verb_noun pattern (get_*, list_*, review_*). The naming is uniform and predictable, making it easy to understand the action each tool performs.
With 4 tools, the surface is tightly scoped to the server's purpose: one core review function plus three supporting tools (description, health, checks list). This is an ideal size—not too sparse, not bloated.
The tool surface fully covers the server's stated purpose: it provides self-description, health monitoring, a list of checks, and the actual review action. The boundary is clearly defined (no adjudication), and all necessary operations are present with no dead ends.
Available Tools
4 toolsget_descriptorAInspect
Return the TrustAI Verification MCP self-description: operator, what the server verifies, the public tools, the boundary it never crosses (it never adjudicates), and links to the public surfaces.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does a good job: it clearly indicates this is a read-only introspection tool and even discloses the server's boundary ('it never adjudicates'). It does not discuss output format, but the listed fields give a reliable expectation of what the call will return.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, well-structured sentence that front-loads the core purpose and then provides a concise bullet-like list of return contents. There is no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-output-schema introspection tool, the description is complete: it names the server, the contents of the response, and the key boundary. An agent has enough information to invoke the tool correctly and understand what it will get back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so parameter semantics are not applicable beyond noting that no input is required. The description adds the necessary context about what the returned self-description contains, more than compensating for the absence of parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Return') and resource ('TrustAI Verification MCP self-description'), and enumerates the exact contents returned. It is obviously distinct from sibling tools like get_health or list_checks, which are operational rather than descriptive.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for retrieving an overview of the server's purpose, tools, and boundaries, but it does not explicitly state when to choose it over alternatives. An agent can infer the use case from the listed contents, yet there is no direct guidance or exclusionary language.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_healthAInspect
Return server health: process uptime and a deterministic engine self-check (the structural detectors run on a fixed sample and return the expected flag counts). Local-only; no database on the path.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses the deterministic nature of the self-check, the fixed-sample behavior, and the absence of a database dependency. It stops short of describing failure modes or response format, but the key behavioral traits are transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, with the primary purpose front-loaded and the important deterministic/local-only qualifiers placed naturally. Every clause earns its place without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter health check with no output schema, the description sufficiently explains what will be returned and under what conditions. A slightly more explicit statement of the expected response shape would push it to a 5, but nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is nothing to explain. Per the rubric, the baseline is 4, and the description correctly focuses on the tool's behavior instead of inventing parameter guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Return') with a clear resource ('server health') and elaborates exactly what that means: process uptime and a deterministic engine self-check. It is immediately distinct from siblings like get_descriptor and list_checks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides useful context ('Local-only; no database on the path') but does not explicitly state when to use this tool over alternatives or when not to use it. The usage context is implied rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_checksAInspect
Return the structural checks this server performs on legal-AI output, and — explicitly — what it never claims. Information, not legal advice.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the transparency burden and does meaningful work: it discloses that the tool makes no legal-advice claim and explicitly frames its output as information. It does not fully describe output format or side effects, but for a simple list/read operation the non-claim boundary is the most valuable behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that states the core function first, then adds the key caveat. Every phrase contributes meaning, and the em-dash structure makes the boundary explicit without verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter informational tool with no output schema, the description adequately covers what the tool returns (structural checks) and the important contextual caveat (not legal advice). The sibling context shows this is a lightweight metadata/listing tool, and nothing essential for calling it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description does not need to explain parameter meaning; the baseline for a 0-parameter tool is 4. The description avoids inventing parameter details and stays consistent with the empty input schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('Return') plus a precise resource ('structural checks this server performs on legal-AI output'), and explicitly states the scope boundary ('what it never claims'). This clearly distinguishes it from siblings like review_legal_text, which would perform the review rather than describe the checks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly establishes when to use the tool: when an agent or user needs to know the structural checks performed by this server. It also provides a meaningful exclusion by stating the tool offers information, not legal advice. It does not explicitly name sibling alternatives, but the intent and boundary are clear enough for a zero-parameter informational tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
review_legal_textAInspect
Independently review legal text produced by ANY AI vendor for the structural red-flags behind fabrication risk: (1) orphan quotations — a quoted span with no citation in its sentence; (2) uncited propositions — a legal proposition stated as established with no citation. Returns each flag with the exact passage and a plain structural observation, FOR YOUR REVIEW. It is a neutral referee: it never tells you the answer is right or wrong, never adjudicates, and abstains (returns no flags) on any fault rather than fabricating one. Deterministic and local — no external lookup. (Live case-citation existence checking against CourtListener runs on the website verifier at /verify; multi-model cross-validation runs in TrustAI's document-analysis engine and the licensed pilot — neither runs on this load-safe tool.)
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The legal text to review (a memo, brief, or answer from any AI vendor). Max 200000 chars. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for disclosing behavior, and it does so thoroughly: it is a neutral referee, never adjudicates, abstains rather than fabricating flags, and is deterministic with no external lookup. This is exactly the behavioral context an agent needs to set expectations correctly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every sentence earns its place: it lists the two flag types, states the return format, clarifies the neutral/abstention behavior, and routes related but different capabilities to other tools. The structure front-loads the core purpose and then layers exclusions naturally.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even without an output schema, the description tells the agent what the return will contain ('each flag with the exact passage and a plain structural observation') and explains edge-case behavior (abstention). For a single-parameter tool with no annotations and no output schema, this is a complete picture for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already fully documents the single 'text' parameter, including type, examples, and the 200000-character limit, so schema coverage is 100%. The description adds only contextual emphasis that the text may come from any AI vendor, which does not materially extend the parameter meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('review legal text'), a clear scope ('produced by ANY AI vendor'), and names the exact structural red-flags it detects: orphan quotations and uncited propositions. It also contrasts itself with other verification mechanisms, so an agent can distinguish this from sibling tools like list_checks or get_health.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly explains when to use this tool and, more importantly, when not: it is deterministic/local and does not perform live case-citation checking or multi-model cross-validation, both of which are routed to other systems. This gives the agent a clear decision boundary for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- First observed
get_descriptor - First observed
get_health - First observed
list_checks - First observed
review_legal_text
Related MCP Connectors
Verifies legal citations vs primary sources: existence, quote match, proposition support.
Verify legal citations, case treatment, quotes and whole briefs against 10.7M U.S. opinions
Cited product-compliance ground truth for AI agents. Never generates; always cites.
Fact-check LLM outputs with cited sources. API key: aihcc.cloud/keys.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceVerifies legal case citations against real court records to detect hallucinated or misattributed citations.-
- FlicenseNot gradedqualityBmaintenanceDeterministic legal citation verification for AI-generated legal briefs. Three-layer verification: CourtListener database lookup, quote-match against primary source, and LLM edge-case verification. Free tier available.-
- AlicenseNot gradedqualityDmaintenanceValidates legal citations against the CourtListener database to detect hallucinated citations in legal documents.5MIT
- AlicenseAqualityCmaintenanceVerifies legal citations by fetching the exact, in-force wording of cited articles from official PL and EU legal sources, preventing hallucination by returning verbatim text.25Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.