Tru8 Evidence Research
Source-traced evidence research for AI agents. We organise the evidence; you decide.
Should I use this
Quality & Safety
Findings (2)
- HIGH
- MEDIUMin tru8_check
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"tru8": {
"command": "python -m tru8_mcp",
"args": [
"tru8-mcp"
]
}
}
}Runnable packages
1.0.3stdioRemote endpoints
https://api.trueight.com/mcp/streamable-httpWhat it can do
Tool inventory
Tools (3)
🟡tru8_check(claim, max_tier, max_age_hours, compact)
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 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.
Input Schema
{
"type": "object",
"properties": {
"claim": {
"description": "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.",
"title": "Claim",
"type": "string"
},
"max_tier": {
"default": "full",
"description": "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).",
"title": "Max Tier",
"type": "string"
},
"max_age_hours": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "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.",
"title": "Max Age Hours"
},
"compact": {
"default": false,
"description": "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.",
"title": "Compact",
"type": "boolean"
}
},
"required": [
"claim"
],
"title": "tru8_checkArguments"
}Output Schema
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "tru8_checkOutput"
}🟢tru8_get_result(check_id)
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.
Input Schema
{
"type": "object",
"properties": {
"check_id": {
"description": "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.",
"title": "Check Id",
"type": "string"
}
},
"required": [
"check_id"
],
"title": "tru8_get_resultArguments"
}Output Schema
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "tru8_get_resultOutput"
}🟢tru8_get_result_raw(check_id)
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.
Input Schema
{
"type": "object",
"properties": {
"check_id": {
"description": "The check UUID returned by tru8_check. Same retrieval as tru8_get_result, without the computed analytics block.",
"title": "Check Id",
"type": "string"
}
},
"required": [
"check_id"
],
"title": "tru8_get_result_rawArguments"
}Output Schema
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "tru8_get_result_rawOutput"
}Community
Evidence