Attest

Scan agent payment endpoints (x402, AP2, L402, MPP, 402) for a trust grade A-F before paying.

Should I use this

Quality & Safety

A
Description quality
85%
Schema completeness
100%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (1)

  • LOWTool 'attest_scan' description lacks action verbin attest_scan

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~323Tokens (tool definitions)
~1.1 KBTypical response size
Minimal attention impact (0.25% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "attest-mcp": {
      "command": "npx",
      "args": [
        "attest-mcp"
      ]
    }
  }
}

Runnable packages

npmattest-mcp1.0.0stdio

Remote endpoints

https://attestagent.org/api/mcpstreamable-http

What it can do

Tool inventory

Tools (2)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
⚪attest_scan(url)

Scan an agent payment endpoint (x402 / HTTP 402) and return a letter grade A to F with a safety verdict before paying.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The endpoint URL to scan."
    }
  },
  "required": [
    "url"
  ]
}
🟢attest_guard(url, payTo, amount, asset, network, ...)

Verify a live 402 payment offer at the moment of spend. Pass the EXACT offer you just received (url, payTo, amount, asset, network) and get an allow / warn / block verdict with machine-readable reasons: wallet mismatch vs the verified payout wallet, price swaps vs the last verified quote, danger flags, blocklisted wallets, and typosquats. Call this AFTER receiving a 402 offer and BEFORE authorizing the payment.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The endpoint URL you are about to pay."
    },
    "payTo": {
      "type": "string",
      "description": "The payout address presented in the live 402 offer."
    },
    "amount": {
      "type": "string",
      "description": "The offered amount in atomic units, as a string."
    },
    "asset": {
      "type": "string",
      "description": "Asset contract address or symbol from the offer."
    },
    "network": {
      "type": "string",
      "description": "Network / chain identifier from the offer (e.g. base, solana)."
    },
    "scheme": {
      "type": "string",
      "description": "Optional payment scheme (e.g. exact)."
    }
  },
  "required": [
    "url",
    "payTo",
    "amount",
    "asset",
    "network"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded2 tools
verifiedversion not recorded2 tools
verifiedversion not recorded2 tools
verifiedversion not recorded2 tools
verifiedversion not recorded2 tools
verifiedversion not recorded2 tools
verifiedversion not recorded2 tools