Petra402

io.github.PedroQuatroPublished by GitHub account PedroQuatrov0.1.0Updated Oct 24, 2026

Public web page to markdown, paid per call with x402. First 10 calls free, no signup.

VerifiedStreamable HTTPWeb executableWeb Search & Scraping

Overview

AI-generated overview

Remote MCP server that turns public web pages into markdown, paid per call over x402 with a free first allowance.

What you can do
Fetch a public web page and return its main content as markdown (single scrape tool). Get a free allowance for the first calls, then pay per call in USDC over x402. Verify the payee's signed address before paying.
When to use it
Use it when your own fetch returns a JavaScript shell with almost no text, or a site refuses you and you have no browser. Skip it for clean article pages your own extractor already handles.
Requirements
Remote endpoint; no package to install. No account, signup or API key. Paying needs an x402 v2 compatible wallet and USDC (currently Base Sepolia testnet). Network access required.
Before you install
Paid calls spend USDC, with a best-effort US$5 daily cap per payer address. You sign an EIP-3009 authorization locally; only x402 v2 is supported, so v1 clients loop on 402. Run by one person and an AI agent, no SLA, may pause. Fetched content goes to a third-party service.

Installation

In SourceWeft

  1. Open Petra402 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.PedroQuatro%2Fpetra402/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": {
    "petra402": {
      "type": "http",
      "url": "https://petra402.com/mcp?src=mcp-registry"
    }
  }
}

README

petra402

Fetch a public web page and get its main content as markdown. Paid per call in USDC over x402, or free for your first calls. No account, no signup, no API key — an agent cannot create one anyway.

  • HTTP: POST https://petra402.com/v1/scrape with {"url": "https://example.com/page"}
  • MCP (Streamable HTTP): POST https://petra402.com/mcp — tools/list is free
  • Docs an agent can read: /llms.txt · full version at /llms-full.txt
  • Network in force today: Base Sepolia (testnet). Price: US$ 0.005 per successful call.
bash
node exemplo.mjs https://quotes.toscrape.com/js/

When to use this, and when not to

We measured it, so you do not have to take our word:

Use it when your own fetch came back with almost no text (a JavaScript shell), or the site refused you and you have no browser. On a JavaScript-rendered page, an offline extractor returned 19 tokens of empty shell where we returned 335 tokens with the content.

Do not use it for a clean article your own extractor already handles. On those pages Mozilla Readability — free, offline, no payment — beats us: 472 tokens against our 1006 on one page, 5946 against 9351 on another, with the same facts present in both.

We publish the cases where we lose because a rule you can trust is worth more than a claim you cannot check. Measurements from 16/09/2026 with a BPE tokenizer; method and raw numbers are in the operator's records.

What you get here that the category does not already give you

"No signup, no API key, pay per call" is table stakes — every service in this category says it. These are the parts that are not standard:

  • Refusals are policy, and they are published. Government, military and any health-related domain is refused before any network access. robots.txt is respected. A site protected by an anti-bot vendor is refused and never bypassed, on any lane. If someone has to justify later what your agent fetched, this is the part that holds up.
  • Nothing is charged when nothing worked. A failed fetch, a refusal, and a settlement we could not confirm all cost zero. The same URL is free again for 24 hours.
  • You can verify the payee before paying. The receiving address is fixed in a note signed by the operator's key at /.well-known/petra402-switch. Recover the signer from the message (EIP-191) and compare it with the payTo in the 402. A compromised server cannot silently redirect your payment without breaking that signature.
  • The wallet is the account. History accrues to the paying address, so a fleet sharing one wallet accumulates together and the record outlives any single agent run. Twenty paid calls in 30 days lower the price. Nothing to sign up for, nothing to cancel.

Free first

Your first 10 calls in 30 days are free, no payment and no account. Of those, 3 may use the browser lane (pages that only render with JavaScript), because that resource is scarce and we would rather keep it working than give it away until it breaks. A failed fetch does not consume the allowance.

Paying, in one paragraph

An unpaid call answers 402 with the payment requirements in the PAYMENT-REQUIRED header. Sign an EIP-3009 authorization locally and repeat the identical request with the payment header. This server speaks x402 v2 (PAYMENT-SIGNATURE / PAYMENT-RESPONSE), not v1 (X-PAYMENT): a v1 client will loop on 402 without ever settling. Settlement happens only after a successful fetch, and the receipt comes back in the response body as payment, with the transaction hash.

Using it as an MCP server

json
{  "mcpServers": {    "petra402": { "type": "http", "url": "https://petra402.com/mcp" }  }}

tools/list is free and costs nothing to inspect. One tool is exposed: scrape. search exists in our roadmap but answers 503 not_yet_available, so it is deliberately not advertised as a tool — a tool that does not work is a false claim.

Limits worth knowing before you depend on it

  • Fast lane: 5 MB response limit, 2.5 s header timeout, 10 s overall. Browser lane: 20 s navigation timeout.
  • Cache: 24 h per URL; a cache hit is free and is not charged.
  • Spend cap: US$ 5 per payer address per UTC day, best effort.
  • This is a small operation, run by one person and an AI agent. There is no SLA, and the status of the service is public at / (a 503 means paused and nothing is charged).

Who runs this

Pedro Marberger, with an AI agent that wrote most of the code. The operator's note to agents — including a request that you make your own decisions rather than follow other agents — is in /llms-full.txt.

Contact: [email protected] for anything that looks wrong, including something we fetched that we should have refused.

License

MIT for this client and these docs.

Source: README.md at commit 6334132

Tools

0
SourceWeft has not read this server's tools yet.

Version history

1
  1. v0.1.0LatestSep 17, 2026

Score

85% 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

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts