{
  "$schema": "https://modelcontextprotocol.io/schemas/server-card/v1.0",
  "version": "1.0",
  "protocolVersion": "2024-11-05",
  "serverInfo": {
    "name": "nanoparse-mcp",
    "version": "1.0.0",
    "description": "NanoParse — parse any URL into clean Markdown with Litmus source-intelligence signals. Paid per parse ($0.005 USDC on Base) with x402; no accounts, no API keys.",
    "homepage": "https://nanoparse.app"
  },
  "transport": {
    "type": "streamable-http",
    "url": "https://nanoparse.app/mcp"
  },
  "capabilities": {
    "tools": true,
    "resources": false,
    "prompts": false
  },
  "tools": [
    {
      "name": "nanoparse_fetch",
      "description": "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)."
    },
    {
      "name": "nanoparse_status",
      "description": "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."
    }
  ]
}