Claim Grounding
Server Details
Fact-check AI answers with cited sources. Pay per call in USDC on Base via x402.
- Status
- Healthy
- Uptime
- 100.0% over 21 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- truepointmarketingpartners-dotcom/prospect-intelligence
- GitHub Stars
- 0
TDQS
Scored across 4 tools
The set has a clear pipeline (extract_claims → verify_claim/deep_verify) and distinct scopes: extract, single-claim check, multi-source deep check, whole-answer audit. However, check_answer overlaps with extract_claims + verify_claim, and deep_verify vs verify_claim differ mainly by source breadth and claim count, so minor confusion is possible.
All tools use snake_case, and three follow a verb_noun pattern (check_answer, extract_claims, verify_claim). deep_verify breaks the verb_noun pattern as adjective_verb, but the style is still consistent enough to be predictable.
Four tools is well-scoped for a claim-grounding service: extraction, single verification, deep multi-source verification, and whole-answer audit. Each has a distinct role and no tool feels extraneous.
Core verification operations are present, but the async deep_verify flow has no MCP tool for polling jobs, and the descriptions indicate paid results are only available via external POST endpoints rather than through MCP tools. This leaves notable gaps for an agent relying solely on the tool surface.
Available Tools
4 toolscheck_answerCheck answerARead-onlyIdempotentInspect
Fact-check a whole answer: extracts every checkable claim and verifies each against Wikipedia, plus Wikidata structured facts for dates, numbers, quantities, ordinals and records. Returns per-claim verdict, confidence, quote, source URL, sentence span and suggested_correction (quoted only from cited sources when contradicted/outdated), plus an answer-level summary with overall_verdict, counts and problem_sentences. Abstained rather than guessed. Use to audit chatbot or RAG output. Price: $1.00 USDC on Base per call via x402; this MCP call returns payment instructions and POST /v1/check_answer returns the results. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| answer | Yes | The full answer text to fact-check. Each factual sentence is checked separately. | |
| sources | No | Optional. Up to 10 sources of your own, used as extra evidence next to the public sources and cited with provider and source_type "caller". The response lists what was used in sources_used. | |
| sources_only | No | Optional. true = judge the claim only against your sources (no public-source lookups). Needs a non-empty sources array. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | Yes | Tool name. |
| result | No | Paid result: { result_id, version, mode, summary: { overall_verdict, counts, problem_sentences }, claims: [{ text, verdict, confidence, citations[], sentence, suggested_correction, next_step? }], recommended_next_steps, next_actions, receipt }. |
| status | Yes | payment_required: pay the HTTP route with x402 to get the result. ok: result is included. |
| message | Yes | Human-readable summary. |
| payment | No | Payment instructions. MCP tools/call does not charge or run the paid work; call the HTTP route with x402. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), so the bar is lower. The description still adds valuable non-obvious behavior: it abstains rather than guessing, and critically that this MCP call returns payment instructions while POST /v1/check_answer returns results, plus the $1.00 USDC/x402 cost. Per-claim return detail is somewhat redundant with the output 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?
Purpose is front-loaded, followed by return contents, usage, and payment mechanics in a logical order. It is dense and slightly run-on with a long enumerated return list, but nearly every clause carries real information.
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?
An output schema exists, yet the description still adequately signals the response shape; it also documents the source-usage behavior, abstention semantics, and the payment/endpoint split an agent must understand to invoke it correctly. Nothing needed to call it 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?
Schema description coverage is 100% and all three parameters are thoroughly documented in the schema (including fetch timeouts, URL restrictions, char caps). The description adds no parameter-level detail beyond what the schema already 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?
States a specific verb and resource ('Fact-check a whole answer') and immediately differentiates scope: it extracts every checkable claim and verifies each against Wikipedia plus Wikidata. The 'whole answer' framing clearly separates it from siblings like verify_claim (single claim) and extract_claims.
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?
Gives a concrete use case ('Use to audit chatbot or RAG output') and implies the scope condition (whole-answer auditing), which distinguishes it from the single-claim siblings. However, it never names the alternatives (verify_claim, deep_verify, extract_claims) or states when NOT to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deep_verifyDeep verifyARead-onlyIdempotentInspect
Use when a claim is high-stakes, or when check_answer or extract_claims marks it unsure (their next_step gives the exact request). Verifies up to three claims against Wikipedia, Wikidata, Google News, Europe PMC, FRED and SEC EDGAR; returns verdict, confidence, evidence for and against with URLs, and flags contradictions. Async: poll GET /v1/jobs/{job_id} free. $0.75 USDC on Base via x402. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| answer | Yes | The claim or short text to verify (up to three claims are checked). | |
| sources | No | Optional. Up to 10 sources of your own, used as extra evidence next to the public sources and cited with provider and source_type "caller". The response lists what was used in sources_used. | |
| sources_only | No | Optional. true = judge the claim only against your sources (no public-source lookups). Needs a non-empty sources array. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | Yes | Tool name. |
| result | No | Paid result: { mode: 'deep', status: 'queued', job_id, receipt }. Poll GET /v1/jobs/{job_id} for { verdict, confidence, contradiction, evidence_for[], evidence_against[], citations[] }. |
| status | Yes | payment_required: pay the HTTP route with x402 to get the result. ok: result is included. |
| message | Yes | Human-readable summary. |
| payment | No | Payment instructions. MCP tools/call does not charge or run the paid work; call the HTTP route with x402. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, idempotent, openWorld), but the description adds genuinely non-inferable behavior: asynchronous execution with a free polling endpoint (GET /v1/jobs/{job_id}), a concrete price and payment rail ($0.75 USDC on Base via x402), and the full response shape (verdict, confidence, pro/con evidence with URLs, contradiction flags). These are traits no annotation or schema field conveys.
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?
Five tight sentences, front-loaded with the usage trigger before capability, output, and cost details. Slight redundancy: 'Read-only' merely echoes readOnlyHint=true, and the pricing clause is wedged mid-paragraph, but overall density is high and waste is minimal.
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 output schema covering return values and annotations covering the safety profile, the description fills the remaining gaps an agent needs: when to select it over siblings, the async/polling flow, and the paid-invocation cost. Nothing required 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?
Schema description coverage is 100%, so the schema already documents `answer`, `sources`, and `sources_only` in detail, including URL/text tradeoffs and limits. The description only restates the 'up to three claims' cap and adds nothing about parameters beyond the schema, 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?
States a specific verb and resource — 'Verifies up to three claims' — and enumerates the exact public sources consulted (Wikipedia, Wikidata, Google News, Europe PMC, FRED, SEC EDGAR). It also names sibling tools (check_answer, extract_claims) and the conditions that route to this one, so an agent can distinguish it without opening the schema.
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 when-to-use: 'when a claim is high-stakes, or when check_answer or extract_claims marks it unsure (their next_step gives the exact request).' This names both trigger conditions and the upstream tools whose output drives the call, leaving nothing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_claimsExtract claimsARead-onlyIdempotentInspect
Split a text (for example an AI-generated answer) into atomic factual claims. Each claim includes span, grounding_required, claim_type (number|date|quantity|quote|named_entity_fact|comparison|opinion|prediction|other), check_worthiness (high|medium|low), and the source sentence. Hedges are stripped, pronouns are resolved across sentences, and compound sentences are split. Questions, greetings, opinions and predictions are marked grounding_required false. Use before verify_claim. Price: $0.05 USDC on Base per call via x402; this MCP call returns payment instructions and POST /v1/extract_claims returns the claims. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The text to split into claims, for example a chatbot answer. Up to a few thousand characters. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | Yes | Tool name. |
| result | No | Paid result: { claims: [{ claim_id, text, span, grounding_required, claim_type, check_worthiness, sentence, sentence_index, next_step? }], recommended_next_steps, summary, priced_usd }. |
| status | Yes | payment_required: pay the HTTP route with x402 to get the result. ok: result is included. |
| message | Yes | Human-readable summary. |
| payment | No | Payment instructions. MCP tools/call does not charge or run the paid work; call the HTTP route with x402. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false), and the description goes well beyond them: hedges stripped, pronouns resolved across sentences, compound sentences split, and specific classes (questions, greetings, opinions, predictions) marked grounding_required false. It also discloses the paid flow ($0.05 USDC on Base via x402, MCP call returns payment instructions while POST /v1/extract_claims returns claims) — material behavior an agent cannot infer.
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?
Information-dense and front-loaded: purpose and output shape come first, behavioral transformations next, routing last. The pricing glossary ('MCP call returns payment instructions and POST /v1/extract_claims returns the claims') is a slightly dense clause, but every sentence carries operational value.
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?
Covers input, the paid invocation protocol (critical, since a naive call only yields payment instructions), and the pipeline relationship. An output schema exists, so explaining return values is optional, and the description still summarizes them without bloating the definition. Nothing needed to call this 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?
Schema description coverage is 100% for the single 'text' parameter, so the schema already carries the input semantics; the description's mention of an AI-generated answer and character limits largely duplicates it. The extra detail provided describes the output fields (span, claim_type, check_worthiness) rather than the input, so the 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?
States a specific verb+resource ('Split a text into atomic factual claims') and immediately qualifies the scope with 'atomic factual claims' rather than generic extraction. The sequencing note 'Use before verify_claim' positions it relative to the sibling pipeline, so an agent can place it without opening another schema.
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 says 'Use before verify_claim,' which tells the agent where this fits in the workflow, and names the input type ('for example an AI-generated answer'). It does not state exclusions or when to route elsewhere (e.g. vs deep_verify), so it stops short of a full when/when-not treatment.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_claimVerify claimARead-onlyIdempotentInspect
Check one factual claim against public Wikipedia sources and return a verdict (supported, contradicted, outdated, mixed or insufficient_evidence), a confidence score, a short reason, the supporting quote and the source URL. Says insufficient_evidence instead of guessing. Price: $1.00 USDC on Base per call via x402; this MCP call returns payment instructions and the paid HTTP route POST /v1/verify_claim returns the verdict. For a multi-source check use deep_verify. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| claim | Yes | One factual sentence to check. | |
| sources | No | Optional. Up to 10 sources of your own, used as extra evidence next to the public sources and cited with provider and source_type "caller". The response lists what was used in sources_used. | |
| sources_only | No | Optional. true = judge the claim only against your sources (no public-source lookups). Needs a non-empty sources array. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | Yes | Tool name. |
| result | No | Paid result: { mode, claim: { text, verdict, confidence, rationale_short, citations[] }, why, source, receipt }. |
| status | Yes | payment_required: pay the HTTP route with x402 to get the result. ok: result is included. |
| message | Yes | Human-readable summary. |
| payment | No | Payment instructions. MCP tools/call does not charge or run the paid work; call the HTTP route with x402. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/idempotent/open-world, but the description adds material context beyond them: the $1.00 USDC-on-Base x402 price, the two-step flow (this MCP call returns payment instructions, the paid HTTP route POST /v1/verify_claim returns the verdict), and the fallback behavior of returning insufficient_evidence rather than guessing.
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-loads the core action and its return values in the first sentence, then appends payment/route mechanics and sibling routing. Dense but every clause is load-bearing; the payment sentence is slightly tangled and could be split, keeping it short of a 5.
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 an output schema present, return values need not be detailed, yet the description still names the verdict set and the evidence fields. Combined with cost/route disclosure and source-handling semantics, an agent has everything needed to invoke it 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?
Schema coverage is 100%, so the baseline is 3, but the description adds value on how caller-supplied sources are treated: they are extra evidence alongside public sources, cited with provider and source_type "caller", and listed back in sources_used. It does not itself explain the url/text/title source shapes, which the schema handles.
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+resource ('Check one factual claim against public Wikipedia sources') and enumerates the exact verdict values returned. It also names the sibling it is not: multi-source work belongs to deep_verify, so the agent can distinguish single-claim scope without opening the schema.
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?
Gives explicit routing to deep_verify for multi-source checks and clarifies the sources_only condition (judge only against caller sources). It does not address when to prefer check_answer or extract_claims, and the 'use when' framing is implied by the singular-claim constraint rather than stated.
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
- Changed
check_answer3 fields changed- changed
Output schema / properties / result / descriptionPrevious value: -"Paid result: { result_id, version, mode, summary: { overall_verdict, counts, problem_sentences }, claims: [{ text, verdict, confidence, citations[], sentence, suggested_correction }], next_actions, receipt }."New value: +"Paid result: { result_id, version, mode, summary: { overall_verdict, counts, problem_sentences }, claims: [{ text, verdict, confidence, citations[], sentence, suggested_correction, next_step? }], recommended_next_steps, next_actions, receipt }." - added
Output schema / properties / result / properties / claims / items / properties / next_stepAdded value: +{ + "description": "1.4.8: present only on unsure, low-confidence or unverified high-worthiness claims. A ready-to-send Deep verify request for this claim (optional, paid separately).", + "properties": { + "body": { + "properties": { + "claim": { + "properties": { + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "type": "object" + } + }, + "required": [ + "claim" + ], + "type": "object" + }, + "endpoint": { + "format": "uri", + "type": "string" + }, + "method": { + "const": "POST", + "type": "string" + }, + "price_usd": { + "type": "number" + }, + "tool": { + "const": "deep_verify", + "type": "string" + }, + "why": { + "type": "string" + } + }, + "required": [ + "tool", + "why", + "price_usd", + "endpoint", + "method", + "body" + ], + "type": "object" +} - added
Output schema / properties / result / properties / recommended_next_stepsAdded value: +{ + "description": "1.4.8: summary of claim-level next_step suggestions.", + "properties": { + "count": { + "minimum": 0, + "type": "integer" + }, + "endpoint": { + "format": "uri", + "type": "string" + }, + "note": { + "type": "string" + }, + "tool": { + "type": "string" + }, + "total_price_usd": { + "type": "number" + } + }, + "required": [ + "tool", + "count", + "total_price_usd" + ], + "type": "object" +}
- Changed
extract_claims3 fields changed- changed
Output schema / properties / result / descriptionPrevious value: -"Paid result: { claims: [{ claim_id, text, span, grounding_required, claim_type, check_worthiness, sentence, sentence_index }], summary, priced_usd }."New value: +"Paid result: { claims: [{ claim_id, text, span, grounding_required, claim_type, check_worthiness, sentence, sentence_index, next_step? }], recommended_next_steps, summary, priced_usd }." - added
Output schema / properties / result / properties / claims / items / propertiesAdded value: +{ + "next_step": { + "description": "1.4.8: present only on unsure, low-confidence or unverified high-worthiness claims. A ready-to-send Deep verify request for this claim (optional, paid separately).", + "properties": { + "body": { + "properties": { + "claim": { + "properties": { + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "type": "object" + } + }, + "required": [ + "claim" + ], + "type": "object" + }, + "endpoint": { + "format": "uri", + "type": "string" + }, + "method": { + "const": "POST", + "type": "string" + }, + "price_usd": { + "type": "number" + }, + "tool": { + "const": "deep_verify", + "type": "string" + }, + "why": { + "type": "string" + } + }, + "required": [ + "tool", + "why", + "price_usd", + "endpoint", + "method", + "body" + ], + "type": "object" + } +} - added
Output schema / properties / result / properties / recommended_next_stepsAdded value: +{ + "description": "1.4.8: summary of claim-level next_step suggestions.", + "properties": { + "count": { + "minimum": 0, + "type": "integer" + }, + "endpoint": { + "format": "uri", + "type": "string" + }, + "note": { + "type": "string" + }, + "tool": { + "type": "string" + }, + "total_price_usd": { + "type": "number" + } + }, + "required": [ + "tool", + "count", + "total_price_usd" + ], + "type": "object" +}
- Changed
verify_claim1 field changed- added
Output schema / properties / result / properties / claim / properties / next_stepAdded value: +{ + "description": "1.4.8: present only on unsure, low-confidence or unverified high-worthiness claims. A ready-to-send Deep verify request for this claim (optional, paid separately).", + "properties": { + "body": { + "properties": { + "claim": { + "properties": { + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "type": "object" + } + }, + "required": [ + "claim" + ], + "type": "object" + }, + "endpoint": { + "format": "uri", + "type": "string" + }, + "method": { + "const": "POST", + "type": "string" + }, + "price_usd": { + "type": "number" + }, + "tool": { + "const": "deep_verify", + "type": "string" + }, + "why": { + "type": "string" + } + }, + "required": [ + "tool", + "why", + "price_usd", + "endpoint", + "method", + "body" + ], + "type": "object" +}
2 tool updates
- Changed
check_answer2 fields changed- changed
Output schema / properties / result / descriptionPrevious value: -"Paid result: { result_id, mode, claims: [{ text, verdict, confidence, citations[] }], next_actions, receipt }."New value: +"Paid result: { result_id, version, mode, summary: { overall_verdict, counts, problem_sentences }, claims: [{ text, verdict, confidence, citations[], sentence, suggested_correction }], next_actions, receipt }." - added
Output schema / properties / result / properties / summaryAdded value: +{ + "type": "object" +}
- Changed
extract_claims2 fields changed- changed
Output schema / properties / result / descriptionPrevious value: -"Paid result: { claims: [{ claim_id, text, span: { start, end }, grounding_required }], priced_usd }."New value: +"Paid result: { claims: [{ claim_id, text, span, grounding_required, claim_type, check_worthiness, sentence, sentence_index }], summary, priced_usd }." - added
Output schema / properties / result / properties / summaryAdded value: +{ + "type": "object" +}
3 tool updates
- Changed
check_answer4 fields changed- added
Input schema / properties / sourcesAdded value: +{ + "description": "Optional. Up to 10 sources of your own, used as extra evidence next to the public sources and cited with provider and source_type \"caller\". The response lists what was used in sources_used.", + "items": { + "additionalProperties": false, + "anyOf": [ + { + "required": [ + "url" + ] + }, + { + "required": [ + "text" + ] + } + ], + "description": "One source: {url} for a public https page we fetch, or {text, title?, url?} for text you already have.", + "properties": { + "text": { + "description": "Source text to check the claim against (up to 20,000 characters). When given, no fetch is made.", + "maxLength": 20000, + "minLength": 1, + "type": "string" + }, + "title": { + "description": "Optional title shown in citations.", + "maxLength": 200, + "type": "string" + }, + "url": { + "description": "Public https URL. Fetched with a 3.5 s timeout and a 512 KB cap; http, file and other schemes, private / loopback / link-local / metadata addresses, IP-literal hosts, custom ports and URLs with credentials are rejected (HTTP 400, not charged). With text, it is only the citation link.", + "format": "uri", + "maxLength": 2048, + "type": "string" + } + }, + "type": "object" + }, + "maxItems": 10, + "type": "array" +} - added
Input schema / properties / sources_onlyAdded value: +{ + "default": false, + "description": "Optional. true = judge the claim only against your sources (no public-source lookups). Needs a non-empty sources array.", + "type": "boolean" +} - added
Output schema / properties / result / properties / claims / items / properties / citations / descriptionAdded value: +"Evidence quotes with url, title and source_type (wikipedia, wikidata, news, europepmc, fred, sec_edgar, or caller for your own sources)." - added
Output schema / properties / result / properties / sources_usedAdded value: +{ + "description": "Present when you sent sources: one entry per source with index, kind, url, title, status (used, fetch_failed, empty), chars and reason.", + "items": { + "type": "object" + }, + "type": "array" +}
- Changed
deep_verify2 fields changed- added
Input schema / properties / sourcesAdded value: +{ + "description": "Optional. Up to 10 sources of your own, used as extra evidence next to the public sources and cited with provider and source_type \"caller\". The response lists what was used in sources_used.", + "items": { + "additionalProperties": false, + "anyOf": [ + { + "required": [ + "url" + ] + }, + { + "required": [ + "text" + ] + } + ], + "description": "One source: {url} for a public https page we fetch, or {text, title?, url?} for text you already have.", + "properties": { + "text": { + "description": "Source text to check the claim against (up to 20,000 characters). When given, no fetch is made.", + "maxLength": 20000, + "minLength": 1, + "type": "string" + }, + "title": { + "description": "Optional title shown in citations.", + "maxLength": 200, + "type": "string" + }, + "url": { + "description": "Public https URL. Fetched with a 3.5 s timeout and a 512 KB cap; http, file and other schemes, private / loopback / link-local / metadata addresses, IP-literal hosts, custom ports and URLs with credentials are rejected (HTTP 400, not charged). With text, it is only the citation link.", + "format": "uri", + "maxLength": 2048, + "type": "string" + } + }, + "type": "object" + }, + "maxItems": 10, + "type": "array" +} - added
Input schema / properties / sources_onlyAdded value: +{ + "default": false, + "description": "Optional. true = judge the claim only against your sources (no public-source lookups). Needs a non-empty sources array.", + "type": "boolean" +}
- Changed
verify_claim4 fields changed- added
Input schema / properties / sourcesAdded value: +{ + "description": "Optional. Up to 10 sources of your own, used as extra evidence next to the public sources and cited with provider and source_type \"caller\". The response lists what was used in sources_used.", + "items": { + "additionalProperties": false, + "anyOf": [ + { + "required": [ + "url" + ] + }, + { + "required": [ + "text" + ] + } + ], + "description": "One source: {url} for a public https page we fetch, or {text, title?, url?} for text you already have.", + "properties": { + "text": { + "description": "Source text to check the claim against (up to 20,000 characters). When given, no fetch is made.", + "maxLength": 20000, + "minLength": 1, + "type": "string" + }, + "title": { + "description": "Optional title shown in citations.", + "maxLength": 200, + "type": "string" + }, + "url": { + "description": "Public https URL. Fetched with a 3.5 s timeout and a 512 KB cap; http, file and other schemes, private / loopback / link-local / metadata addresses, IP-literal hosts, custom ports and URLs with credentials are rejected (HTTP 400, not charged). With text, it is only the citation link.", + "format": "uri", + "maxLength": 2048, + "type": "string" + } + }, + "type": "object" + }, + "maxItems": 10, + "type": "array" +} - added
Input schema / properties / sources_onlyAdded value: +{ + "default": false, + "description": "Optional. true = judge the claim only against your sources (no public-source lookups). Needs a non-empty sources array.", + "type": "boolean" +} - added
Output schema / properties / result / properties / claim / properties / citations / descriptionAdded value: +"Evidence quotes with url, title and source_type (wikipedia, wikidata, news, europepmc, fred, sec_edgar, or caller for your own sources)." - added
Output schema / properties / result / properties / sources_usedAdded value: +{ + "description": "Present when you sent sources: one entry per source with index, kind, url, title, status (used, fetch_failed, empty), chars and reason.", + "items": { + "type": "object" + }, + "type": "array" +}
4 tool updates
- First observed
check_answer - First observed
deep_verify - First observed
extract_claims - First observed
verify_claim
Related MCP Connectors
Pre-computed answers with sources and confidence, paid per call over x402 (USDC on Base).
Pay-per-call AI tools over x402: web research, summarization, structured extraction (USDC, Base).
34 pay-per-call AI and data tools over x402; USDC on Base; no API keys.
Market data and web intelligence for AI agents, paid per call in USDC on Base via x402.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceFacilitates fact-checking claims by searching the web and returning evidence snippets, with pay-per-call via x402 micropayments on Base L2.MIT
- AlicenseNot gradedqualityCmaintenancePay-per-call AI microservices settled in USDC on Base via the x402 (HTTP 402) protocol. 28 tools including web search, summarization, extraction, code review, deep research, crypto safety, sanctions screening and on-chain data — no accounts or API keys.7 npmApache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to run honeypot and owner-power safety checks on Base tokens and to read wallet ETH and USDC balances, with every answer sourced from real chain data and paid per call in USDC via x402.MIT
- AlicenseNot gradedqualityDmaintenanceReal-time fact-checking agent. Verifies claims and URLs against live web sources. Returns CURRENT, OUTDATED, DISPUTED, or UNVERIFIABLE verdicts with confidence scores and what changed. x402 payments on Base.54 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.