Skip to main content
Glama
cristiano-c1

truth-anchor-agent

by cristiano-c1

⚓️ Truth Anchor Agent

License: MIT Built on Base MCP x402

Truth Anchor Agent is an MCP (Model Context Protocol) server for citation attestation. Before an agent cites a source, it can verify that the URL resolves, record the final destination, capture lightweight page metadata, and return a content hash of what was fetched.

The Problem: AI agents often cite dead, redirected, or changed URLs without checking what the source looked like at the time of use. The Solution: A paid verification step that records source availability and lightweight attestation metadata before the agent relies on a citation.


What It Guarantees

  • The URL was fetched at verification time.

  • The service reports the final URL, HTTP status, redirect behavior, and basic HTML metadata.

  • The response includes a content_sha256 hash so downstream systems can anchor what was observed.

  • Optional claim matching is a simple substring check.

Related MCP server: Predicate

What It Does Not Guarantee

  • It is not a semantic fact-checking engine.

  • It does not prove a page is trustworthy, only what the service observed when it fetched it.

  • It does not replace search, RAG, or human review for complex claims.


🛠 Model Context Protocol (MCP) Integration

This server exposes a verify_url tool that any MCP-compliant LLM (Claude Desktop, ChatGPT, IDEs) can use autonomously.

Registration in Claude Desktop

Add this to your claude_desktop_config.json:

{
  "mcpServers": {
    "truth-anchor": {
      "command": "npx",
      "args": ["-y", "truth-anchor-agent"],
      "env": {
        "MY_WALLET_ADDRESS": "0x367B9193D4F9cb4877Ca58E6F3ce944d761d8009"
      }
    }
  }
}

Interfaces

MCP tool

The MCP tool uses a two-step flow:

  1. Call verify_url with a URL.

  2. Receive payment instructions if no payment proof is provided.

  3. Retry with tx_hash after sending the payment.

HTTP API

The HTTP API uses an API key plus x402-style signed payments:

  1. POST /auth/provision to get a free API key.

  2. Use the first 50 requests for free.

  3. After that, attach X-Payment to POST /verify.


💳 The Payment Flow

The HTTP API implements a 402 Payment Required flow for paid requests after the free tier is exhausted.

  1. Request: Agent calls /verify with a URL.

  2. Challenge: Server returns 402 Payment Required with payment instructions.

  3. Payment: Agent signs a Base USDC payment authorization.

  4. Verification: Agent retries with the X-Payment header.

  5. Attestation: Server verifies the payment and returns the source check.


⚡️ API Reference

POST /verify

Verifies that a source resolves and returns attestation metadata. Requires:

  • Authorization: Bearer <api_key>

  • X-Payment after the free tier is exhausted

Headers:

Header

Description

Authorization

API key returned by POST /auth/provision

X-Payment

Signed x402/EIP-3009 payment payload after the free tier

Request Body:

{
  "url": "https://base.org",
  "claim": "Base is an Ethereum L2"
}

Success Response (200 OK):

{
  "url": "https://base.org",
  "final_url": "https://base.org/",
  "is_live": true,
  "status_code": 200,
  "redirected": false,
  "ssl_valid": true,
  "checked_at": "2026-04-02T12:00:00Z",
  "content_type": "text/html",
  "content_length_bytes": 31245,
  "title": "Base",
  "description": "Base is a secure, low-cost, builder-friendly Ethereum L2.",
  "content_sha256": "9d72c4...",
  "claim": "Base is an Ethereum L2",
  "claim_found": true,
  "claim_match_method": "substring",
  "paid": false,
  "free_requests_remaining": 49
}

🏗 Tech Stack

  • FastAPI — High-performance Python API framework.

  • Web3.py — Real-time on-chain verification (Base RPC).

  • SQLite — Replay attack prevention and transaction indexing.

  • Fly.io — Global edge deployment.

  • Base — L2 Ethereum for fast, low-cost USDC payments.


Positioning Notes

  • Primary wedge: citation attestation for agents

  • Rejected for now: broad truth layer, general fact-checking, and multi-tool expansion

  • Product gap and validation notes live in docs/product-positioning.md, docs/user-validation.md, and docs/user-validation-proxy.md


🛠 Local Development

# 1. Clone and Install
git clone https://github.com/cristiano-c1/truth-anchor-agent
cd truth-anchor-agent
pip install -r requirements.txt

# 2. Configure
echo "MY_WALLET_ADDRESS=0x367B9193D4F9cb4877Ca58E6F3ce944d761d8009" > .env

# 3. Run
uvicorn main:app --reload

📜 License

Distributed under the MIT License. See LICENSE for more information.

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
2wRelease cycle
2Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

  • An MCP Server that provides identity verification and anti-fraud tools for AI agents via deepidv.

  • MCP server connecting AI agents to non-custodial staking data across 130+ networks.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cristiano-c1/truth-anchor-agent'

If you have feedback or need assistance with the MCP directory API, please join our Discord server