BASIS

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

config
# 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

json
> 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.