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
One connection, superpowers for your agent: deterministic microtools. Pay per call with USDC on Base — no account needed — or buy fiat credits with a card if you'd rather not touch crypto.
Live endpoint: https://mcp.toolsnap.app/mcp
Server card: /.well-known/mcp.json
Pricing: /.well-known/pricing.json
Docs: toolsnap.app/agents
Why
ToolSnap is built around three ideas:
1. Deterministic — no LLM in the loop. Most agent stacks now "clean" web pages by paying a second model to summarize them. ToolSnap's extraction is pure parsing: exact quotes, stable output, zero added inference cost, reproducible runs. What you extract is what the page said.
2. Context-efficient by design. The biggest cost for AI agents isn't generation — it's context. Loading a raw webpage can burn 50,000+ tokens on HTML boilerplate; connecting a fat MCP server can burn as many in tool definitions. ToolSnap moves the work server-side and keeps discovery compact: tools/list shows a small curated core, and the full catalog of 41 microtools (web, PDFs, CSV/JSON, sitemaps, RSS, images…) sits one free tool_catalog() call away, executed via use_tool.
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 |
fetch_extract is free — this saving costs nothing.
3. No account required (crypto path). Free tools work the second you connect. Paid tools settle per call with USDC on Base via x402 — an agent with a wallet can pay cold: no signup, no subscription, no key management. Rather not touch crypto? Buy fiat credits with a card and get an API key instead — same discounted per-call price, no wallet needed.
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.
Claude Code
claude mcp add --transport http toolsnap https://mcp.toolsnap.app/mcpOr install the Claude Code plugin
(MCP connection + the toolsnap skill, bundled):
/plugin marketplace add ToolSnap-app/toolsnap-claude-plugin
/plugin install toolsnapPaid 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).
Paid tools — no wallet, pay with a card
Buy credits at mcp.toolsnap.app/checkout (handled by Polar, our Merchant of Record). You'll get an API key in a one-time pop-up — connect with it directly, no proxy needed:
{
"mcpServers": {
"toolsnap": {
"url": "https://mcp.toolsnap.app/mcp",
"headers": { "Authorization": "Bearer sk_live_..." }
}
}
}Clients that can't send custom headers (some claude.ai connectors) can embed
the key in the URL instead: https://mcp.toolsnap.app/mcp/sk_live_... (the
key may then appear in that client's request logs — prefer the header when
your client supports it).
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
41 tools total. tools/list shows a curated core (~19); discover everything else with the free tool_catalog tool and run it with use_tool(name, args).
Paid (x402) — real per-call COGS only
Tool | Description | Price |
| Capture a page → public image URL. | $0.04 USDC |
| Google Ads volume/CPC/competition via DataForSEO. | $0.04 USDC |
| Remove an image's background → transparent PNG URL. | $0.03 USDC |
No first-call-free: these three tools have real per-call cost, so every call settles from the start. Pay-per-call is $0.03–$0.04 USDC on Base using x402 v2 (EIP-3009 transferWithAuthorization); prepaid (deposit once, debit off-chain, crypto or card) is cheaper per call.
Free (always)
Flagship: fetch_extract (URL → clean text, median 98.1% fewer tokens than raw HTML) and fetch_html (URL → clean structured HTML). Plus a wide utility catalog:
Tool | Description |
| Machine-readable pricing menu. Call this first. |
| Discover the full tool catalog (families → detail). |
| Execute any tool not in your tools/list. |
| Get the ToolSnap habit block for your harness's persistent memory. |
| Ready-to-run multi-tool workflows for whole tasks. |
| 1–100 random UUID v4 values |
| SHA-256 / SHA-1 / SHA-512 (hex) |
| Base64 encode/decode |
| Percent-encode/decode |
| Parse + pretty-print or minify JSON |
| Unix ↔ ISO 8601 (auto-detects direction) |
| Chars, words, lines, sentences |
Call tool_catalog() for the complete, current list with schemas and prices.
Payment (x402)
When an agent calls a paid tool (e.g. screenshot_url) 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": "40000",
"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: mechanism exists in code (KV key
first_free:{address}) for future flat-rate tools; all current paid tools have real COGS and are excluded, so every call settles
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
Maintenance
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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