NanoParse

io.github.nanoparse-devPublished by GitHub account nanoparse-devv2.0.1Updated Oct 26, 2026

Clean Markdown from any URL with Litmus trust signals. $0.005 per page via x402, no account.

The publisher's own server: Parse

VerifiedStreamable HTTPWeb executableWeb Search & ScrapingFinance

Overview

AI-generated overview

Hosted MCP server that turns any URL into clean Markdown with Litmus trust signals, paid per page in USDC via x402.

What you can do
  • Fetch a URL and get clean Markdown plus metadata and Litmus trust signals (source authority, freshness, structural trust, paywall and syndication detection)
  • Check free quota, wallet and USDC balance, and whether the next fetch will succeed without payment
  • Render JavaScript-heavy pages in a headless browser and isolate the article from navigation, ads and cookie banners
When to use it
Useful when an assistant needs to read and cite web pages and wants machine-readable signals about whether a source is trustworthy, fresh or paywalled, without setting up an account or API key.
Requirements
Remote endpoint only, no install or local runtime. No account or API key. Free tier needs a signed wallet (wallet_address and wallet_signature) for 10 parses per month, or 3 anonymous tries per network; beyond that, a wallet able to pay $0.005 USDC on Base per page via x402, for example a Coinbase payments MCP wallet.
Before you install
Each page read beyond the free tier costs $0.005 in USDC on Base, signed automatically by the agent's wallet, so spending can occur without a human confirming each call. The free tier requires passing a wallet address and signature. Page content is sent to the hosted service for parsing. The older npm package and local client that held a wallet private key are retired and should not be used.

Installation

In SourceWeft

  1. Open NanoParse in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.nanoparse-dev%2Fnanoparse-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "nanoparse": {
      "type": "http",
      "url": "https://nanoparse.app/mcp"
    }
  }
}

README

NanoParse MCP

[npm version] [License: MIT] [Website] [MCP Score] [MCPLookup Trust Index] [Listed on HookMCP]

The easiest way for AI agents to read the web. NanoParse MCP is a hosted Model Context Protocol server at https://nanoparse.app/mcp that turns any URL into clean Markdown your agent can actually use — with machine-readable trust signals attached.

No install. No wallet key. No .env. Connect once and your agent can read the web.

Why agents choose NanoParse over Firecrawl or Jina Reader: every page comes back with Litmus — 20 machine-readable signals that tell your agent whether to trust and cite the page before it reads a word. Pay $0.005 per parse via x402 once the free tier runs out. Full JavaScript/SPA rendering, native GFM tables. No account, no subscription, no API key.

Quick start

Add this to your MCP client config:

json
{  "mcpServers": {    "nanoparse": {      "type": "http",      "url": "https://nanoparse.app/mcp"    }  }}

Restart your client, and your agent auto-discovers two tools:

  • nanoparse_fetch(url) — fetch any web page and get clean Markdown back
  • nanoparse_status() — check free quota, wallet and USDC balance before spending

That's it. Your agent can now fetch pages from inside any MCP-compatible client (Claude, Cursor, Hermes, Windsurf, and others).

What you get

nanoparse_fetch renders the page in a real headless browser (JavaScript and all), isolates the actual article from nav, ads, and cookie banners, and returns:

  • Clean Markdown — GFM tables, callouts, math, and footnotes preserved
  • Metadata — title, author, dates, language, word count, OpenGraph, schema.org JSON-LD
  • Litmus — machine-readable signals your agent can reason over: source authority, freshness, structural trust, content density, syndication and paywall detection

nanoparse_status tells your agent exactly where it stands: free parses remaining, wallet and USDC balance, and whether the next call will succeed without payment. Agents call it before spending.

Real output

Every parse returns markdown + metadata + litmus. Here is the full litmus object from a real parse of an arXiv paper (examples/example-output.json — markdown truncated there, litmus complete and unmodified):

json
{  "litmus": {    "source": { "type": "academic", "authority": 0.85, "rationale": "academic source" },    "freshness": { "published": null, "age": "unknown", "stale_warning": "No publish date found — verify independently", "modified": null, "has_correction": false, "correction_note": null },    "tldr": "Abstract page for arXiv paper 2401.14295: Demystifying Chains, Trees, and Graphs of Thoughts",    "key_figures": [ { "value": "2,247", "context": "Thu, 25 Jan 2024 16:34:00 UTC (2,247 KB)" } ],    "structural_trust_score": { "level": "medium", "trust_factors": ["High-authority source", "No publish date found — verify independently"] },    "hedge_language": { "density": "low", "markers_found": 0, "per_500_words": 0 },    "content_density": { "thin_content": false, "substantive_sentence_ratio": 0.76 },    "syndication": { "detected": false, "note": null },    "paywall": { "detected": false, "note": null },    "content_type": "academic_paper",    "reading_time": { "minutes": 4 },    "is_archived": { "archive_org": true, "archive_is": false },    "outbound_authority": { "score": 0.54, "top_domains": ["ui.adsabs.harvard.edu", "scholar.google.com"] },    "boilerplate_ratio": { "ratio": 0.08, "confidence": "high" }  }}

The agent learns before reading a word: this is an academic source (0.85 authority), structural trust is medium — high authority, but no publish date found, so verify independently. It also gets the one-sentence summary, the key numbers, and confirmation there's no paywall or syndication flag. See examples/agent-conversation.md for a full worked round-trip.

Payments

  • 10 free parses per month with a signed wallet (sign the claim message — no payment), or 3 anonymous free tries per network. No account, no API key, no human required.
  • After that: $0.005 per parse (flat, no subscriptions) via x402 — an open micropayment protocol. Your agent's wallet signs the payment automatically. To give your agent a Coinbase wallet, run npx @coinbase/payments-mcp and connect it alongside NanoParse.

Copy-paste recipe for both paths — the wallet-MCP one with no code, and a ~40-line REST client — including the exact 402 → sign → retry loop and the error codes worth branching on: examples/pay-with-x402.md.

How payments work under the hood

When an agent without free quota calls nanoparse_fetch, the endpoint responds with an HTTP 402 — Payment Required carrying x402 payment instructions. The agent's wallet signs a $0.005 USDC (Base) transfer, the facilitator settles it, and the parse proceeds. The hosted endpoint handles the entire challenge → settlement flow — the agent never needs a private key on your machine.

Pricing vs Firecrawl

NanoParseFirecrawl Hobby
Billing$0.005 per parse, flat$16/mo subscription, credits expire monthly
5,000 parses$25.00$16 base — but ~$145 with JSON/extraction modes (9× credit burn)
Account / API keyNoneRequired
Agent can pay directly (x402)YesNo

Full math, including when Firecrawl's base rate wins at scale: examples/costs.md.

Example

You: Fetch https://arxiv.org/abs/2401.14295 and summarize the argument.
Agent: [calls nanoparse_fetch(url)]       → clean Markdown + Litmus (academic, authority 0.85, 4-min read,         no date found — verify, no paywall)       → summarizes from primary content, cites authority and freshness

Repository note

The nanoparse-mcp npm package and the local stdio client were the first-generation integration, which held a wallet private key (NANOPARSE_WALLET_KEY) and signed x402 payments on your machine. Both are retired: the hosted endpoint above now handles the full payment flow itself, so no local client or wallet key is needed. The retired client code is preserved in archive/v1-local-client/ for history, and the npm package is deprecated. Use the hosted endpoint — it is the current, supported integration.

Docs

MIT licensed.

Source: README.md at commit d282ae5

Tools

2

nanoparse_fetch

Read one URL into clean Markdown + Litmus

Read one URL into clean Markdown with Litmus signals (source authority, freshness, structural trust). Price: $0.005 per page actually read, USDC on Base via x402. Free tier: 10 free parses per month with a signed wallet (pass wallet_address + wallet_signature), or 3 anonymous free tries per network. A page we cannot read — bot wall, consent wall, paywall, PDF — is reported with a named reason and never charged. To read a whole site or a list: call this tool once per URL. Build your list first (GET https://<site>/sitemap.xml, or use URLs you already have), then loop. No minimum, no commitment, no balance to spend down: stop whenever you like. If you already know the price and the payTo address, pay on the first call and skip the 402 round trip. Otherwise, when the tool returns a payment_required error, sign the included payment_terms and retry with the payment_signature argument (works in every MCP client; no custom headers needed).

Parametersurlrequiredwallet_addresswallet_signaturepayment_signature

nanoparse_status

Check wallet, quota and payment state

Check wallet balance, USDC balance, quota state, and whether the next /fetch call will succeed without payment. Use before spending — tells the agent exactly how much to fund.

Parametersaddress

Version history

2
  1. v2.0.1LatestOct 6, 2026
  2. v1.0.0Sep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Parse integrations