ToolSnap MCP
ToolSnap MCP is a pay-per-call MCP server providing context-efficient microtools for AI agents, with free utility tools and paid web extraction tools billed at $0.02 USDC on Base (first call free per wallet). It moves expensive data processing server-side, saving up to 98% of tokens compared to loading raw content.
Web Content Extraction (Paid — $0.02 USDC)
fetch_extract— Fetch a URL and return clean plain text (~98% token reduction vs raw HTML)fetch_html— Fetch a URL and return cleaned HTML with DOM structure preservedhtml_to_markdown— Convert a URL or raw HTML into clean Markdown (85–98% token savings)extract_structured— Extract structured JSON data (JSON-LD, Open Graph, Schema.org) from a pagewebpage_metadata— Extract title, description, Open Graph tags, canonical URL, and morepage_assets— Get a full inventory of all assets (images, scripts, fonts, icons) on a pagepage_links— Get all links from a page, classified as internal/external with anchor text
Document & Data Processing
pdf_text_extract— Fetch a PDF from a URL and extract its text contentcsv_query— Fetch or accept raw CSV, then filter/select/sort/limit rows, returning JSON or CSVjson_query— Fetch or accept raw JSON and query it with JSONPath-lite expressionsrss_parse— Fetch and parse RSS 2.0 or Atom 1.0 feeds into structured JSONsitemap_parse— Fetch and parse XML sitemaps into structured JSON
Text & Utility Tools (Free)
uuid_generate— Generate 1–100 random UUID v4 valueshash_text— Compute SHA-256, SHA-1, or SHA-512 hash of any textbase64_encode/base64_decode— Encode/decode Base64 stringsurl_encode/url_decode— Percent-encode or decode URL stringsjson_format— Parse and pretty-print or minify JSONtimestamp_convert— Convert between Unix timestamps and ISO 8601 datestext_stats— Count characters, words, lines, and sentencesdiff_text— Compare two text strings and return a unified diffregex_extract— Run a regex against text and return all matches with capture groupscount_tokens— Estimate token count for a text string
Pricing & Account (Free)
pricing— Retrieve the machine-readable pricing menu with ROI dataaccount_balance— Check prepaid USDC balance for an EVM addressaccount_deposit— Deposit USDC on Base for discounted per-call prepaid rates (via x402 v2)
Enables AI agents to pay for tool calls using USDC on Base via the x402 payment protocol (Coinbase's infrastructure). Supports first-call-free per wallet, prepaid balances with discounted per-call pricing, and automatic payment retry upon 402 response.
ToolSnap MCP
Context-efficient microtools for AI agents. Pay per call with USDC on Base.
Live endpoint: https://mcp.toolsnap.app/mcp
Server card: /.well-known/mcp.json
Pricing: /.well-known/pricing.json
Docs: toolsnap.app/agents
Why
The biggest cost for AI agents isn't generation — it's context. When an agent loads a raw webpage to extract information it can burn 50,000+ tokens on HTML boilerplate. ToolSnap MCP moves that work server-side.
Benchmark (11 real pages, June 2026):
Raw HTML | Extracted | Saving | |
Median tokens | 53,820 | 2,001 | 98.1% |
Cost @ Sonnet ($3/M) | $0.162 | $0.006 | $0.156/call |
Break-even page size | — | — | 26 KB |
The tool costs $0.02 USDC → 7.8× ROI on a typical page.
Related MCP server: webpeel
Connect
Claude Desktop
{
"mcpServers": {
"toolsnap": {
"url": "https://mcp.toolsnap.app/mcp",
"transport": "streamable-http"
}
}
}Free tools work immediately with the URL connection above. Paid tools need an
x402 payment client — a wallet alone is not enough, because most MCP clients
can't satisfy a 402 Payment Required on their own. Use the pay-proxy below.
Paid tools — connect through the pay-proxy
scripts/pay-proxy.mjs is a local stdio MCP server that wraps the remote
endpoint, reads your wallet, and signs + retries automatically when the server
asks for payment. The private key never leaves your host; only signatures are sent.
{
"mcpServers": {
"toolsnap": {
"command": "node",
"args": ["/ABSOLUTE/PATH/to/toolsnap-mcp/scripts/pay-proxy.mjs"]
}
}
}No wallet yet? Call the wallet_setup tool — it generates a wallet you control,
helps your human fund it with USDC on Base, and wires this proxy. Key resolution
order: TOOLSNAP_WALLET_KEY → ~/.toolsnap/wallet.key → macOS Keychain
(toolsnap-agent-wallet/default).
Useful env: TOOLSNAP_MAX_PRICE_USDC (per-call spend cap, default 0.10),
TOOLSNAP_PREPAID=1 + TOOLSNAP_AUTO_DEPOSIT_USDC (use the cheaper prepaid balance).
Direct MCP call
curl -X POST https://mcp.toolsnap.app/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'Tools
Paid (x402)
Tool | Description | Price |
| Fetch a URL → clean text. 98.1% median token reduction. | $0.02 USDC |
First call free per wallet address. After that, your agent pays $0.02 USDC on Base using x402 v2 (EIP-3009 transferWithAuthorization). No API key, no subscription — pay only when you call.
Free (always)
Tool | Description |
| Machine-readable pricing menu + ROI. Call this first. |
| 1–100 random UUID v4 values |
| SHA-256 / SHA-1 / SHA-512 (hex) |
| UTF-8 → Base64 |
| Base64 → UTF-8 |
| Percent-encode (encodeURIComponent) |
| Decode percent-encoded string |
| Parse + pretty-print or minify JSON |
| Unix ↔ ISO 8601 (auto-detects direction) |
| Chars, words, lines, sentences |
Payment (x402)
When an agent calls fetch_extract without payment, the server returns:
{
"jsonrpc": "2.0",
"id": 1,
"error": {
"code": 402,
"message": "Payment required",
"data": {
"x402Version": 2,
"accepts": [{
"scheme": "exact",
"network": "eip155:8453",
"amount": "20000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
}]
}
}
}An x402-enabled client reads accepts[0], signs an EIP-3009 TransferWithAuthorization, and retries with _meta["x402/payment"] set. See x402 spec.
Run locally
npm install
cp .dev.vars.example .dev.vars # fill in wallet secrets
npm run dev
# Worker at http://localhost:8787Type-check
npm run typecheckDeploy
npm run deployStack
Runtime: Cloudflare Workers (edge, 0 ms cold start)
Protocol: MCP streamable-http (JSON-RPC 2.0)
Payment: x402 v2 · EIP-3009 on Base mainnet · USDC
Verification: off-chain EIP-712 signature recovery (viem)
Settlement: on-chain
transferWithAuthorizationvia relayer walletAnti-replay: Cloudflare KV nonce store (7-day TTL)
First-call-free: KV key
first_free:{address}, verified but not settled
Contributing
PRs welcome for new free tools in src/tools/. Follow the pattern in src/tools/text-stats.ts and add the tool to src/tools/index.ts.
For paid tools or changes to the x402 payment logic, open an issue first.
Do not commit wallet private keys, .dev.vars, or any secrets.
License
MIT
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/icosaedro-git/toolsnap-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server