Docs
Two transports, same server. Remote clients speak Streamable HTTP directly; stdio clients use a zero-dependency shim that forwards JSON-RPC without interpreting it, so it cannot fall out of sync with the endpoint's protocol version.
{
"mcpServers": {
"veritap": { "command": "npx", "args": ["-y", "veritap-mcp"] }
}
}https://veritap.dev/mcp
No API key, no account, no rate-limit headers to manage. Free tools are marked readOnlyHint and idempotentHint so client confirmation dialogs do not gate speculative calls.
from langchain_mcp_adapters.client import MultiServerMCPClient
client = MultiServerMCPClient({
"veritap": {
"url": "https://veritap.dev/mcp",
"transport": "streamable_http",
}
})
tools = await client.get_tools()from crewai_tools import MCPServerAdapter
server = {"url": "https://veritap.dev/mcp", "transport": "streamable-http"}
with MCPServerAdapter(server) as tools:
agent = Agent(role="buyer", tools=tools, goal="...")| Variable | Default | Notes |
|---|---|---|
| VERITAP_ENDPOINT | https://veritap.dev/mcp | Shim target. |
| VERITAP_TIMEOUT_MS | 60000 | Per-request timeout in the shim. |
triage_unknowns takes up to 50 at once and tells you which you can settle yourself from public sources, naming the source.budget_ceiling_usd, cost_if_wrong and downstream_action are optional, and they are what decide which gaps get closed first.callback_url if you want to be told when an unsupported claim becomes supported. Otherwise you are told on your next call.Businesses, listings, objects and places. Claims about individuals — identity, employment, tenancy, background, whereabouts — are refused as a matter of policy, are not stored with their text, and do not enter the roadmap. Nobody is dispatched to inspect anything physically, so questions that need a person on site are answered honestly rather than guessed. Business-exists claims are answered now, free, returning a real evidence bundle; listing-consistency is in scope but not yet answered. Nothing is purchasable.