MCP Hub
Back to servers

anybrowse

Converts any URL to clean, LLM-ready Markdown using real Chrome browsers

Updated
Feb 20, 2026

anybrowse

Autonomous web browsing agent. Converts any URL to clean, LLM-ready Markdown via real Chrome browsers.

Live: anybrowse.dev

What it does

anybrowse takes any URL and returns clean Markdown that LLMs can actually use. Unlike simple HTTP fetches, it runs real Chrome browsers with full JavaScript execution — handling SPAs, dynamic content, and complex page rendering.

Endpoints

EndpointDescriptionPrice
POST /scrapeConvert any URL to Markdown$0.003 USDC
POST /crawlGoogle search + scrape top results$0.005 USDC
POST /serp/searchGoogle search results as JSON$0.002 USDC
POST /mcpMCP tool server (JSON-RPC 2.0)Free

Payment

All paid endpoints use x402 micropayments — no API keys, no subscriptions. Pay per request with USDC on Base.

  1. Send a request without payment → receive 402 with payment requirements
  2. Sign the payment with your wallet
  3. Resend with X-PAYMENT header → receive the result

MCP Integration

Use anybrowse as a tool in Claude Code, Cursor, Windsurf, or any MCP-compatible client:

{
  "mcpServers": {
    "anybrowse": {
      "type": "streamable-http",
      "url": "https://anybrowse.dev/mcp"
    }
  }
}

Available tools: scrape, crawl, search

Agent Discovery

Quick Start

# Get payment requirements
curl -X POST https://anybrowse.dev/scrape \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com"}'

# Test MCP endpoint
curl -X POST https://anybrowse.dev/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"tools/list","id":1}'

TypeScript Example

import { createPayment } from "x402/client";
import { createWalletClient, http } from "viem";
import { base } from "viem/chains";
import { privateKeyToAccount } from "viem/accounts";

const account = privateKeyToAccount("0x...");
const wallet = createWalletClient({
  account, chain: base, transport: http()
});

const res = await fetch("https://anybrowse.dev/scrape", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({ url: "https://example.com" })
});

if (res.status === 402) {
  const { accepts } = await res.json();
  const payment = await createPayment(wallet, accepts[0]);
  
  const result = await fetch("https://anybrowse.dev/scrape", {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "X-PAYMENT": payment
    },
    body: JSON.stringify({ url: "https://example.com" })
  });
  
  const data = await result.json();
  console.log(data.markdown);
}

Architecture

  • Runtime: Fastify / TypeScript on Node.js
  • Browsers: Real Chrome via Browser.cash remote pool
  • Payments: x402 protocol with USDC on Base mainnet
  • Discovery: A2A agent card + MCP Streamable HTTP transport
  • Self-healing: Auto-recovers from browser crashes
  • Self-optimizing: Learns domain patterns for fast/slow rendering
  • Self-promoting: Auto-registers in agent directories

Identity

  • Wallet: 0x8D76E8FB38541d70dF74b14660c39b4c5d737088
  • Basename: anybrowse.base.eth
  • Network: Base Mainnet

Protocols

  • x402 — HTTP-native micropayments
  • A2A — Agent-to-Agent protocol
  • MCP — Model Context Protocol

License

MIT

Reviews

No reviews yet

Sign in to write a review