consistency-gate
Server Details
Check claims against a fact-store: consistent, contradicts, or unverifiable — with a receipt.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
TDQS
Scored across 3 tools
Each tool has a distinct purpose: check_claim handles natural language claims, check_triple handles raw SPO triples, and list_facts provides transparency for entities. There is no overlap between the tools, and their roles are clearly separated.
All tool names follow a consistent verb_noun pattern with lowercase and underscores: check_claim, check_triple, list_facts. The naming is uniform and predictable.
With only three tools, the set is lean but well-scoped for a consistency-checking service. Each tool earns its place, and the count is within the typical 3-15 range for a focused server.
The domain is consistency checking, and the set covers both high-level natural language checking and low-level triple checking, plus a listing function for audit. There are no obvious missing operations for this purpose, as add_fact is intentionally unavailable in the demo mode.
Available Tools
3 toolscheck_claimAInspect
NL-gate (kernen): udtræk SPO-triple(r) fra en naturlig-sprogs-PÅSTAND (Sonnet via
LiteLLM, R1) og tjek hver mod det grundede SPO-fakta-lager (i PUBLIC_DEMO-mode: det
OFFENTLIGE demo-fakta-lager, IKKE dine data — se scope_note). Returnerer en auditerbar
consistency-receipt: {claim, extracted_triples[], conflicts[], verdict,
checked_against_n_facts, scope_note}. verdict ∈ {consistent, contradicts, unverifiable}
— ALDRIG true/false. ADVISORY: flager konsistens, blokerer/beslutter ALDRIG for dig
(never-write-for-you). Persisterer ALDRIG selve påstanden (check ≠ gem — kun add_fact
skriver til lageret, og add_fact er FRAVÆRENDE i PUBLIC_DEMO-mode).
PUBLIC_DEMO-mode: rate-limitet (default 5/min + 30/time, ÉN global demo-bucket, §2/§8
BLOCKER 3). Over grænsen returneres {error:"rate_limited", retry_after_s, scope_note} —
ALDRIG et consistent-formet svar. Bogholderi-fejl i rate-limiteren -> deny (fail-safe).
| Name | Required | Description | Default |
|---|---|---|---|
| claim | Yes | ||
| focus | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations to rely on, the description fully discloses behavioral traits: verdict values (consistent/contradicts/unverifiable), non-persistence, rate limits with exact thresholds and error format, fail-safe deny behavior, and the distinction between public demo data and user data. This is comprehensive beyond a basic 'check' operation.
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 and relatively long, but it is front-loaded with the core purpose and structured into two paragraphs. Each sentence adds meaningful details (verdict domain, rate limits, fail-safe), yet it could be trimmed without losing essential info; still, the length is justified by complexity.
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?
Given the tool's complexity and the presence of an output schema, the description covers most contextual aspects: return receipt fields, verdict semantics, rate-limit error behavior, scope, and non-persistence. The only notable omission is the `focus` parameter's purpose, which prevents a perfect score.
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?
Schema description coverage is 0%, and the description effectively explains the main `claim` parameter (natural language claim, SPO extraction) but provides no information about the `focus` parameter. Since only two parameters exist, leaving one undocumented is a clear gap, but the claim parameter is well-contextualized.
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 the tool's core function: extract SPO triples from a natural language claim and check them against a grounded fact store. It distinguishes from siblings by emphasizing the NL-gate/claim-based approach and by outlining a specific, auditable receipt structure.
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 on when to use the tool: it is advisory, never persists, and is meant for consistency checking rather than writes (check ≠ save). It does not explicitly compare to sibling tools like check_triple or list_facts, but mentions that add_fact is absent in PUBLIC_DEMO-mode, implying it is not for writing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_tripleAInspect
Rå SPO-gate, deterministisk (ingen LLM — billig, testbar kerne, ÅBEN+GRATIS i
PUBLIC_DEMO-mode, ingen rate-grænse §2). Konflikt = samme normaliseret subjekt+prædikat,
andet normaliseret objekt. Returnerer ALLE konflikter (ikke kun første). verdict ∈
{consistent, contradicts} — ALDRIG true/false. Read-only mod lageret (i PUBLIC_DEMO-mode:
det offentlige demo-fakta-lager).
| Name | Required | Description | Default |
|---|---|---|---|
| object | Yes | ||
| subject | Yes | ||
| predicate | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses deterministic behavior, read-only access, returns all conflicts rather than just the first, and specifies the exact verdict values (consistent/contradicts, never true/false). This provides strong behavioral context beyond the schema.
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 and efficient, using three sentences to convey purpose, conflict definition, output behavior, and access mode. Every sentence contributes information 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?
Given the simple 3-parameter tool with an output schema, the description covers purpose, behavior, return semantics, and access constraints. It is sufficiently complete for an agent to select and invoke the tool correctly.
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 only defines three string parameters with no descriptions, but the description explains how subject and predicate together define conflict when the object differs, and mentions normalization. This adds relational semantics beyond simple string names, though individual parameter definitions remain implicit.
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 identifies the tool as a raw SPO gate that checks triples for conflicts, defining conflict as same normalized subject+predicate with a different object. It distinguishes itself from siblings by emphasizing determinism (no LLM) and testability.
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 usage for deterministic, cheap conflict checks by contrasting with LLM-based alternatives and highlighting open/free PUBLIC_DEMO-mode with no rate limit. However, it does not explicitly name sibling alternatives or state when not to use, leaving a slight gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_factsAInspect
Alle fakta hvor entity er subjekt ELLER objekt (transparens/audit). entity
normaliseres FØR match — case/whitespace-varianter matcher samme række. Returtypen er
ALTID en liste (§8-adjudikering: ingen dict-wrap/scope_note-injektion her, det ville være
en regression mod default-modens kontrakt).
PUBLIC_DEMO-mode: listen viser udelukkende rækker fra det OFFENTLIGE demo-fakta-lager (demo-facts.json) — ikke fleet/TIER-1/cortex-data (§3 PUBLIC-SAFE).
| Name | Required | Description | Default |
|---|---|---|---|
| entity | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full transparency burden and exceeds it: it discloses entity normalization before matching, always-list return contract with explicit no dict-wrap, and PUBLIC_DEMO data-source restriction. No contradictions with 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?
Two short paragraphs with front-loaded purpose and all key behaviors. It is slightly dense with section references and contract rationale, but each sentence contributes unique information; no fluff, though a bit more compact could be possible.
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 single-parameter listing tool, the description is complete: return type, matching semantics, data-scope restrictions, and mode behavior are all covered. An output schema exists, so detailed field-by-field return description is not required.
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?
Schema coverage is 0% and there is one required param, but the description explains entity semantics thoroughly: it matches as either subject or object and is normalized for case/whitespace before matching. This is substantive meaning beyond the bare string 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?
Description clearly states it lists all facts where entity is subject or object, with explicit audit/transparency purpose. However, it does not directly contrast with sibling tools check_claim/check_triple, so differentiation rests on the entity-scoped listing behavior.
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?
Provides clear contextual usage: use for transparency/audit when entity may appear in either role, and clarifies PUBLIC_DEMO mode limits data source. It doesn't name alternative tools or state when not to use it, but the audit framing and entity-matching rule make intended use evident.
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.
3 tool updates
- First observed
check_claim - First observed
check_triple - First observed
list_facts
Related MCP Connectors
Verify claims with verdict, confidence & cited sources; batch verify, source checks, daily brief.
Market evidence with receipts: every claim resolves to a real stored record you can fetch back.
Deterministic claim verification with receipts across ~60 domains. No model in the loop.
Fact-check claims against independent sources — fast verdict or deep multi-step investigation.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables agents and clients to fact-check factual claims against live web sources, returning citable verdicts with source details and cryptographically signed receipts for downstream verification.833 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables agents to verify claims with evidence-based truth scores and confidence levels by running a deterministic pipeline of evidence lanes and adversarial checks.24MIT

Lenz MCP Serverofficial
AlicenseNot gradedqualityBmaintenanceFact-check claims against independent sources via a multi-model pipeline, providing verdicts and confidence levels from any MCP client.Apache 2.0- AlicenseNot gradedqualityBmaintenanceEnables submitting claims and receiving Ed25519-signed, hash-chained verdicts resolved against real external ground truth, supporting resolvers like GitHub PRs, on-chain transactions, URL JSON, HTTP status, and Kalshi markets.312 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.