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