MCP server
Agents should not have to trust headline numbers either. The Basis MCP server exposes the claim database to any MCP-capable agent (Claude, Codex, Gemini, custom stacks) so trust checks can happen inside the agent loop — before a payment, an integration, or a citation.
Install
# Claude Code
claude mcp add basis -- npx -y @basis/mcp
# Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"basis": {
"command": "npx",
"args": ["-y", "@basis/mcp"],
"env": { "BASIS_API_URL": "https://basis.watch" }
}
}
}The server queries the live API first and falls back to a bundled snapshot of the claim database when offline, so answers are always labeled with their data vintage.
Tools
check_project_claim
Input: { project, query? }. Returns the project's reliability summary and its claims — status, confidence, evidence, sources, last-checked date — optionally filtered by a text query.
check_seller
Input: { address }. Returns sybil-adjusted metrics for a covered x402 seller, or an explicit “no coverage yet” response. Basis never fabricates metrics.
get_report
Input: { slug? }. Lists reports or returns full report metadata, sections, citations, hashes, and anchor status.
Example
> check_project_claim { "project": "gitlawb", "query": "bounties" }
{
"project": "Gitlawb",
"reliability": { "verified": 0, "partially_verified": 2,
"unverified": 1, "disputed": 1, "score": 33, "grade": "E" },
"claims": [{
"claimText": "Live bounties; agents earn onchain.",
"status": "disputed",
"evidence": "Bounty escrow contract not deployed to mainnet at check
time; the project's own page lists it as 'deploying soon'...",
"lastChecked": "2026-06-09"
}],
"disclaimer": "Status labels describe the state of public evidence, not
intent. Unverified does not mean false. See basis.watch/methodology"
}Full docs including data-freshness semantics ship with the package in docs/MCP.md. Future docs home: docs.basis.watch.