TrustAI Verification
Server Details
Neutral referee for legal-AI output: flags orphan quotes and uncited claims. Not legal advice.
- Status
- Healthy
- Uptime
- 89.8% over 72 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-03-26
- URL
TDQS
Scored across 4 tools
get_descriptor and list_checks both explain the server's scope and boundaries, so an agent could briefly confuse them. However, list_checks is specifically about structural checks while get_descriptor is broader self-description, and the descriptions make the distinction mostly clear.
All tool names follow a consistent snake_case verb_noun pattern: get_descriptor, get_health, list_checks, review_legal_text. The verbs vary naturally by action, but the overall convention is predictable.
Four tools is reasonable for a narrow load-safe verifier, with one core review tool and three meta/support tools. It is slightly thin in substantive operations, but not a mismatch for the server's explicitly limited scope.
review_legal_text covers the six structural red-flag checks, and list_checks documents the scope and limitations. There is no batch input, severity filtering, or result-history operation, though live citation lookup and multi-model validation are explicitly out of scope for this tool.
Available Tools
4 toolsget_descriptorAbout this serverARead-onlyIdempotentInspect
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?
Annotations already declare readOnly, idempotent, non-destructive, closed-world. The description adds genuine value by disclosing the key behavioral boundary ('never adjudicates') and the exact content returned, which the annotations don't cover. No return format specifics, but that's minor given the self-description nature.
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 efficient sentence listing five content items, front-loaded with the verb and resource. Slightly dense with a parenthetical but every clause earns its place.
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 no-param, read-only self-description tool with no output schema, the description fully enumerates what the agent will receive and the key boundary, leaving no ambiguity about the call's effect or content.
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?
Zero parameters, so baseline is 4. Nothing to mislead and no schema weight to carry.
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 verb (Return) and resource (TrustAI Verification MCP self-description), and enumerates the exact content it yields (operator, verification scope, public tools, boundary, links). This clearly distinguishes it from siblings like get_health, list_checks, and review_legal_text.
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?
It clearly signals this is the self-description/introspection tool distinct from operational tools like get_health or list_checks, so the agent can infer when to call it. However, it doesn't explicitly state when NOT to use it or name an alternative to prefer, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_healthServer healthARead-onlyIdempotentInspect
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?
Annotations already declare readOnlyHint, idempotentHint and non-destructive, so the safety profile is covered. The description adds genuinely non-obvious behavior: the self-check is deterministic, runs the structural detectors on a fixed sample, and returns expected flag counts, plus that the call is local-only and avoids the database.
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 sentence with the resource first and the payload detail in a parenthetical, so it is front-loaded and free of filler. The parenthetical is somewhat dense for a description, but no sentence fails to earn its place.
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, read-only health tool with no output schema, the description nevertheless tells the agent what comes back (uptime, self-check flag counts) and where the check runs. Nothing needed to call 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 takes zero parameters, which is the baseline-4 case; there is nothing for the description to clarify beyond the empty 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?
States a specific verb and resource ('Return server health') and enumerates the payload: process uptime plus a deterministic engine self-check. The sibling tools (get_descriptor, list_checks, review_legal_text) do not overlap, so no explicit sibling disambiguation is needed, but the description also never names them.
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?
Usage is implied by the nature of a health endpoint and by 'Local-only; no database on the path', which signals a cheap, safe diagnostic. There is no explicit when-to-use statement, no when-not-to-use, and no named alternative for deeper diagnostics.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_checksWhat it checks, and never claimsARead-onlyIdempotentInspect
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?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds real behavioral context beyond that: the server discloses not just its checks but explicitly its non-claims, plus a legal-advice disclaimer — useful scoping information an agent cannot get from the annotations.
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?
Roughly twenty words in two sentences/fragments, front-loaded with the primary return content and no filler. Every clause earns its place, including the disclaimer.
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?
With no parameters and no output schema, the description carries the return-content burden and does so: it says the result covers the checks performed and the non-claims. It does not describe the return shape (list vs. text), which is the only real gap for a zero-input introspection tool.
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 takes zero parameters, so the baseline is 4 and there is nothing for the description to disambiguate. No parameter-level semantics are needed.
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?
States a specific verb and resource: 'Return the structural checks this server performs on legal-AI output.' The added 'what it never claims' clause makes the returned content distinguishable from metadata siblings like get_descriptor or get_health. It stops short of explicitly naming how it differs from those siblings, so not a 5.
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?
No explicit when-to-use or when-not-to-use statement, and no alternative tool is named. Usage is only implied: an agent should consult this to learn the server's scope and limitations before relying on its reviews. The 'Information, not legal advice' line is a caveat about output, not routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
review_legal_textReview legal text for unsupported quotes and claimsARead-onlyIdempotentInspect
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, the citation sentence after it, or its footnote; (2) uncited propositions — law stated as established (a holding cue or a settled-law phrase such as 'it is well established') with no such citation; (3) court mismatch — the text names one circuit, the cite another; (4) impossible date — a citation year in the future or before its reporter series began; (5) court/reporter mismatch — a court and reporter that cannot both be right; (6) a case name and cite matching one publicly identified as non-existent in Mata v. Avianca (S.D.N.Y. 2023). Recognizes full and short-form cites (Id., supra, Westlaw/Lexis, U.S.C., C.F.R., state codes, court rules) and footnotes; triggers in English and Spanish. Returns each flag with the exact passage, its offsets, a severity 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?
Beyond annotations (readOnlyHint, openWorldHint=false, idempotent, non-destructive), it discloses the return shape (each flag with exact passage, offsets, severity, plain structural observation), the abstention rule ('abstains (returns no flags) on any fault rather than fabricating one'), neutrality ('never adjudicates'), and that it is deterministic and local with no external lookup. This is exactly the behavioral context annotations cannot convey.
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 purpose and the six-flag enumeration are front-loaded and each check earns its place by telling the agent what output to expect. The trailing parenthetical about the website verifier and TrustAI engine is useful routing information but is the one section that could be trimmed; overall it is dense rather than padded.
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?
With no output schema, the description does the necessary work: it describes the return payload (passage, offsets, severity, structural observation), the abstention behavior on ambiguous input, and determinism/no-external-lookup. For a one-parameter read-only tool whose annotations already cover safety, nothing an agent needs to invoke 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?
There is a single parameter with 100% schema description coverage, including the 200000-char limit, so the schema already carries the semantics. The description adds only marginal detail (memo/brief/answer inputs, English and Spanish triggers), which justifies the baseline 3 rather than a higher score.
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?
Opens with a specific verb+resource+scope: 'Independently review legal text produced by ANY AI vendor for the structural red-flags behind fabrication risk.' It then enumerates the exact six checks (orphan quotations, uncited propositions, court mismatch, impossible date, court/reporter mismatch, Avianca-listed non-existent cases), so an agent knows precisely what the tool will and won't flag. It is clearly distinct from the get_/list_ siblings on the server.
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 gives clear context for use (reviewing AI-generated legal text for fabrication red-flags) and explicitly states what runs elsewhere — live citation-existence checking at /verify and multi-model cross-validation in TrustAI's engine — so the agent knows when this 'load-safe tool' is and is not the right choice. It stops short of framing selection against the sibling tools, but the boundary-setting sentences are strong.
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, check case validity and quotes, and research US law with cited answers.
Verify legal citations and search case law and legislation from your AI assistant.
U.S. law library for AI: court decisions, statutes, court rules and citation checks. Read-only.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceVerifies legal case citations against real court records to detect hallucinated or misattributed citations.-
- FlicenseNot gradedqualityDmaintenanceDeterministic 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
- AlicenseAqualityAmaintenanceVerifies 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.27Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.