Metadata-Version: 2.4
Name: provenpaid-mcp
Version: 0.1.0
Summary: MCP server for ProvenPaid: check an x402 endpoint before your agent pays it. Evidence before you pay.
Author: Justin Smith
License-Expression: MIT
Project-URL: Homepage, https://api.provenpaid.com
Project-URL: Methodology, https://api.provenpaid.com/methodology
Project-URL: Source, https://github.com/justinsmithphd/provenpaid-mcp
Keywords: mcp,x402,agents,payments,usdc,base
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: mcp==2.3.0
Requires-Dist: x402[evm,httpx]==2.8.0
Requires-Dist: httpx>=0.27
Provides-Extra: dev
Requires-Dist: pytest>=8; extra == "dev"
Requires-Dist: pytest-asyncio>=0.23; extra == "dev"
Requires-Dist: x402[evm,fastapi,httpx]==2.8.0; extra == "dev"
Requires-Dist: fastapi>=0.110; extra == "dev"
Dynamic: license-file

# provenpaid-mcp

Give your agent a pre-payment check for paid x402 endpoints. **Evidence before you pay.**

<!-- mcp-name: com.provenpaid/mcp -->

[ProvenPaid](https://api.provenpaid.com) checks an x402 endpoint before your agent relies on it: is its payment challenge valid, and do real wallets actually pay it on-chain, come back, and how concentrated are payments? This MCP server exposes that check as a tool and pays for it automatically, about **$0.01 in USDC on Base** per check, from a wallet you control.

Use it **once before relying on an unfamiliar endpoint**, not before every call.

## Tools

| Tool | Cost | What it does |
|---|---|---|
| `check_x402_endpoint(url)` | about $0.01 | Validates the endpoint's x402 challenge and reports public on-chain evidence for its receiving address: distinct payers, repeat-payer share, payer concentration, coverage. |
| `provenpaid_methodology()` | free | How each signal is computed, what is not verified, and when a check is charged. |
| `provenpaid_status()` | free | Paying wallet address, network, price cap and paid checks left today. |

You are **not charged** when the URL is invalid or unsafe, is not an x402 endpoint, or offers no payment option in USDC on Base. Results are evidence, not a verdict: ProvenPaid does not verify service quality or that an endpoint controls its receiving address.

## Install

Requires Python 3.11+. With [uv](https://docs.astral.sh/uv/):

```bash
uvx provenpaid-mcp
```

or `pip install provenpaid-mcp`.

### Claude Desktop / Claude Code / Cursor

```json
{
  "mcpServers": {
    "provenpaid": {
      "command": "uvx",
      "args": ["provenpaid-mcp"],
      "env": {
        "PROVENPAID_WALLET_PRIVATE_KEY": "0x...",
        "PROVENPAID_DAILY_LIMIT": "20"
      }
    }
  }
}
```

## Wallet safety

- Use a **dedicated wallet** holding only a few dollars of USDC on Base. Never use a wallet with meaningful funds.
- The key stays on your machine, in memory only. It is never logged, returned by a tool, or sent anywhere; only signed payment authorizations leave the process.
- No ETH is needed: the payment facilitator pays network fees.

Guardrails enforced **before anything is signed**:

| Setting | Default | Meaning |
|---|---|---|
| `PROVENPAID_MAX_PRICE_USD` | `0.01` | Refuse any check priced above this (hard ceiling `0.10`). |
| `PROVENPAID_DAILY_LIMIT` | `20` | Maximum paid checks per UTC day, persisted across restarts. |
| `PROVENPAID_NETWORK` | `eip155:8453` | Pay only on this network, only in its USDC. `eip155:84532` for Base Sepolia testing. |
| `PROVENPAID_API_URL` | `https://api.provenpaid.com` | Must be https. |
| `PROVENPAID_STATE_DIR` | `~/.provenpaid-mcp` | Where the daily counter is kept. |

## How it works

The server calls `GET https://api.provenpaid.com/v1/check?url=...`. The API answers HTTP 402 with x402 payment requirements; the official [x402 SDK](https://github.com/coinbase/x402) signs a single-use USDC authorization within the guardrails above and retries. Settlement happens only when the check delivers evidence. Methodology: https://api.provenpaid.com/methodology

## License

MIT
