Tru8 Evidence Research
Server Details
Source-traced evidence research for AI agents. We organise the evidence; you decide.
- Status
- Healthy
- Uptime
- 100.0% over 74 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- SamYatesSmith/Tru8
- GitHub Stars
- 0
TDQS
Scored across 3 tools
tru8_check (submit) is clearly distinct from the two retrieval tools, but tru8_get_result and tru8_get_result_raw perform the same retrieval with different output shapes, which is a modest overlap. The descriptions do explicitly differentiate them (computed analytics vs raw payload), mitigating most confusion.
All three tools share a consistent tru8_ prefix with a predictable verb_noun/verb_noun_modifier pattern (check, get_result, get_result_raw). The raw-variant suffix is intuitive and follows the same convention.
Three tools is slightly thin but fits a narrow submit-and-poll evidence research pipeline: one submit tool plus two read variants. The extra raw variant is arguably redundant, but nothing feels bloated.
The submit plus async-retrieve lifecycle is covered, including failure/timeout handling via checkId fetch. Minor gaps remain: no way to list historical checks, cancel an in-flight run, or batch-submit multiple claims.
Available Tools
3 toolstru8_checkAInspect
Evidence research for a factual claim or article URL.
Submit a claim as text or paste an article URL. URLs are auto-detected
and trigger article mode: the pipeline extracts claims from the page
and auto-selects up to 5 for evidence research.
Tiers (in fallback order):
- lookup (~£0.02, instant) — cached prior analysis
- consensus (~£0.03, instant) — cross-user aggregate landscape (k≥3 checks)
- quick (~£0.07, ~15s) — web search + heuristic classification
- full (~£0.15, ~60-90s) — web + specialist APIs, LLM classification, coverage recovery
Charges based on tier actually executed, not tier requested.
Identical calls within ten minutes return the same check, so a
transport retry never runs — or charges — twice.
Set max_tier to control maximum spend per call.
Output structure:
- claims[].claimMap.elements[] — verifiable sub-claims with state
(supported/disputed/unresolved)
- claims[].claimMap.elements[].evidenceRefs[] — evidence mapped to elements
with relationship (supports/challenges/context) and reasoning
- claims[].evidence[] — sources classified by tier (primary/reporting/
commentary) and type (data/official/news/analysis/opinion/academic)
- claims[].claimMap.orientation — mechanical summary from element states
- _meta — execution metadata: executedTier, chargedPence, limitations
A run that has not finished after several minutes returns
{checkId, status, chargedPence, message} instead of the result: fetch it
later with tru8_get_result (free). A run that FAILS raises an error and is
not charged.
Per-argument guidance lives on the parameters themselves (see the
Annotated/Field declarations above), which is where a client can actually
read it — a docstring "Args:" block never reaches the tool's inputSchema.
| Name | Required | Description | Default |
|---|---|---|---|
| claim | Yes | A factual claim ("The Earth's average temperature rose 1.1°C since 1880") or an article URL (https://example.com/article). URLs are auto-detected and the pipeline extracts claims from the page content. | |
| compact | No | If true, strip the full evidence arrays and computed analytics from the response, leaving claims and claim maps. Smaller payload for agents that only need orientation. | |
| max_tier | No | Maximum tier to attempt — "lookup", "consensus", "quick" or "full" (default). A CEILING, not a floor: cached and consensus hits still return instantly at their own lower price, so the default costs ~£0.15 only for claims never researched before. Set "quick" to cap spend at ~£0.07, accepting web-search-only sourcing and heuristic classification (see _meta.limitations). | full |
| max_age_hours | No | Skip cache hits older than this many hours. Stale lookup hits are discarded and the pipeline re-runs at the next tier up to max_tier. 0 means never serve a cached result. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations, which only declare readOnly=false, openWorld=true, idempotent=false, destructive=false. The description discloses pricing per tier, that billing follows the tier actually executed rather than requested, a 10-minute dedupe window that prevents double charging on retries, that failures raise errors and are not charged, and that slow runs return a partial {checkId, status, chargedPence, message} payload. These are non-obvious cost and side-effect behaviours an agent must know before invoking.
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?
Front-loaded purpose, then cleanly sectioned tiers and output structure — appropriate for a tool with this much pricing and fallback complexity. Minor waste: the closing paragraph about docstrings not reaching inputSchema is meta-commentary aimed at tool authors, not at an agent selecting the tool, and pricing is restated between the tier table and the max_tier narrative.
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?
Despite an output schema existing, the description's summary of the nested return shape (claims[].claimMap.elements[], evidenceRefs[], evidence[], _meta) is genuinely useful orientation for a deeply nested payload. Failure modes, partial-return handling, billing semantics and cache staleness are all covered, leaving no obvious gap 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?
Schema coverage is 100%, so the baseline is 3, but the description adds real semantic content: it frames max_tier as a CEILING not a floor via the tier fallback table, and explains that charges depend on the executed tier. It also explicitly notes that per-argument guidance lives in the schema rather than a docstring, which is a useful pointer.
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 combination ('Evidence research for a factual claim or article URL') and immediately clarifies the two accepted input modes. It also names tru8_get_result as the retrieval path for unfinished runs, so an agent can distinguish it from its siblings without opening their schemas.
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?
Explicit conditions: submit a claim as text or a URL (auto-detected, triggers article mode with up to 5 extracted claims), set max_tier to cap spend, and use tru8_get_result (free) if the run returns a pending object. The tier fallback order with costs and latencies tells the agent exactly what behaviour to expect at each spend level.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tru8_get_resultARead-onlyIdempotentInspect
Retrieve a previously submitted check with pre-computed analytics.
Returns the full result including a _computed block with tier/type
distributions, corroboration groups, diagnostic values, timeline
analysis, element state summaries, and per-claim dispositions.
Use this over tru8_get_result_raw when you want structured analytics
ready for summarisation or comparison without post-processing.
| Name | Required | Description | Default |
|---|---|---|---|
| check_id | Yes | The check UUID returned by tru8_check. Retrieval is free and limited to your own checks; a check still running returns its status rather than a result, so this is also the poll call. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the _computed block contents and the differentiation from the raw variant, but does not mention that a still-running check returns status rather than a result (that nuance lives in the parameter schema). This is acceptable but not deeply transparent on its own.
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?
Three sentences each earn their place: the first defines the action, the second enumerates return contents, the third gives usage guidance. No filler, front-loaded, and appropriately sized.
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 a rich schema description, annotations, and an output schema present, the overall tool definition is quite complete. The description covers purpose, return contents, and alternative usage; only the polling behavior is left to the schema, which is acceptable. Missing error conditions or permission details, but those are 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?
The schema has 100% coverage and the check_id description already explains that it's the UUID from tru8_check, mentions retrieval limits, and notes it serves as the poll call. The tool description adds no extra parameter semantics, so baseline 3 applies.
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 opens with 'Retrieve a previously submitted check with pre-computed analytics', clearly stating the verb and resource. It distinguishes this tool from tru8_get_result_raw by noting it returns structured analytics, making it easy to select the right tool.
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?
Explicitly states 'Use this over tru8_get_result_raw when you want structured analytics ready for summarisation or comparison without post-processing', providing both a when-to-use condition and a named alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tru8_get_result_rawARead-onlyIdempotentInspect
Retrieve a previously submitted check without computed analytics.
Returns claims, elements, evidence, and claim maps only. No _computed
block. Smaller response payload. Use this when you will compute your
own aggregations or only need specific fields from the raw data.
| Name | Required | Description | Default |
|---|---|---|---|
| check_id | Yes | The check UUID returned by tru8_check. Same retrieval as tru8_get_result, without the computed analytics block. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent/destructive annotations, the description discloses valuable behavioral details: exactly which parts are returned (claims, elements, evidence, claim maps), what is excluded (no _computed block), and the consequence (smaller response payload). This gives the agent a clear expectation of the response content.
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 three sentences, each earning its place: the first states the core purpose, the second details return contents, and the third gives usage guidance. It is front-loaded with the key action and free of redundant text.
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 simple one-parameter read-only tool, the description is comprehensive: it explains the action, return contents, and when to use it. The output schema is present, annotations cover safety, and the sibling names provide retrieval context. Nothing important 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 input schema has 100% coverage; the check_id parameter already has a clear description referencing tru8_check and tru8_get_result. The tool description adds no parameter-specific meaning beyond what the schema provides, so the baseline of 3 applies.
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 starts with a specific verb+resource+scope: 'Retrieve a previously submitted check without computed analytics.' It clearly differentiates from the sibling tool tru8_get_result by explicitly stating the absence of the _computed block and smaller payload.
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 explicit when-to-use guidance: 'Use this when you will compute your own aggregations or only need specific fields from the raw data.' It does not explicitly name the alternative tool or state when not to use it, but the context and schema reference to tru8_get_result make the alternative clear.
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
tru8_check - First observed
tru8_get_result - First observed
tru8_get_result_raw
Related MCP Connectors
- HiveHallOAuthai.hivehall
Shared research, saved evidence, independent reviews and open tasks for AI agents.
Verified, sourced, real-time intelligence layer for AI agents.
Open evidence base built by AI agents: server-checked quotes, blind review, Erdős literature checks.
Media workflows, research and code for agents. Search sources, compare evidence and collaborate.
Related MCP Servers
- AlicenseAqualityAmaintenanceEvidence-backed web research for AI agents. Real-time search with cited claims, confidence scores, and compare mode showing raw LLM hallucination vs evidence-backed answers.520Apache 2.0
- AlicenseNot gradedqualityAmaintenanceMakes AI research agents accountable by giving every conclusion a traceable argument graph. Provides a persistent argument graph where claims require grounds and warrants for auditable, verifiable reasoning.2MIT
- AlicenseAqualityCmaintenanceUniversal Search-First Knowledge Acquisition Plugin for LLMs. Enables real-time web search and deep page browsing via MCP or CLI. Zero-cost, privacy-first, supports DuckDuckGo, Bing, Google, Brave, Wikipedia, Arxiv, YouTube, Reddit and more.215 npm21 PyPI19MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to obtain structured, source-backed real-world evidence with provenance, freshness, conflicts, support levels, coverage, unresolved dependencies, and reusable integrity-checked receipts, including French company verification and beta import assessment.Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.