streamable-httpupdated 10d ago
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.
What can you do with NanoParse MCP?
NanoParse MCP
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: no account, no subscription, no API key. Pay $0.01 per parse via x402 when the free tier runs out. Full JavaScript/SPA rendering, native GFM tables, and Litmus trust signals — built for agents, not humans.
Quick start
Add this to your MCP client config:
{
"mcpServers": {
"nanoparse": {
"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 backnanoparse_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. Example — parsing an arXiv paper (examples/example-output.json, complete and unmodified):
{
"litmus": {
"source": { "type": "academic", "authority": 0.85, "rationale": "academic source" },
"freshness": { "published": null, "stale_warning": "No publish date found — verify independently" },
"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)" } ],
"content_type": "academic_paper",
"reading_time": { "minutes": 4 },
"hedge_language": { "density": "low", "markers_found": 0 },
"syndication": { "detected": false },
"paywall": { "detected": false }
}
}
The agent learns before reading a word: this is an academic source (0.85 authority), no publish date was found (verify independently), here's the one-sentence summary, the key numbers, and there's no paywall or syndication flag. See examples/agent-conversation.md for a full worked round-trip.
Payments
- First 10 parses per device are free. No account, no API key, no human required.
- After that: $0.01 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-mcpand connect it alongside NanoParse.
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.01 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
| NanoParse | Firecrawl Hobby | |
|---|---|---|
| Billing | $0.01 per parse, flat | $16/mo subscription, credits expire monthly |
| 5,000 parses | $50.00 | $16 base — but ~$145 with JSON/extraction modes (9× credit burn) |
| Account / API key | None | Required |
| Agent can pay directly (x402) | Yes | No |
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 in src/ 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
- Quick start & integration: nanoparse.app/quickstart
- Compare & pricing: nanoparse.app/compare
- API + MCP endpoint: nanoparse.app
MIT licensed.
Install
Add NanoParse MCP to your client. Pick the one you use.
claude mcp add --transport http nanoparse-mcp https://nanoparse.app/mcpcodex mcp add nanoparse-mcp --url https://nanoparse.app/mcp{
"mcpServers": {
"nanoparse-mcp": {
"url": "https://nanoparse.app/mcp"
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"servers": {
"nanoparse-mcp": {
"type": "http",
"url": "https://nanoparse.app/mcp"
}
}
}Add to `.vscode/mcp.json` in your workspace.
{
"mcpServers": {
"nanoparse-mcp": {
"url": "https://nanoparse.app/mcp"
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"nanoparse-mcp": {
"serverUrl": "https://nanoparse.app/mcp"
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
Score
39 / 100
Incomplete
- Documentation25/25
- Maintenance19/25
- Trust6/20
- Capability0/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 3 days ago
- Has a release history
- Repository is not archived
- No licence detected
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 6 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Version history
| Versions | Published |
|---|---|
| 1.0.0Latest | Aug 29, 2026 |