Skip to main content
Glama
README.md
# Agent Data Tools

[![Add to Cursor](https://img.shields.io/badge/Add_to-Cursor-000000?style=flat-square)](https://cursor.com/en/install-mcp?name=agent-data-tools&config=eyJ1cmwiOiJodHRwczovL2FnZW50LWRhdGEtdG9vbHMucmV2bWVzaDIwNzQud29ya2Vycy5kZXYvbWNwL2NvbXBhY3QifQ%3D%3D)
[![Install in VS Code](https://img.shields.io/badge/Install_in-VS_Code-0098FF?style=flat-square)](https://insiders.vscode.dev/redirect/mcp/install?name=agent-data-tools&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fagent-data-tools.revmesh2074.workers.dev%2Fmcp%2Fcompact%22%7D)
[![Install in VS Code Insiders](https://img.shields.io/badge/Install_in-VS_Code_Insiders-24bfa5?style=flat-square)](https://insiders.vscode.dev/redirect/mcp/install?name=agent-data-tools&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fagent-data-tools.revmesh2074.workers.dev%2Fmcp%2Fcompact%22%7D&quality=insiders)

187 pay-per-call tools for AI agents over MCP and plain HTTP: web search and news, payee screening and OFAC sanctions checks, crypto token prices, wallet balances and token transfers, web page to Markdown, PDF to text, email verification, company and domain lookups, weather, SEC filings, World Bank GDP, inflation, population and unemployment, LLM chat and embeddings. In full: blockchain reads on 5 EVM chains plus Bitcoin, token prices and risk, OFAC sanctions and counterparty checks, company and domain data, web pages and PDFs as text, weather, time, countries, and everyday utilities (JSON, CSV, hashes, dates, validators). Most tools cost **$0.01** per successful call.

## APIs for developers, by monthly plan

One API key, from $9 a month or pay as you go, paid by card. Each page has the request in curl, Python and Node.js and a free try:

- **[Company check API](https://tools.funwords.eu/company-check-api)**: EU VAT number validation (VIES), the Swedish, Norwegian, Finnish and French company registers, OFAC sanctions screening and LEI lookup. [VAT number formats and a live check for every EU country](https://tools.funwords.eu/vat-number-check).
- **[PDF to text API](https://tools.funwords.eu/pdf-to-text-api)**: text page by page as JSON, from a URL.
- **[Web page to Markdown API](https://tools.funwords.eu/web-page-to-markdown-api)**: clean Markdown or text for an LLM, with a rendered reader for JavaScript pages.

## Quick start

1. **Connect** any MCP client to `https://agent-data-tools.revmesh2074.workers.dev/mcp/compact` (Streamable HTTP, no sign-up): three tools that find, describe and run any tool in the catalog, so your assistant's context stays small. The buttons above connect it too. Claude Code: `claude mcp add --transport http agent-data-tools https://agent-data-tools.revmesh2074.workers.dev/mcp/compact`. Every tool as its own definition: `https://agent-data-tools.revmesh2074.workers.dev/mcp`. From a terminal, for Claude Code, Claude Desktop, Cursor or VS Code: `npx -y agent-data-tools setup`. Claude.ai and ChatGPT: add a custom connector with `https://agent-data-tools.revmesh2074.workers.dev/mcp/account`. Or connect one section: `/mcp/prices`, `/mcp/chain`, `/mcp/web`, `/mcp/compliance`, `/mcp/ai`, `/mcp/everyday`, `/mcp/utilities`.
2. **Try free:** every caller gets **25 free successful calls** over MCP, used automatically, or **3** over HTTP with `trial=1` (PDF reading is not free over HTTP). Failed calls never count. AI, rendering and search tools are not included.
3. **Then pay either way:**
   - **Card:** buy prepaid credits at [/credits](https://agent-data-tools.revmesh2074.workers.dev/credits) ($5 = 5,000 credits, $20 = 22,000, $100 = 125,000; 1 credit = $0.001) and send the key as `Authorization: Bearer adt_…` (or `X-API-Key`) on HTTP calls or in your MCP client's connection headers.
   - **Crypto:** any x402 client pays per call in USDC on Base, Polygon, Arbitrum or Solana; MPP clients pay on Tempo or Base.

Failed calls are never charged. Free previews of every tool's output: add `sample=1`. Machine-readable catalog: [/openapi.json](https://agent-data-tools.revmesh2074.workers.dev/openapi.json), [/llms.txt](https://agent-data-tools.revmesh2074.workers.dev/llms.txt). Support: spellz111122@gmail.com.

## Details and buyer clients

Operated by **SpellzCode**. [Check a Base transaction or wallet through a capped, account-free client](docs/chain-checks.md): one transaction-status result costs **$0.003**, a wallet snapshot **$0.005**. Inspect a free quote before an explicitly authorized purchase. Optional gas and allowance checks cost **$0.002 each**; the client never buys them automatically. Uses an existing funded Base x402 wallet and never sends the transaction being checked.

For [static documentation reading](docs/web-reading.md), get clean text, Markdown, code and tables for **$0.002 USDC on Base**. No account or subscription. Static HTML, Markdown and plain text only; no JavaScript rendering, authenticated pages or paywall access.

- [Browse all 187 tools and prices](https://agent-data-tools.revmesh2074.workers.dev/tools)
- [Chain client: download, verify, quote and buy one result](docs/chain-checks.md)
- [View a real result → Inspect a free quote → Buy one page](https://agent-data-tools.revmesh2074.workers.dev/guides/web-reading)
- [Use the local MCP adapter without writing a client](docs/local-mcp.md)
- [Inspect the portable buyer skill](skills/spellzcode-x402-reader/SKILL.md) and [installation context](https://agent-data-tools.revmesh2074.workers.dev/skills/index.json)
- [Research a technical question from three pages: maximum $0.006](docs/three-page-research.md)
- [Discover documentation URLs from a sitemap: $0.002](docs/sitemap.md)
- [Real cached examples and owned source HTML](https://agent-data-tools.revmesh2074.workers.dev/examples/extract/)
- [Extraction benchmark and limitations](docs/extraction-quality.md)
- Secondary: [Bitcoin fee data with capped CLI and local MCP commands](docs/bitcoin-fees.md)

The reader client requires Node 20.19+ and no npm installation or TypeScript. An unsigned quote needs no key and never pays. An explicit authorized reader purchase needs an existing funded Base wallet and a per-call cap of at most $0.002. The local MCP adapter starts in quotes-only mode; deliberately enabled buying shares a process budget across reader, sitemap and Bitcoin-data calls. Keys stay on the buyer's device. The separate chain client has the operation-specific caps above and grants no session or monthly spending allowance.

Repository fallback downloads for **1.7.6**: [CLI executable](https://github.com/Nutshell2000/agent-data-tools/releases/download/reader-1.7.6/reader-client.mjs) and [its checksum](https://github.com/Nutshell2000/agent-data-tools/releases/download/reader-1.7.6/reader-client.mjs.sha256), or [local MCP adapter](https://github.com/Nutshell2000/agent-data-tools/releases/download/reader-1.7.6/reader-mcp.mjs) and [its checksum](https://github.com/Nutshell2000/agent-data-tools/releases/download/reader-1.7.6/reader-mcp.mjs.sha256). Save the executable and matching checksum in one folder, then follow the [verification instructions](docs/web-reading.md) before running it. [Release notes and all six files](https://github.com/Nutshell2000/agent-data-tools/releases/tag/reader-1.7.6). These match the website's published bytes; checksums are not independent security signatures. Older [1.7.0 downloads](https://github.com/Nutshell2000/agent-data-tools/releases/tag/reader-1.7.0) and [1.5.1 downloads](https://github.com/Nutshell2000/agent-data-tools/releases/tag/reader-1.5.1) remain available unchanged.

Need help with an existing attempt? [Report a purchase problem](https://github.com/Nutshell2000/agent-data-tools/issues/new?template=purchase-problem.yml) using the request ID, approximate UTC time and reported payment status. Stop after an uncertain signed outcome; do not make a new purchase to reproduce it. For missing text, code or tables, [report an output problem](https://github.com/Nutshell2000/agent-data-tools/issues/new?template=reader-output.yml) with a short public or authored example. Reports are public: never include keys, signatures, raw payment headers or private content.

The reader also supports an exact HTML section ID and retains labelled source image descriptions; it does not interpret image pixels. Source-declared authors and publication/update dates now include provenance and unverified/ambiguity warnings when available. Check scope, output limits and warnings before claiming coverage. [Full buying instructions](docs/web-reading.md).

Cached examples are actual build-time results on owned HTML and are labelled separately from illustrative snippets. Local tests do not establish funded production delivery or customer demand.

A Cloudflare Worker that sells more than 600 tools to AI agents. Each call is paid in USDC through the x402 protocol (Base, Polygon, Arbitrum or Solana), through MPP (Tempo), or with prepaid card credits, and the money goes straight to the address in `PAY_TO`.

| Endpoint | Returns | Price |
|---|---|---|
| `GET /sitemap?url=&contains=&maxUrls=&offset=` | XML sitemap URLs, source-reported dates and pagination (bounded, no crawling) | $0.002 |
| `GET /extract?url=` | Web page as clean text, headings and links | $0.002 |
| `GET /domain?name=` | DNS, registration age, SPF/DMARC | $0.005 |
| `GET /domain-report?name=` | Domain trust verdict and email-auth flags | $0.01 |
| `GET /token?address=` | Base ERC-20 facts and risk flags | $0.01 |
| `GET /token-report?address=` | Base token risks and live DEX market data | $0.01 |
| `GET /wallet?address=` | Base wallet balances and account nonce | $0.005 |
| `GET /summarize?url=` | Short summary and key points of a page | $0.01 |
| `GET /screenshot?url=` | JPEG of the rendered page (base64) | $0.01 |
| `GET /image?prompt=` | Generated 1024x1024 image (base64) | $0.01 |
| `GET /transcribe?url=` | Text of an audio file (max 5 MB) | $0.01 |
| `GET /describe?url=` | Description of an image, or an answer about it | $0.01 |
| `GET /btc-fees` | Bitcoin fee rates and mempool status | $0.002 |
| `GET /btc-address?address=` | Bitcoin address balance and activity | $0.01 |
| `GET /ln-invoice?invoice=` | Decoded Lightning invoice | | $0.002 |.003 |
| `GET /package-audit?packages=` | Audit up to 10 dependencies; supports exact-version advisories and fixes | $0.01 |
| `GET /wallet-audit?address=` | Base token holdings and nonce-based heuristic risk indicators | $0.01 |
| `GET /contract-risk?address=` | Limited bytecode, EIP-1967 slot and zero-supply heuristics | $0.01 |
| `GET /trade-insight?token=&wallet=` | Separate token and wallet risk indicators; no trade recommendation | $0.01 |
| `GET /liquidity-pool-audit?address=` | Verified Base DEX pair details and reported market data | $0.01 |
| `GET /mev-simulator` | Base gas-cost estimates using fixed typical gas units; not a quote | $0.01 |
| `GET /package?ecosystem=&name=&version=` | Latest or pinned package metadata and bounded dependency-risk signals (not a safety guarantee) | | $0.002 |.003 |
| `GET /email?address=` | Email validation without sending mail | | $0.002 |.003 |
| `GET /papers?query=` | Academic paper search | $0.01 |
| `GET /fx?from=&to=` | Currency exchange rates and conversion | | $0.002 |.003 |
| `GET /btc-price` | Bitcoin price in major currencies | | $0.002 |.003 |
| `GET /base-gas` | Base network gas price and fee estimate | $0.002 |
| `GET /base-tx?hash=` | Base transaction status and details | $0.003 |
| `GET /base-allowance?token=&owner=&spender=` | ERC-20 approval check on Base | $0.002 |
| `GET /ens?name=` | ENS name/address resolution | | $0.002 |.003 |
| `GET /weather?lat=&lon=` | Current weather and hourly forecast | | $0.002 |.003 |
| `GET /time?zone=` | Current time and time zone conversion | | $0.002 |.003 |

Free calls are on: 25 successful calls per caller over MCP, 3 over HTTP (not `/pdf/text`), and 2,000 a day in total (`src/lib/free-calls.ts`), automatic over MCP and with `trial=1` over HTTP. Without `trial=1`, an unpaid HTTP request gets the normal 402 challenge. The table above lists a few core tools; the full, current catalog is at [/#tools](https://agent-data-tools.revmesh2074.workers.dev/#tools) and in `/openapi.json`.

The homepage and `llms.txt` include a copy-pastable Node.js/TypeScript x402 client using `@x402/fetch`, `@x402/evm` and viem. It reads the private key from `X402_PRIVATE_KEY` (never hard-code or commit it), pins Base, the service's published `PAY_TO` recipient and Base USDC, and caps each payment at $0.01, the ordinary per-call price, so it can pay for every tool priced at $0.01 or less. It does not add `trial=1`. `/package-audit` remains $0.20 per call and is intentionally refused by this lower-spend example. The OpenAPI `x-guidance` carries the same client, price and trial notes. Tool-specific guides (`/guides/web-reading`, `/guides/bitcoin-fees`, `/guides/dependency-audit`) pin that one tool's exact price instead.

A staging copy of the service runs on the Base Sepolia testnet (`wrangler.staging.jsonc`, keyless facilitator, faucet USDC) so every release can be paid for real over HTTP v2, HTTP v1 and MCP with `scripts/pay-test.mjs` before production deploys; see CLAUDE.md. Testnet settlements are never income.

`/package` keeps its latest-version behavior when `version` is omitted. Pass `ecosystem`, `name` and an optional exact `version` as separate inputs (for example, `ecosystem=npm&name=lodash&version=4.17.20`) to return pinned-version metadata and deps.dev advisories. Version ranges and tags are rejected. For exact-version OSV affected ranges and dated FIRST EPSS CVE estimates, use `/package-audit`.

`/package-audit` accepts up to 10 comma-separated `ecosystem:name` items, optionally with an exact version, such as `npm:lodash@4.17.20` or `npm:@types/node@22.0.0`. Unversioned items retain latest-version checks. To bound outbound fetches, it does not query npm weekly downloads; `weeklyDownloadsStatus` is `not-fetched-subrequest-budget`. Unversioned items fetch at most one deps.dev advisory detail and report `advisoryDetailsOmitted`; failed detail fetches are counted in `advisoryDetailsUnavailable` and make `advisoryDetailsStatus` partial. Pinned items skip duplicate deps.dev details but retain all advisory IDs/counts. Exact versions use OSV batch IDs and up to 15 detailed records per request; per-advisory `detailStatus`, `detailsNotFetched` and `omittedAdvisories` identify incomplete coverage. Returned CVE aliases are enriched with dated FIRST EPSS estimates in one deduplicated request (up to 50 CVEs); `epssLookup` reports source status, retrieval time, omitted CVEs and uninspected OSV details. EPSS estimates 30-day exploitation probability, not package safety; missing scores are unknown, not zero. Neither `ok` nor an empty advisory result means a package is safe.

`/airdrop-scanner`, `/liquidity-return-analyzer`, `/token-holder-analysis`, `/pair-analyzer` and `/wallet-history` are deferred because this service has no verified live data sources for their advertised analyses. They are not listed as paid tools and return HTTP 503 without a payment challenge or charge.

The AI endpoints use Workers AI and `/screenshot` uses Browser Rendering. Account allowances and actual operating costs must be checked separately; they are not established by the API price. Upstream capacity or rate-limit failures return errors without settling a charge.

Free routes include the owned `/examples/extract/` results, versioned `/clients/reader/` downloads, `/sitemap.xml`, `/` (a web page for browsers, JSON for programs), `/openapi.json`, `/llms.txt`, `/robots.txt`, `/health`, `/.well-known/x402`, `/.well-known/mcp/server-card.json`, `/.well-known/api-catalog`.

`/metrics` reports daily request counts by path. `unsettled` counts successful HTTP 2xx responses on paid paths without a verified successful `PAYMENT-RESPONSE`; only calls with a valid settlement response increment `paid`. `revenueUsdMicros` is gross USD in millionths of a dollar, and `trackedPaidCalls` counts settled x402 HTTP API, MCP tool and `/buy/<slug>` calls included in that total. MCP totals are recorded only when the payment wrapper returns a successful structured settlement result; x402 product purchases use the exact product catalog price. Revenue fields are prospective and have no historical backfill. `paid` counts from before settlement validation are not proof of payment and must not be used as revenue. Challenges, trials, marketplace requests, unsettled responses, and direct storefront-transfer amounts are excluded.

## Store

New digital-product sales are paused at `/store` and `/buy/*` (HTTP 503, no payment challenge). Existing orders and downloads are preserved. The retained implementation works as follows: A buyer gets an exact USDC amount and the address in `PAY_TO`; the order page watches the chain and unlocks the download when a matching transfer arrives. Agents can buy the same products at `GET /buy/<slug>` through the normal paywall.

- Products are listed in `src/store/catalog.ts`.
- Orders and the sales log live in the `TRIALS` key-value store (`order:` and `paid:` keys). List sales with `npx wrangler kv key list --binding TRIALS --prefix paid: --remote`.
- The DeFi Trader Intelligence Bundle is delisted because the service has no API-key authentication, 250-call quota or `/account` endpoint. Legacy order receipts remain supported, but actual download fulfillment is unverified. Product assets under the gitignored `public/_files/` directory are intentionally absent from Git and must be privately provisioned before deploying a fresh checkout; missing assets make paid downloads return 502. The existing production worktree retains these assets. Never publish them in source control.

## MCP

All 179 catalog tools are available as an MCP server at `/mcp` (streamable HTTP, stateless), in smaller section servers at `/mcp/<section>`, and behind three tools at `/mcp/compact` (`find_tool`, `tool_details`, `call_tool`: the whole catalog without hundreds of tool definitions in the assistant's context; same prices, same free calls). Listing tools is free. Every MCP caller gets 25 free successful calls; after that a call uses card credits (an API key from `/credits` in the connection headers) or returns an x402 payment requirement that an MCP client with x402 support pays and retries. Signed-in connectors at `/mcp/account` never see crypto payment requests. A tool call that fails is not charged.

Each tool is defined once in `src/endpoints.ts` (name, price, parameters) and implemented once in `src/tools.ts`; the HTTP route, MCP tool, OpenAPI document and web page are generated from that catalog.

## Where it is listed

- Official MCP Registry: listed as `io.github.Nutshell2000/agent-data-tools`. To publish a new version, raise `version` in `server.json` and push a matching `v*` tag; the workflow in `.github/workflows/publish-mcp.yml` does the rest on GitHub's servers.
- 402 Index (https://402index.io): existing reader entries and catalog metadata were refreshed on 15 October 2026. Third-party caches can remain stale; the live catalog and quotes take precedence.
- x402scan: existing listings cover the catalog. Reconcile current prices after each release; no new duplicate registration is needed.
- Coinbase Bazaar: Bitcoin fees and package metadata have indexed entries. Other routes require a genuine settled payment; a readiness pass alone does not index them.

An unpaid request gets HTTP 402 with a `PAYMENT-REQUIRED` header (x402) and `WWW-Authenticate: Payment` challenges (MPP: evm with USDC on Base, tempo with USDC.e on Tempo; settled only after the tool succeeded). Calls that fail (4xx/5xx) are not charged.

OpenAI-compatible: `POST /v1/chat/completions`, `POST /v1/responses` and `POST /v1/embeddings` are fronts for the paid `/ai/chat`, `/ai/chat-large` and `/ai/embed` tools (same prices, same payment paths); `GET /v1/models` is free. Point an OpenAI SDK at `/v1` with an x402 or MPP fetch wrapper, or use a card-credit key as its apiKey. Clients that can only GET send the same inputs in the query (`/v1/chat/completions?prompt=…`, `/v1/responses?input=…`, `/v1/embeddings?input=…`).

## Current revenue operations

New seller-kit sales are paused; existing paid orders keep download access. Free calls are on (see above) and are not revenue.
`/metrics` reports request counters; `/revenue` reports deduplicated, facilitator-reported
settlements observed since the ledger was deployed. Its amounts are integer native
Base USDC atomic units (6 decimals), and known self-payments are excluded from gross.
Receipts preserve transaction, payer, authorization nonce, endpoint and amount evidence
privately in the existing Durable Object. Signatures and request content are not stored.
Public responses expose aggregate totals only. A storage error is logged without turning
an already-settled customer response into another payment request.

These totals remain pending independent chain reconciliation. Fees, expenses and net
income are not inferred. Historical paid counters cannot be backfilled using today's prices. The two indexed
historical receipts were 2,000 atomic units each and remain separate from the current
settlement ledger. Tests and self-payments are never customer income.

The live catalog is authoritative for current tools, prices and trial availability.


## Configuration

All settings are in `wrangler.jsonc`:

- `PAY_TO`: the address that receives payments.
- `NETWORK`: `eip155:8453` for Base mainnet.
- `FACILITATOR_URL`: the service that verifies and broadcasts payments.
- `PAYWALL`: set to `off` only for local testing.
- `TRIALS_ENABLED`: trials are disabled unless set exactly to `on`; set to `off` (or unset it) to disable them.

## Commands

```bash
npx wrangler dev
```

Read the current Worker version with `npx wrangler deployments list`, then deploy from a clean checkout containing current `origin/main` and successful CI for its exact commit:

```sh
npm run deploy:production -- --expected-version <live-worker-version-uuid>
```

Add `--check-only` for preflight without deployment. A stale checkout replaced the buying guides and ledger on 17 October; the guard rejects stale or uncommitted source and an unexpected production baseline. It cannot lock out another operator bypassing this process. Coordinate production deployments; preserve concurrent work in other checkouts.

```bash
npx wrangler tail
```

`wrangler tail` streams live requests, which is the quickest way to see whether anyone is calling the service.

On Windows, `wrangler dev` can fail with `SQLITE_CANTOPEN` when the project path is long. Add `--persist-to` with a short folder path to fix it.

To try `/screenshot` without the paywall, use `npx wrangler dev --remote --var PAYWALL:off`. It runs on Cloudflare, so no browser is downloaded to this PC.

## Listing in the Coinbase Bazaar

This deployment already uses the authenticated Coinbase CDP facilitator. For a separate installation, configure your own account:

1. Create a free API key at https://portal.cdp.coinbase.com.
2. Store it as Worker secrets (you'll be prompted for each value):

   ```bash
   npx wrangler secret put CDP_API_KEY_ID
   ```

   ```bash
   npx wrangler secret put CDP_API_KEY_SECRET
   ```

3. In `wrangler.jsonc`, set `FACILITATOR_URL` to `https://api.cdp.coinbase.com/platform/v2/x402` and deploy.

The Bazaar indexes an endpoint after a successful settled payment with discovery metadata. Never manufacture self-purchases to seed it. `npm run check:live` runs the free, read-only Coinbase validator against every documented tool example. It does not sign, settle or create an index entry. The historical `scripts/index-listings.mjs --pay` route is disabled. HTTP and MCP funded production delivery remain separate evidence requirements.

## Checking that it works

Live URL: https://agent-data-tools.revmesh2074.workers.dev

Coinbase runs a free validator. A pass shows `"valid":true` and `"simulation":{"outcome":"accepted"}`:

```bash
curl -X POST https://api.cdp.coinbase.com/platform/v2/x402/validate -H "Content-Type: application/json" -d "{\"resource\":\"https://agent-data-tools.revmesh2074.workers.dev/domain?name=cloudflare.com\",\"method\":\"GET\"}"
```

Incoming payments show up as USDC transfers to `PAY_TO` on https://basescan.org.

## Limits

- `/extract` reads at most 2 MB of a page and waits at most 8 seconds for it.
- `/token` and `/wallet` use the public Base RPC, which is rate limited. Set `BASE_RPC_URL` to a private endpoint if volume grows.
- Token capability flags are bytecode heuristics, and for a proxy they describe the proxy, not its implementation.

### Agent-client compatibility evidence

On 15 October 2026, `@agentcash/discovery` 1.7.5 discovered all 31 live routes from our OpenAPI, recognized `/extract` as paid x402 at `0.002 USD`, retrieved the standalone-client guidance and read the full reader schema. This was a wallet-free metadata check, not funded delivery or a customer purchase. AgentCash CLI 0.17.1's `check` command loads an existing wallet; its discovery library can inspect schemas without one. Our standalone `quote` needs no wallet or key.

Reproduce the read-only check with an independently installed discovery library:

```sh
node scripts/check-agent-discovery.mjs /path/to/@agentcash/discovery/dist/index.js /private/path/evidence.json
```

The script does not install packages, initialize wallets, sign payments or execute paid extraction. It checks the current production catalog, price, guidance and structured output schema, plus what x402scan sees: a live 402 probe, the readable 402 body, the HTML homepage with `og:image`, `/og.png` and `/status`. Set `CHECK_ORIGIN` to check another deployment. Funded HTTP, CLI and MCP delivery require separate evidence.

### Use a local MCP agent without writing a client

The [bundled local MCP adapter](https://agent-data-tools.revmesh2074.workers.dev/guides/local-mcp) runs with Node 20.19+ and no npm installation. Quotes-only by default. Explicit paid mode enables one-call purchases capped at $0.002 each and a process session allowance; unknown signed outcomes lock further buys. [Source and setup](docs/local-mcp.md). Preserve host tool approvals. The remote MCP connection alone does not pay automatically.

### Read the relevant section of a long document

Optional `section` selects an exact visible heading/container ID within primary HTML. Use `--section` with the CLI or `section` with MCP. Missing/ambiguous selections fail uncharged; returned scope is explicit. [Actual cached late-section example](https://agent-data-tools.revmesh2074.workers.dev/examples/extract/section-result.json) and [scope instructions](docs/web-reading.md). Price remains $0.002. URL fragments alone do not change scope.

### Portable buyer skill

The [single-file reader skill](skills/spellzcode-x402-reader/SKILL.md) gives a compatible agent the quote, authorized purchase, section-reading and failure-reconciliation workflow. [Owned download](https://agent-data-tools.revmesh2074.workers.dev/skills/spellzcode-x402-reader/SKILL.md) and [installation context](https://agent-data-tools.revmesh2074.workers.dev/skills/index.json). Place it in a folder named spellzcode-x402-reader in your host's configured skills location using that host's procedure. Inspect before installing; no automatic installation, wallet creation or spending authorization is supplied. Host activation and funded delivery are not established by publication.

### Secondary entry: Bitcoin fee data

The same downloaded client now supports `node reader-client.mjs quote-btc-fees` and one authorized `node reader-client.mjs buy-btc-fees --max-usdc 0.002`. No URL, npm setup or Bitcoin key. Local MCP exposes btc_fees_quote/btc_fees_buy under the shared session allowance. This buys data for Base USDC and never sends Bitcoin. [Setup and limitations](docs/bitcoin-fees.md). The static reader remains the primary workflow.


### Earlier reader releases

Version 1.2.0 adds the bounded `/sitemap` tool and capped `quote-sitemap`/`buy-sitemap` commands. Version 1.1.2 adds a local command builder with POSIX/PowerShell quoting and a three-page research recipe, while preserving immutable 1.1.1 downloads. Reader 1.1.1 separates metadata limits from primary table text, preserves literal code whitespace and nested lists, and closes clipped code fences within the output limit. The bundled Node client supports an unsigned `quote` and one explicitly capped `buy`. Build it and the cached samples with `npm run build:reader`. Downloaded clients need Node 20.19+ and no project dependencies. Checksums and public source accompany the download; keys stay in the buyer's process environment.

Remote MCP advertises successful-result JSON schemas for `extract`, `sitemap` and `btc-fees`, matching OpenAPI. Results are checked before settlement. Quotes and failures return `isError: true` with JSON in `content[0].text`; only successful results have `structuredContent`. This keeps free quotes usable by schema-validating clients.

## Endpoint families

MCP catalog 1.8.1 adds 113 active family tools to the 32 existing tools: blockchain reads across five networks, local data/text utilities, public-data lookups and crypto-random utilities. Active family calls cost $0.002. The live OpenAPI and catalog list the current routes. Reader downloads stay at 1.7.6 and the separate chain client stays at 1.0.0.

Four implemented family tools are paused and excluded from paid discovery: `/regex/test` until execution can be bounded, and `/air-quality`, `/uv`, `/geocode` until a source permitted for this commercial service is configured. Direct requests return uncharged 503 without calling the upstream. No subscription or new spending was added. JSON repair preserves already-valid JSON and quoted text.

TDQS

A4.3/5.0

Scored across 3 tools

Disambiguation5/5

The three tools map to a clean discovery → inspection → execution pipeline: find_tool locates a tool by description, tool_details returns its schema and pricing, and call_tool executes it. There is no overlap in purpose, and the descriptions explicitly tell the agent the order to use them in.

Naming Consistency4/5

find_tool and call_tool follow a clear verb_noun snake_case pattern, and tool_details is close but uses a noun phrase rather than a verb. This is a minor deviation within an otherwise predictable three-name set.

Tool Count5/5

Three meta-tools are exactly the right surface for proxying a 698-tool catalog; adding per-tool wrappers would be unmanageable. Each tool earns its place and the set stays minimal without being thin.

Completeness4/5

The gateway covers the full lifecycle an agent needs: search, schema/pricing lookup, and invocation with a max_price guard. Minor gaps exist (e.g. no browsing/listing the catalog by category, capped at ten results, no batch invocation), but these are workarounds rather than dead ends.

Maintenance

ActivityActive
ResponsivenessLimited data