{
  "data": {
    "tool": {
      "category": "",
      "endpoint": "https://veritap.dev/mcp",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/veritap.json",
      "kind": "mcp",
      "listed": "indexed",
      "liveUrl": "https://www.anchorterminal.com/api/v1/live/veritap.json",
      "markdownUrl": "https://www.anchorterminal.com/tools/veritap.md",
      "mcpTools": {
        "check": {
          "checker": "anchor-check/1.0",
          "totalTokens": 3050,
          "counts": {
            "error": 0,
            "note": 1,
            "warn": 0
          },
          "findings": [
            {
              "rule": "TC24",
              "severity": "note",
              "message": "6 of 6 tools have no outputSchema",
              "fix": "Declare outputSchema for tools that return structured data, and return structuredContent that matches it."
            }
          ]
        },
        "checkedAt": "2026-10-04T22:25:01Z",
        "count": 6,
        "schemaTokens": 3050,
        "status": "ok",
        "tools": [
          {
            "name": "check_feasibility",
            "title": "Check whether a real-world fact can be verified",
            "description": "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.\n\nUse 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.\n\nEvery request is recorded and analysed in aggregate to decide what gets supported next (https://veritap.dev/terms).",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "budget_ceiling_usd": {
                  "description": "Most you would pay for this answer. Directly drives what gets built next.",
                  "type": "number"
                },
                "callback_url": {
                  "description": "Optional. If this claim is not supported yet, POST here when it becomes supported. Otherwise you are told on your next call.",
                  "format": "uri",
                  "maxLength": 2048,
                  "type": "string"
                },
                "claim_description": {
                  "description": "Free text. The real-world fact you need settled. Required.",
                  "maxLength": 2000,
                  "minLength": 1,
                  "type": "string"
                },
                "claim_type": {
                  "description": "Optional. A claim type id from the published catalog, if you know it.",
                  "maxLength": 120,
                  "type": "string"
                },
                "cost_if_wrong": {
                  "anyOf": [
                    {
                      "enum": [
                        "blocks_task",
                        "degrades_answer",
                        "cosmetic"
                      ],
                      "type": "string"
                    },
                    {
                      "maxLength": 500,
                      "type": "string"
                    },
                    {
                      "type": "number"
                    }
                  ],
                  "description": "What happens to your task if this fact is wrong: \"blocks_task\", \"degrades_answer\", or \"cosmetic\"."
                },
                "deadline": {
                  "description": "ISO8601. When the answer stops being useful.",
                  "maxLength": 64,
                  "type": "string"
                },
                "downstream_action": {
                  "description": "What you will do with the answer once you have it.",
                  "maxLength": 1000,
                  "type": "string"
                },
                "location": {
                  "description": "Where the fact must be checked.",
                  "properties": {
                    "lat": {
                      "type": "number"
                    },
                    "lng": {
                      "type": "number"
                    },
                    "text": {
                      "maxLength": 500,
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "task_context": {
                  "description": "The wider task this step belongs to.",
                  "maxLength": 2000,
                  "type": "string"
                }
              },
              "required": [
                "claim_description"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "confirm_before_purchase",
            "title": "Confirm a listing or seller is real before spending money",
            "description": "Check whether a listing, item, or business can be corroborated before an agent commits money. Free, read-only, no side effects.\n\nUse 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.\n\nEvery request is recorded and analysed in aggregate to decide what gets supported next (https://veritap.dev/terms).",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "budget_ceiling_usd": {
                  "description": "Most you would pay for this answer. Directly drives what gets built next.",
                  "type": "number"
                },
                "callback_url": {
                  "description": "Optional. If this claim is not supported yet, POST here when it becomes supported. Otherwise you are told on your next call.",
                  "format": "uri",
                  "maxLength": 2048,
                  "type": "string"
                },
                "claim_description": {
                  "description": "Free text. The real-world fact you need settled. Required.",
                  "maxLength": 2000,
                  "minLength": 1,
                  "type": "string"
                },
                "claim_type": {
                  "description": "Optional. A claim type id from the published catalog, if you know it.",
                  "maxLength": 120,
                  "type": "string"
                },
                "cost_if_wrong": {
                  "anyOf": [
                    {
                      "enum": [
                        "blocks_task",
                        "degrades_answer",
                        "cosmetic"
                      ],
                      "type": "string"
                    },
                    {
                      "maxLength": 500,
                      "type": "string"
                    },
                    {
                      "type": "number"
                    }
                  ],
                  "description": "What happens to your task if this fact is wrong: \"blocks_task\", \"degrades_answer\", or \"cosmetic\"."
                },
                "deadline": {
                  "description": "ISO8601. When the answer stops being useful.",
                  "maxLength": 64,
                  "type": "string"
                },
                "downstream_action": {
                  "description": "What you will do with the answer once you have it.",
                  "maxLength": 1000,
                  "type": "string"
                },
                "location": {
                  "description": "Where the fact must be checked.",
                  "properties": {
                    "lat": {
                      "type": "number"
                    },
                    "lng": {
                      "type": "number"
                    },
                    "text": {
                      "maxLength": 500,
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "task_context": {
                  "description": "The wider task this step belongs to.",
                  "maxLength": 2000,
                  "type": "string"
                }
              },
              "required": [
                "claim_description"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "check_before_relying",
            "title": "Check a fact before relying on it",
            "description": "Check whether a fact can be corroborated before your task depends on it. Free, read-only, no side effects.\n\nUse 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.\n\nEvery request is recorded and analysed in aggregate to decide what gets supported next (https://veritap.dev/terms).",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "budget_ceiling_usd": {
                  "description": "Most you would pay for this answer. Directly drives what gets built next.",
                  "type": "number"
                },
                "callback_url": {
                  "description": "Optional. If this claim is not supported yet, POST here when it becomes supported. Otherwise you are told on your next call.",
                  "format": "uri",
                  "maxLength": 2048,
                  "type": "string"
                },
                "claim_description": {
                  "description": "Free text. The real-world fact you need settled. Required.",
                  "maxLength": 2000,
                  "minLength": 1,
                  "type": "string"
                },
                "claim_type": {
                  "description": "Optional. A claim type id from the published catalog, if you know it.",
                  "maxLength": 120,
                  "type": "string"
                },
                "cost_if_wrong": {
                  "anyOf": [
                    {
                      "enum": [
                        "blocks_task",
                        "degrades_answer",
                        "cosmetic"
                      ],
                      "type": "string"
                    },
                    {
                      "maxLength": 500,
                      "type": "string"
                    },
                    {
                      "type": "number"
                    }
                  ],
                  "description": "What happens to your task if this fact is wrong: \"blocks_task\", \"degrades_answer\", or \"cosmetic\"."
                },
                "deadline": {
                  "description": "ISO8601. When the answer stops being useful.",
                  "maxLength": 64,
                  "type": "string"
                },
                "downstream_action": {
                  "description": "What you will do with the answer once you have it.",
                  "maxLength": 1000,
                  "type": "string"
                },
                "location": {
                  "description": "Where the fact must be checked.",
                  "properties": {
                    "lat": {
                      "type": "number"
                    },
                    "lng": {
                      "type": "number"
                    },
                    "text": {
                      "maxLength": 500,
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "task_context": {
                  "description": "The wider task this step belongs to.",
                  "maxLength": 2000,
                  "type": "string"
                }
              },
              "required": [
                "claim_description"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "check_physical_condition",
            "title": "Check the condition or grading of a physical item",
            "description": "Check the stated condition, damage, or grading of a physical item or property. Free, read-only, no side effects.\n\nUse 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.\n\nEvery request is recorded and analysed in aggregate to decide what gets supported next (https://veritap.dev/terms).",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "budget_ceiling_usd": {
                  "description": "Most you would pay for this answer. Directly drives what gets built next.",
                  "type": "number"
                },
                "callback_url": {
                  "description": "Optional. If this claim is not supported yet, POST here when it becomes supported. Otherwise you are told on your next call.",
                  "format": "uri",
                  "maxLength": 2048,
                  "type": "string"
                },
                "claim_description": {
                  "description": "Free text. The real-world fact you need settled. Required.",
                  "maxLength": 2000,
                  "minLength": 1,
                  "type": "string"
                },
                "claim_type": {
                  "description": "Optional. A claim type id from the published catalog, if you know it.",
                  "maxLength": 120,
                  "type": "string"
                },
                "cost_if_wrong": {
                  "anyOf": [
                    {
                      "enum": [
                        "blocks_task",
                        "degrades_answer",
                        "cosmetic"
                      ],
                      "type": "string"
                    },
                    {
                      "maxLength": 500,
                      "type": "string"
                    },
                    {
                      "type": "number"
                    }
                  ],
                  "description": "What happens to your task if this fact is wrong: \"blocks_task\", \"degrades_answer\", or \"cosmetic\"."
                },
                "deadline": {
                  "description": "ISO8601. When the answer stops being useful.",
                  "maxLength": 64,
                  "type": "string"
                },
                "downstream_action": {
                  "description": "What you will do with the answer once you have it.",
                  "maxLength": 1000,
                  "type": "string"
                },
                "location": {
                  "description": "Where the fact must be checked.",
                  "properties": {
                    "lat": {
                      "type": "number"
                    },
                    "lng": {
                      "type": "number"
                    },
                    "text": {
                      "maxLength": 500,
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "task_context": {
                  "description": "The wider task this step belongs to.",
                  "maxLength": 2000,
                  "type": "string"
                }
              },
              "required": [
                "claim_description"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "plan_verification",
            "title": "Map which steps of a plan depend on unverified real-world facts",
            "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.\n\nPass 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.\n\nEvery request is recorded and analysed in aggregate to decide what gets supported next (https://veritap.dev/terms).",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "goal": {
                  "description": "What the overall plan is trying to achieve.",
                  "maxLength": 2000,
                  "type": "string"
                },
                "steps": {
                  "description": "The plan, in order.",
                  "items": {
                    "properties": {
                      "depends_on_real_world_fact": {
                        "description": "The physical-world fact this step assumes, if any.",
                        "maxLength": 1000,
                        "type": "string"
                      },
                      "description": {
                        "description": "What this step does.",
                        "maxLength": 1000,
                        "type": "string"
                      }
                    },
                    "required": [
                      "description"
                    ],
                    "type": "object"
                  },
                  "maxItems": 50,
                  "minItems": 1,
                  "type": "array"
                }
              },
              "required": [
                "goal",
                "steps"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "triage_unknowns",
            "title": "Triage a batch of uncertainties into answerable, verifiable, or neither",
            "description": "Triage everything you are uncertain about in one call. Free, instant, read-only, no side effects — call liberally during planning.\n\nDump 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.\n\nEvery request is recorded and analysed in aggregate to decide what gets supported next (https://veritap.dev/terms).",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "downstream_action": {
                  "description": "What resolving these would let you do.",
                  "maxLength": 1000,
                  "type": "string"
                },
                "task_context": {
                  "description": "What you are trying to accomplish.",
                  "maxLength": 2000,
                  "type": "string"
                },
                "unknowns": {
                  "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.",
                  "items": {
                    "anyOf": [
                      {
                        "maxLength": 1000,
                        "type": "string"
                      },
                      {
                        "properties": {
                          "claim": {
                            "description": "The uncertainty itself.",
                            "maxLength": 1000,
                            "minLength": 1,
                            "type": "string"
                          },
                          "if_unresolved": {
                            "description": "What happens to your task if this stays unknown.",
                            "enum": [
                              "blocks_task",
                              "degrades_answer",
                              "cosmetic"
                            ],
                            "type": "string"
                          },
                          "why_it_matters": {
                            "description": "What this specific unknown gates in your task.",
                            "maxLength": 500,
                            "type": "string"
                          }
                        },
                        "required": [
                          "claim"
                        ],
                        "type": "object"
                      }
                    ]
                  },
                  "maxItems": 50,
                  "minItems": 1,
                  "type": "array"
                }
              },
              "required": [
                "unknowns"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true
            }
          }
        ]
      },
      "name": "veritap",
      "note": "Indexed from the official MCP registry: facts and our own checks, not reviewed, so no score, grade or rank.",
      "packages": [
        {
          "registryType": "npm",
          "identifier": "veritap-mcp",
          "version": "0.1.3",
          "transport": "stdio"
        }
      ],
      "pageJsonUrl": "https://www.anchorterminal.com/tools/veritap.json",
      "popularity": {
        "npmWeekly": 30
      },
      "registryName": "dev.veritap/veritap",
      "remotes": [
        {
          "type": "streamable-http",
          "url": "https://veritap.dev/mcp"
        }
      ],
      "repository": "",
      "reviewed": false,
      "slug": "veritap",
      "source": "the official MCP registry",
      "sourceUrl": "https://registry.modelcontextprotocol.io/v0.1/servers?search=dev.veritap/veritap",
      "summary": "Check whether a real-world fact can be verified before an agent acts on it. Free, no auth.",
      "updatedAt": "2026-08-12T12:13:14Z",
      "url": "https://www.anchorterminal.com/tools/veritap",
      "vendor": "veritap.dev",
      "vendorUrl": "https://veritap.dev",
      "version": "0.1.3",
      "websiteUrl": "https://veritap.dev",
      "where": "both",
      "why": [
        "vendor"
      ]
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/tools/veritap",
    "json": "https://www.anchorterminal.com/tools/veritap.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/tools/veritap.md",
    "slim": "https://www.anchorterminal.com/tools/veritap.min.md"
  },
  "markdown": "# veritap\n\n\u003e Indexed, not reviewed: facts from the official MCP registry and our own checks. No score, grade or rank, and not in the rankings until the panel reviews it. How the index works: https://www.anchorterminal.com/indexed/\n\n- Kind: MCP server, by veritap.dev (https://veritap.dev)\n- Listed because: It's published in the registry under veritap.dev, a namespace the registry only gives to whoever proves they control that domain.\n- What the official MCP registry says: Check whether a real-world fact can be verified before an agent acts on it. Free, no auth.\n\n## Facts\n\n- MCP registry: `dev.veritap/veritap` 0.1.3\n- Endpoint: https://veritap.dev/mcp (streamable HTTP)\n- Package: npm `veritap-mcp` (stdio)\n- Website: https://veritap.dev\n- npm downloads a week: 30\n- Registry entry updated: 2026-08-12\n\n## Tools\n\n- Tools it lists (6, about 3,050 tokens of context, `tools/list` without credentials over MCP 2026-07-28, checked 2026-10-04 22:25 UTC):\n  - `check_feasibility` (read-only): 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…\n  - `confirm_before_purchase` (read-only): 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…\n  - `check_before_relying` (read-only): 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…\n  - `check_physical_condition` (read-only): 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…\n  - `plan_verification` (read-only): 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…\n  - `triage_unknowns` (read-only): Triage everything you are uncertain about in one call. Free, instant, read-only, no side effects — call liberally during planning. Dump every uncertainty at…\n- How its tools read to an agent (0 errors, 0 warnings, 1 note, about 3,050 tokens; rules at https://www.anchorterminal.com/check.md; not part of the score):\n  - note TC24 server: 6 of 6 tools have no outputSchema\n\n- JSON: https://www.anchorterminal.com/api/v1/tools/veritap.json\n- Being indexed says nothing about quality, and nobody can pay for it. Ask for a review: https://www.anchorterminal.com/builders/#claiming\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Terminal",
        "url": "https://www.anchorterminal.com/tools/"
      },
      {
        "name": "Indexed",
        "url": "https://www.anchorterminal.com/indexed/"
      },
      {
        "name": "veritap",
        "url": ""
      }
    ],
    "description": "veritap, an MCP server by veritap.dev, listed from the official MCP registry. Indexed, not reviewed: facts and our own checks, no score or ranking. Check whether a real-world fact can be verified before an agent acts on it. Free, no auth.",
    "facts": [
      "not reviewed",
      "not ranked",
      "facts only"
    ],
    "h1": "veritap",
    "image": "https://www.anchorterminal.com/assets/og/indexed.png",
    "path": "/tools/veritap",
    "published": "",
    "section": "indexed",
    "title": "veritap: MCP server, indexed from the official MCP registry",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/tools/veritap"
  },
  "tokens": {
    "markdown": 800,
    "slim": 730
  },
  "version": 1
}
