x402-money-farm
# x402 Money Farm — MCP server
Paid web-extraction tools for agents. No account, no API key, no subscription,
no signup form: each call settles a fraction of a cent in USDC on Base, per
request, and the response arrives only after settlement.
| Tool | What it returns | Price |
| --- | --- | --- |
| `farm_catalog` | Everything below, with live prices and wallet status | free |
| `farm_clean_text` | Main article text without nav/ads/boilerplate, text or Markdown | $0.02 |
| `farm_metadata` | Title, description, canonical, OpenGraph, Twitter, icons, dates | $0.01 |
| `farm_links` | All links, absolutised, deduplicated, internal/external, per-host counts | $0.01 |
| `farm_jsonld` | JSON-LD blocks parsed and indexed by schema.org type | $0.01 |
| `farm_fingerprint` | Noise-normalised page fingerprint plus a changed/unchanged verdict | $0.015 |
## Add it to a client
Claude Desktop — `claude_desktop_config.json`:
```json
{
"mcpServers": {
"x402-money-farm": {
"command": "npx",
"args": ["-y", "x402-money-farm-mcp"],
"env": {
"X402_PRIVATE_KEY": "0xyour_funded_base_wallet_key",
"X402_MAX_USD": "1.00"
}
}
}
}
```
Claude Code:
```bash
claude mcp add x402-money-farm \
--env X402_PRIVATE_KEY=0x... \
--env X402_MAX_USD=1.00 \
-- npx -y x402-money-farm-mcp
```
Any other MCP client works the same way — it is a plain stdio server.
## Try it before paying anything
```bash
npx -y x402-money-farm-mcp
```
Then have the agent call `farm_catalog`. It reports the live prices, whether a
wallet is configured and how much has been spent this session. Nothing is
billed, and no wallet is needed to see it. If the prices do not suit you, you
learned that for free.
## Configuration
The server pays from **your** wallet, one call at a time. Gas is paid by the
facilitator, so the wallet needs USDC on Base but no ETH.
| Variable | Default | Meaning |
| --- | --- | --- |
| `X402_PRIVATE_KEY` | — | Your funded Base wallet, `0x` + 64 hex characters. Without it the paid tools decline with an explanation and only `farm_catalog` works. |
| `X402_MAX_USD` | `1.00` | Hard spend cap for the process. Once reached, every further paid call is refused. |
| `FARM_BASE_URL` | `https://x402-money-farm.fly.dev` | The service to buy from. |
| `X402_NETWORK` | `eip155:8453` | Base mainnet. |
Fund a wallet for this purpose with a few dollars — not your main one. The key
sits in a config file on disk; treat it accordingly. The spend cap exists so a
looping agent cannot drain even that wallet.
## What a call costs, exactly
The price in the table is the whole price. No monthly minimum, no per-seat fee,
no metered surprise. The server returns HTTP 402 with the exact amount, your
wallet signs that amount, and you get the answer after settlement. **A failed
call is not billed.** Every response carries a `_payment` block with the amount,
the running session total and the paying address, so you can reconcile against
the chain yourself.
## Why pay-per-call at all
Because the alternative is a signup, a credit card, a minimum plan and a key to
rotate — for an agent that wanted the metadata of four URLs. Here the agent
decides on its own, pays four cents, and nobody had to create an account.
## License
MIT.
TDQS
Scored across 6 tools
Each tool targets a clearly distinct extraction task: text, metadata, links, JSON-LD, fingerprint, and service catalog. Descriptions clearly separate concepts like HTML metadata vs JSON-LD structured data, so an agent can reliably choose the right tool.
All tools follow a uniform farm_ prefix with lowercase snake_case names, and each suffix describes the output type. This predictable naming pattern makes the toolset easy to navigate.
Six tools is a well-scoped set for a paid web extraction API; every tool provides a unique function and none feel redundant. The catalog tool earns its place by exposing pricing and schemas for the paid operations.
The surface covers core extraction needs: main text, metadata, links, structured JSON-LD, and change detection, with few dead ends for typical workflows. Minor gaps such as raw HTML fetching or arbitrary selector extraction are not offered, but the stated purpose is handled well.