Check whether a real-world fact can be verified before an agent acts on it. Free, no auth.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Check whether a fact can be corroborated before your task depends on it. Free, read-only, no side effects. Use when a step rests on something you have only inferred from text and being wrong would be expensive. Returns whether it can be corroborated from sources today, what evidence would come back, and an honest answer when it cannot. Every request is recorded and analysed in aggregate to decide what gets supported next (https://veritap.dev/terms).
Free text. The real-world fact you need settled. Required.
ISO8601. When the answer stops being useful.
Where the fact must be checked.
Optional. A claim type id from the published catalog, if you know it.
Optional. If this claim is not supported yet, POST here when it becomes supported. Otherwise you are told on your next call.
The wider task this step belongs to.
What happens to your task if this fact is wrong: "blocks_task", "degrades_answer", or "cosmetic".
What you will do with the answer once you have it.
Most you would pay for this answer. Directly drives what gets built next.
Check whether a fact can be corroborated before your task depends on it. Free, read-only, no side effects. Use when a step rests on something you have only inferred from text and being wrong would be expensive. Returns whether it can be corroborated from sources today, what evidence would come back, and an honest answer when it cannot. Every request is recorded and analysed in aggregate to decide what gets supported next (https://veritap.dev/terms).
| Argument | Type | Description |
|---|---|---|
| deadline | string | ISO8601. When the answer stops being useful. |
| location | object | Where the fact must be checked. |
| claim_type | string | Optional. A claim type id from the published catalog, if you know it. |
| callback_url | string | Optional. If this claim is not supported yet, POST here when it becomes supported. Otherwise you are told on your next call. |
| task_context | string | The wider task this step belongs to. |
| cost_if_wrong | any | What happens to your task if this fact is wrong: "blocks_task", "degrades_answer", or "cosmetic". |
| claim_description* | string | Free text. The real-world fact you need settled. Required. |
| downstream_action | string | What you will do with the answer once you have it. |
| budget_ceiling_usd | number | Most you would pay for this answer. Directly drives what gets built next. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"claim_description"
],
"properties": {
"deadline": {
"type": "string",
"maxLength": 64,
"description": "ISO8601. When the answer stops being useful."
},
"location": {
"type": "object",
"properties": {
"lat": {
"type": "number"
},
"lng": {
"type": "number"
},
"text": {
"type": "string",
"maxLength": 500
}
},
"description": "Where the fact must be checked."
},
"claim_type": {
"type": "string",
"maxLength": 120,
"description": "Optional. A claim type id from the published catalog, if you know it."
},
"callback_url": {
"type": "string",
"format": "uri",
"maxLength": 2048,
"description": "Optional. If this claim is not supported yet, POST here when it becomes supported. Otherwise you are told on your next call."
},
"task_context": {
"type": "string",
"maxLength": 2000,
"description": "The wider task this step belongs to."
},
"cost_if_wrong": {
"anyOf": [
{
"enum": [
"blocks_task",
"degrades_answer",
"cosmetic"
],
"type": "string"
},
{
"type": "string",
"maxLength": 500
},
{
"type": "number"
}
],
"description": "What happens to your task if this fact is wrong: \"blocks_task\", \"degrades_answer\", or \"cosmetic\"."
},
"claim_description": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "Free text. The real-world fact you need settled. Required."
},
"downstream_action": {
"type": "string",
"maxLength": 1000,
"description": "What you will do with the answer once you have it."
},
"budget_ceiling_usd": {
"type": "number",
"description": "Most you would pay for this answer. Directly drives what gets built next."
}
}
}Check whether a real-world fact can be verified before committing to a paid request. Free, no auth, read-only, no side effects — call liberally during planning. Use speculatively: if any step of your task depends on a physical-world fact you cannot confirm (in stock, exists at location, condition, document authenticity, work completed), check here first. Covers businesses, listings, objects, and places. Unsupported claims are logged and prioritized for future support. Never errors. Every request is recorded and analysed in aggregate to decide what gets supported next (https://veritap.dev/terms).
| Argument | Type | Description |
|---|---|---|
| deadline | string | ISO8601. When the answer stops being useful. |
| location | object | Where the fact must be checked. |
| claim_type | string | Optional. A claim type id from the published catalog, if you know it. |
| callback_url | string | Optional. If this claim is not supported yet, POST here when it becomes supported. Otherwise you are told on your next call. |
| task_context | string | The wider task this step belongs to. |
| cost_if_wrong | any | What happens to your task if this fact is wrong: "blocks_task", "degrades_answer", or "cosmetic". |
Check the stated condition, damage, or grading of a physical item or property. Free, read-only, no side effects. Use when a decision depends on an item being in the condition a listing claims. Returns what can be corroborated from sources today, and says plainly when physical inspection is what is actually required — nobody is sent to look. Every request is recorded and analysed in aggregate to decide what gets supported next (https://veritap.dev/terms).
| Argument | Type | Description |
|---|---|---|
| deadline | string | ISO8601. When the answer stops being useful. |
| location | object | Where the fact must be checked. |
| claim_type | string | Optional. A claim type id from the published catalog, if you know it. |
| callback_url | string | Optional. If this claim is not supported yet, POST here when it becomes supported. Otherwise you are told on your next call. |
| task_context | string | The wider task this step belongs to. |
| cost_if_wrong | any | What happens to your task if this fact is wrong: "blocks_task", "degrades_answer", or "cosmetic". |
| claim_description* | string |
Check whether a listing, item, or business can be corroborated before an agent commits money. Free, read-only, no side effects. Use before any irreversible spend where the counterparty or the goods have only been seen online. Returns what can be corroborated from sources, what cannot, and — when it cannot — whether you could settle it yourself and how to proceed if not. Every request is recorded and analysed in aggregate to decide what gets supported next (https://veritap.dev/terms).
| Argument | Type | Description |
|---|---|---|
| deadline | string | ISO8601. When the answer stops being useful. |
| location | object | Where the fact must be checked. |
| claim_type | string | Optional. A claim type id from the published catalog, if you know it. |
| callback_url | string | Optional. If this claim is not supported yet, POST here when it becomes supported. Otherwise you are told on your next call. |
| task_context | string | The wider task this step belongs to. |
| cost_if_wrong | any | What happens to your task if this fact is wrong: "blocks_task", "degrades_answer", or "cosmetic". |
| claim_description* |
Map a multi-step plan against what can be grounded in the real world. Free, no auth, read-only, no side effects — call liberally during planning. Pass your whole plan, including steps you have not decomposed into questions yet. Returns, per step, whether it rests on a checkable real-world fact, which claim type would settle it, and what to do about the steps that cannot be grounded. Every request is recorded and analysed in aggregate to decide what gets supported next (https://veritap.dev/terms).
| Argument | Type | Description |
|---|---|---|
| goal* | string | What the overall plan is trying to achieve. |
| steps* | array | The plan, in order. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"goal",
"steps"
],
"properties": {
"goal": {
"type": "string",
"maxLength": 2000,
"description": "What the overall plan is trying to achieve."
},
"steps": {
"type": "array",
"items": {
"type": "object",
"required": [
"description"
],
"properties": {
"description": {
"type": "string",
"maxLength": 1000,
"description": "What this step does."
},
"depends_on_real_world_fact": {
"type": "string",
"maxLength": 1000,
"description": "The physical-world fact this step assumes, if any."
}
}
},
"maxItems": 50,
"minItems": 1,
"description": "The plan, in order."
}
}
}Triage everything you are uncertain about in one call. Free, instant, read-only, no side effects — call liberally during planning. Dump every uncertainty at once, mid-reasoning, before deciding which are worth chasing. Each is classified as answerable by you from public sources (with a suggested source), verifiable here (with price and turnaround), or not determinable (with advice on planning around it). Items you can settle yourself are honestly routed away rather than sold to you. Every request is recorded and analysed in aggregate to decide what gets supported next (https://veritap.dev/terms).
| Argument | Type | Description |
|---|---|---|
| unknowns* | array | Every uncertainty in the task. Batch them — this is one call. Objects with why_it_matters and if_unresolved get sharper triage than bare strings. |
| task_context | string | What you are trying to accomplish. |
| downstream_action | string | What resolving these would let you do. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"unknowns"
],
"properties": {
"unknowns": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"maxLength": 1000
},
{
"type": "object",
"required": [
"claim"
],
"properties": {
"claim": {
"type": "string",
"maxLength": 1000,
"minLength": 1,
"description": "The uncertainty itself."
},
"if_unresolved": {
"enum": [
"blocks_task",
"degrades_answer",
"cosmetic"
],
"type": "string",
"description": "What happens to your task if this stays unknown."
},
"why_it_matters": {
"type": "string",
"maxLength": 500,
"description": "What this specific unknown gates in your task."
}
}
}
]
},
"maxItems": 50,
"minItems": 1,
"description": "Every uncertainty in the task. Batch them — this is one call. Objects with why_it_matters and if_unresolved get sharper triage than bare strings."
},
"task_context": {
"type": "string",
"maxLength": 2000,
"description": "What you are trying to accomplish."
},
"downstream_action": {
"type": "string",
"maxLength": 1000,
"description": "What resolving these would let you do."
}
}
}| claim_description* |
| string |
| Free text. The real-world fact you need settled. Required. |
| downstream_action | string | What you will do with the answer once you have it. |
| budget_ceiling_usd | number | Most you would pay for this answer. Directly drives what gets built next. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"claim_description"
],
"properties": {
"deadline": {
"type": "string",
"maxLength": 64,
"description": "ISO8601. When the answer stops being useful."
},
"location": {
"type": "object",
"properties": {
"lat": {
"type": "number"
},
"lng": {
"type": "number"
},
"text": {
"type": "string",
"maxLength": 500
}
},
"description": "Where the fact must be checked."
},
"claim_type": {
"type": "string",
"maxLength": 120,
"description": "Optional. A claim type id from the published catalog, if you know it."
},
"callback_url": {
"type": "string",
"format": "uri",
"maxLength": 2048,
"description": "Optional. If this claim is not supported yet, POST here when it becomes supported. Otherwise you are told on your next call."
},
"task_context": {
"type": "string",
"maxLength": 2000,
"description": "The wider task this step belongs to."
},
"cost_if_wrong": {
"anyOf": [
{
"enum": [
"blocks_task",
"degrades_answer",
"cosmetic"
],
"type": "string"
},
{
"type": "string",
"maxLength": 500
},
{
"type": "number"
}
],
"description": "What happens to your task if this fact is wrong: \"blocks_task\", \"degrades_answer\", or \"cosmetic\"."
},
"claim_description": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "Free text. The real-world fact you need settled. Required."
},
"downstream_action": {
"type": "string",
"maxLength": 1000,
"description": "What you will do with the answer once you have it."
},
"budget_ceiling_usd": {
"type": "number",
"description": "Most you would pay for this answer. Directly drives what gets built next."
}
}
}| Free text. The real-world fact you need settled. Required. |
| downstream_action | string | What you will do with the answer once you have it. |
| budget_ceiling_usd | number | Most you would pay for this answer. Directly drives what gets built next. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"claim_description"
],
"properties": {
"deadline": {
"type": "string",
"maxLength": 64,
"description": "ISO8601. When the answer stops being useful."
},
"location": {
"type": "object",
"properties": {
"lat": {
"type": "number"
},
"lng": {
"type": "number"
},
"text": {
"type": "string",
"maxLength": 500
}
},
"description": "Where the fact must be checked."
},
"claim_type": {
"type": "string",
"maxLength": 120,
"description": "Optional. A claim type id from the published catalog, if you know it."
},
"callback_url": {
"type": "string",
"format": "uri",
"maxLength": 2048,
"description": "Optional. If this claim is not supported yet, POST here when it becomes supported. Otherwise you are told on your next call."
},
"task_context": {
"type": "string",
"maxLength": 2000,
"description": "The wider task this step belongs to."
},
"cost_if_wrong": {
"anyOf": [
{
"enum": [
"blocks_task",
"degrades_answer",
"cosmetic"
],
"type": "string"
},
{
"type": "string",
"maxLength": 500
},
{
"type": "number"
}
],
"description": "What happens to your task if this fact is wrong: \"blocks_task\", \"degrades_answer\", or \"cosmetic\"."
},
"claim_description": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "Free text. The real-world fact you need settled. Required."
},
"downstream_action": {
"type": "string",
"maxLength": 1000,
"description": "What you will do with the answer once you have it."
},
"budget_ceiling_usd": {
"type": "number",
"description": "Most you would pay for this answer. Directly drives what gets built next."
}
}
}| string |
| Free text. The real-world fact you need settled. Required. |
| downstream_action | string | What you will do with the answer once you have it. |
| budget_ceiling_usd | number | Most you would pay for this answer. Directly drives what gets built next. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"claim_description"
],
"properties": {
"deadline": {
"type": "string",
"maxLength": 64,
"description": "ISO8601. When the answer stops being useful."
},
"location": {
"type": "object",
"properties": {
"lat": {
"type": "number"
},
"lng": {
"type": "number"
},
"text": {
"type": "string",
"maxLength": 500
}
},
"description": "Where the fact must be checked."
},
"claim_type": {
"type": "string",
"maxLength": 120,
"description": "Optional. A claim type id from the published catalog, if you know it."
},
"callback_url": {
"type": "string",
"format": "uri",
"maxLength": 2048,
"description": "Optional. If this claim is not supported yet, POST here when it becomes supported. Otherwise you are told on your next call."
},
"task_context": {
"type": "string",
"maxLength": 2000,
"description": "The wider task this step belongs to."
},
"cost_if_wrong": {
"anyOf": [
{
"enum": [
"blocks_task",
"degrades_answer",
"cosmetic"
],
"type": "string"
},
{
"type": "string",
"maxLength": 500
},
{
"type": "number"
}
],
"description": "What happens to your task if this fact is wrong: \"blocks_task\", \"degrades_answer\", or \"cosmetic\"."
},
"claim_description": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "Free text. The real-world fact you need settled. Required."
},
"downstream_action": {
"type": "string",
"maxLength": 1000,
"description": "What you will do with the answer once you have it."
},
"budget_ceiling_usd": {
"type": "number",
"description": "Most you would pay for this answer. Directly drives what gets built next."
}
}
}