MCP server that exposes Veritier's fact-checking, claim extraction, document validation, and attestation APIs as tools for AI agents
Server provides 6 tools with complete JSON Schema input definitions and descriptions. Naming follows verb_noun convention (extract_*, verify_*, validate, attest_action). Descriptions are detailed (100-300 chars) and explain quotas, test modes, and return types. However, output schemas are NOT documented, LLMs cannot predict response structure. Parameters lack granular descriptions for complex nested objects (grounding_references). Error handling is minimal; no recovery guidance. Test mode parameters (mock_claims, mock_verdict, mock_decision) are well-documented but add cognitive load. Missing tool annotations (readOnlyHint, destructiveHint). Overall solid definitions with notable gaps in output documentation and error guidance.
Fail-closed lookup against a named procedure. HTTP 200 with decision=block is success (the interrupt fired), not an API error. Mints a signed Claim Credential. Consumes claimsPerMonth quota. Pass mock_decision (allow|block) with a test key (vt_test_...) for zero-quota testing.
Fetches a publicly accessible URL and extracts falsifiable claims from its content. Consumes extractionsPerMonth quota. Pass mock_claims (int 0-1000) with a test key (vt_test_...) for zero-quota testing.
Extracts every falsifiable claim from raw text without verifying them. Returns a list of isolated, objective statements. Consumes extractionsPerMonth quota (cheaper than verification). Pass mock_claims (int 0-1000) with a test key (vt_test_...) for zero-quota testing.
Validates a document (PDF/Image) for tampering, fraud, and factual consistency. Returns a detailed authenticity analysis including metadata, visual anomalies, and cross-referenced facts. Consumes validationsPerMonth quota.
Fetches a publicly accessible URL and fact-checks every claim found in the document using Veritier's real-time verification engine. Returns structured verdicts with explanations and source URIs. Consumes claimsPerMonth quota. Pass mock_verdict (bool) with a test key (vt_test_...) for zero-quota testing. Optional action_id mints an informational Claim Credential; verify is not fail-closed.
Output schemas not documented. LLMs cannot predict response structure (claims list format, verdict fields, credential object shape). Forces agents to guess or fail on parsing.
grounding_references parameter (array of objects with type/content) lacks per-field descriptions. LLMs cannot infer whether 'content' expects raw text, a URL string, or structured data.
No error handling guidance. Responses do not indicate retryability, user-fixable vs fatal errors, or recovery steps. HTTP 200 with decision=block is documented as success, but other error modes are opaque.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | 2026-07-28+ | v2 |
Extracts falsifiable claims from raw text and fact-checks them using Veritier's real-time verification engine. Returns structured verdicts with explanations and source URIs. Consumes claimsPerMonth quota. grounding_mode='both' costs 2x quota per claim. Pass mock_verdict (bool) with a test key (vt_test_...) for zero-quota testing. Optional action_id mints an informational Claim Credential; verify is not fail-closed.
Tool annotations missing. No readOnlyHint or destructiveHint declared. attest_action is marked WRITE in metadata but schema lacks destructiveHint. Agents cannot infer safety properties.
validate tool uses anyOf constraint (url OR document_base64) but descriptions do not explain mutual exclusivity or precedence. LLMs may pass both, causing ambiguous behavior.