Skip to main content
Glama

Server Details

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

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 44 days
Last Tested
Transport
Streamable HTTP · MCP 2024-11-05
URL
Repository
nanoparse-dev/nanoparse-mcp
GitHub Stars
0
Server Listing
nanoparse-mcp

TDQS

A4.2/5.0

Scored across 2 tools

Disambiguation5/5

nanoparse_fetch reads a URL into Markdown while nanoparse_status inspects wallet, quota, and payment readiness; the two purposes are completely non-overlapping and the descriptions reinforce the distinction (status is explicitly 'use before spending').

Naming Consistency5/5

Both tools use the identical server-prefixed snake_case pattern (nanoparse_fetch, nanoparse_status), giving a predictable, readable convention with no deviation.

Tool Count3/5

Two tools is thin even for a narrowly scoped paid-fetch service; status is essentially a preflight helper for fetch, so the surface is minimal. It is defensible for the single-purpose domain but sits at the borderline of the 3-15 range.

Completeness4/5

The core lifecycle (pay/read a page, check quota and balance before paying) is fully covered with clear error semantics for unreadable pages. The notable gap is batch/sitemap retrieval — the description tells agents to build a list and loop one URL per call — but that workaround is documented, so it is a minor rather than blocking omission.

Available Tools

2 tools
nanoparse_fetchInspect

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:///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).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe URL to fetch and parse
wallet_addressNoYour wallet address (0x...) to claim the free tier — no payment needed.
wallet_signatureNoEIP-191 personal_sign signature (0x... hex, 65 bytes r||s||v) over the exact string "nanoparse.app free tier: sign this message to claim 10 free parses (no payment).". Proves you own wallet_address and unlocks 10 free parses per month.
payment_signatureNox402 payment signature — base64-encoded JSON payment terms. Only needed after the free tier is exhausted: the payment_required error response includes the payment_terms to sign. Pass the signed terms here (or as a Payment-Signature header if your client supports headers).

Output Schema

ParametersJSON Schema
NameRequiredDescription
contentNoArray of content items returned by the tool
nanoparse_statusAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressNoThe Ethereum wallet address to query (0x...).

Output Schema

ParametersJSON Schema
NameRequiredDescription
quotaYes
funding_uriNo
usdc_balanceYes
balance_errorNo
balance_knownNo
wallet_addressYes
price_per_parseYes
usdc_balance_rawNoBalance in micro-USDC; null when the chain could not be read
next_call_will_succeedNonull when the free tier is exhausted and the balance is unknown
estimated_parses_remainingNonull when the balance is unknown — never 0, which would imply an empty wallet

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It implies a read-only inspection and discloses the useful behavioral fact that it predicts whether the next fetch succeeds without payment. It does not state permissions, rate limits, or whether the query is side-effect-free explicitly, leaving gaps for a zero-annotation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences, front-loaded with what is checked and followed by the usage rationale. No filler, every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation, and the description covers the four queried aspects plus the actionable outcome (how much to fund). The optional address parameter is left to the schema, a minor gap given 0 required params.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and there is only one parameter, so the schema already documents the address fully. The description adds no meaning beyond that, which is the expected baseline when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Check') and enumerates the exact resources returned: wallet balance, USDC balance, quota state, and payment-free fetch eligibility. This clearly distinguishes it from the sibling nanoparse_fetch, which spends, versus this which inspects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Use before spending' gives a clear trigger condition, and the second clause frames it as the funding-decision step preceding /fetch. It does not explicitly name nanoparse_fetch as the alternative, but the pre-spend context makes the relationship unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changednanoparse_fetch2 fields changed
      • addedInput schema / properties / wallet_address
        Added value: +{
        +  "description": "Your wallet address (0x...) to claim the free tier — no payment needed.",
        +  "type": "string"
        +}
      • addedInput schema / properties / wallet_signature
        Added value: +{
        +  "description": "EIP-191 personal_sign signature (0x... hex, 65 bytes r||s||v) over the exact string \"nanoparse.app free tier: sign this message to claim 10 free parses (no payment).\". Proves you own wallet_address and unlocks 10 free parses per month.",
        +  "type": "string"
        +}
  2. 1 tool update
    • Changednanoparse_fetch1 field changed
      • removedOutput schema / required
        Removed value: -[
        -  "content"
        -]
  3. 1 tool update
    • Changednanoparse_status14 fields changed
      • addedOutput schema / description
        Added value: +"Machine-readable status fields. This schema describes structuredContent — strict MCP clients validate structuredContent against it, so it must NOT require the result-envelope `content` array."
      • addedOutput schema / properties / balance_error
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / balance_known
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / content
        Removed value: -{
        -  "description": "Human-readable status report as text content",
        -  "items": {
        -    "properties": {
        -      "text": {
        -        "description": "Multi-line status report: wallet, USDC balance, price, estimated parses, free tier, funding URI",
        -        "type": "string"
        -      },
        -      "type": {
        -        "enum": [
        -          "text"
        -        ],
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "type",
        -      "text"
        -    ],
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / estimated_parses_remaining
        Added value: +{
        +  "description": "null when the balance is unknown — never 0, which would imply an empty wallet",
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / funding_uri
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / next_call_will_succeed
        Added value: +{
        +  "description": "null when the free tier is exhausted and the balance is unknown",
        +  "type": [
        +    "boolean",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / price_per_parse
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / quota
        Added value: +{
        +  "type": "object"
        +}
      • removedOutput schema / properties / structuredContent
        Removed value: -{
        -  "description": "Machine-readable status fields",
        -  "properties": {
        -    "balance_error": {
        -      "type": [
        -        "string",
        -        "null"
        -      ]
        -    },
        -    "estimated_parses_remaining": {
        -      "type": "number"
        -    },
        -    "funding_uri": {
        -      "type": "string"
        -    },
        -    "next_call_will_succeed": {
        -      "type": "boolean"
        -    },
        -    "price_per_parse": {
        -      "type": "string"
        -    },
        -    "quota": {
        -      "type": "object"
        -    },
        -    "usdc_balance": {
        -      "type": "string"
        -    },
        -    "usdc_balance_raw": {
        -      "type": "string"
        -    },
        -    "wallet_address": {
        -      "type": "string"
        -    }
        -  },
        -  "type": "object"
        -}
      • addedOutput schema / properties / usdc_balance
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / usdc_balance_raw
        Added value: +{
        +  "description": "Balance in micro-USDC; null when the chain could not be read",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / wallet_address
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "content"
        -]New value: +[
        +  "wallet_address",
        +  "usdc_balance",
        +  "price_per_parse",
        +  "quota"
        +]
  4. 2 tool updates
    • First observednanoparse_fetch
    • First observednanoparse_status

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables extracting clean, structured markdown from any URL—stripping nav, ads, and scripts—for RAG pipelines and AI research agents, with pay-per-call micropayments via x402.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables extracting clean Markdown from any webpage by paying $0.005 USDC per call via the x402 protocol, with automatic wallet-based payment settlement.
    8 npm
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Pay-per-use clean web reader for AI agents. URL in, markdown plus metadata out, in milliseconds. Settled per-call in USDC over x402 — no signup, no API keys.
    1
    71 npm
    3
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to convert HTML content into clean Markdown, stripping scripts and styles while preserving headings, links, lists, and images, with pay-per-call x402 micropayments and no API keys.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.