npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

unbrowse-mcp

v1.2.1

Published

The Internet-Use layer for AI Agents - MCP server providing 50x faster web interactions with 90%+ reliability

Readme

Unbrowse MCP

npm version smithery badge License: MIT

The Internet-Use layer for AI Agents - A Model Context Protocol (MCP) server that enables AI to interact with websites at the network level.

Why Unbrowse?

Current AI browser automation is slow, unreliable, and expensive. Unbrowse provides:

  • 50x faster - Execute actions in <2 seconds vs 5-60 seconds
  • 90%+ reliability - Compared to 70-85% with browser automation
  • 20-50x cost reduction - $0.001-$0.006 per operation
  • Universal coverage - Works with most websites, not just the ~1% with APIs

Documentation

Full documentation is available at getfoundry.gitbook.io/unbrowse

Quick Start

Installation

# Run directly with npx
npx unbrowse-mcp

# Or install globally
npm install -g unbrowse-mcp

Via Smithery

npx -y @smithery/cli install @lekt9/unbrowse-mcp

Claude Desktop Configuration

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "unbrowse": {
      "command": "npx",
      "args": ["unbrowse-mcp"],
      "env": {
        "SOLANA_PRIVATE_KEY": "your_base58_encoded_private_key"
      }
    }
  }
}

Authentication Options

Choose one of three authentication methods:

Option 1: x402 Payment Mode (Recommended)

Use a Solana wallet with USDC - no account or API key required. Just fund your wallet and go:

export SOLANA_PRIVATE_KEY="your_base58_encoded_private_key"
export SOLANA_RPC_URL="https://api.mainnet-beta.solana.com"  # optional

Pricing: 0.1 cents per search, 0.5 cents per execution

Option 2: API Key

Get your API key from unbrowse.ai:

export UNBROWSE_API_KEY="re_xxxxxxxxxxxxx"

Option 3: Session Token

Use a session token from browser cookies:

export UNBROWSE_SESSION_TOKEN="cm4xxxxxxxxxxxxx"

x402 API Endpoints

The x402 protocol enables pay-per-request API access using Solana USDC. No API key required - just a funded wallet.

Base URL: https://index.unbrowse.ai

Search Abilities

GET /x402/abilities?q={query}&limit={limit}

Cost: 0.1 cents (1000 USDC lamports)

Parameters:

  • q - Search query (required)
  • limit - Max results (default: 12, max: 45)

Execute Ability

POST /x402/abilities/{abilityId}/execute

Cost: 0.5 cents (5000 USDC lamports) - Split: 20% platform, 80% ability owner

Body:

{
  "params": { "key": "value" },
  "transformCode": "(data) => data.results"  // optional
}

Protocol Flow

  1. Request - Client makes request to x402 endpoint
  2. 402 Response - Server responds with payment requirements:
    {
      "error": "Payment required",
      "payment": {
        "type": "usdc",
        "network": "solana",
        "chain": "mainnet-beta",
        "recipient": "PLATFORM_WALLET",
        "amount": "1000",
        "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "splits": [
          { "recipient": "PLATFORM", "amount": "200", "percentage": 20 },
          { "recipient": "OWNER", "amount": "800", "percentage": 80 }
        ]
      }
    }
  3. Payment - Client constructs and signs USDC transfer transaction
  4. Retry - Client retries with X-Payment header:
    X-Payment: base64({ "transaction": "<base64_signed_tx>" })
  5. Process - Server verifies payment, submits transaction, returns result

Example Integration (Node.js)

import { Connection, Keypair, Transaction } from "@solana/web3.js";
import { createTransferInstruction, getAssociatedTokenAddress } from "@solana/spl-token";
import bs58 from "bs58";

const USDC_MINT = "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v";

async function searchWithPayment(query, privateKey) {
  const keypair = Keypair.fromSecretKey(bs58.decode(privateKey));

  // 1. Make initial request
  let response = await fetch(`https://index.unbrowse.ai/x402/abilities?q=${query}`);

  if (response.status !== 402) return response.json();

  // 2. Parse payment requirement
  const { payment } = await response.json();

  // 3. Build USDC transfer transaction
  const connection = new Connection("https://api.mainnet-beta.solana.com");
  const tx = new Transaction();

  for (const split of payment.splits) {
    const fromAta = await getAssociatedTokenAddress(new PublicKey(USDC_MINT), keypair.publicKey);
    const toAta = await getAssociatedTokenAddress(new PublicKey(USDC_MINT), new PublicKey(split.recipient));
    tx.add(createTransferInstruction(fromAta, toAta, keypair.publicKey, BigInt(split.amount)));
  }

  tx.recentBlockhash = (await connection.getLatestBlockhash()).blockhash;
  tx.feePayer = keypair.publicKey;
  tx.sign(keypair);

  // 4. Retry with payment header
  const paymentHeader = Buffer.from(JSON.stringify({
    transaction: tx.serialize().toString("base64")
  })).toString("base64");

  response = await fetch(`https://index.unbrowse.ai/x402/abilities?q=${query}`, {
    headers: { "X-Payment": paymentHeader }
  });

  return response.json();
}

Available Tools

| Tool | Description | |------|-------------| | search_abilities | Search for indexed web abilities using natural language | | execute_abilities | Execute multiple abilities in parallel | | search_abilities_parallel | Run multiple searches simultaneously | | ingest_api_endpoint | Index new API endpoints (optional) | | get_payment_history | View x402 payment history (x402 mode only) |

Environment Variables

# Authentication (choose ONE)
SOLANA_PRIVATE_KEY=your_base58_key  # x402 pay-per-request (recommended)
UNBROWSE_API_KEY=re_xxxxxxxxxxxxx   # API key auth
UNBROWSE_SESSION_TOKEN=cm4xxxxxxx   # Session token auth

# Optional
SOLANA_RPC_URL=https://api.mainnet-beta.solana.com  # Custom RPC for x402
UNBROWSE_PASSWORD=your_encryption_password  # For credential decryption
DEV_MODE=true  # Show API usage docs in search results
ENABLE_INDEX_TOOL=true  # Enable API indexing tool

Use Cases

  • Investment Analysis - Aggregate financial data across platforms
  • Social Media Management - Automate cross-platform posting
  • Customer Support - Integrate with ticketing systems
  • E-commerce - Monitor prices, manage inventory
  • Project Management - Sync tasks across tools

See the documentation for detailed use cases.

Development

# Clone the repository
git clone https://github.com/getfoundry/unbrowse-mcp.git
cd unbrowse-mcp

# Install dependencies
pnpm install

# Run in development mode
pnpm dev

# Build for production
pnpm build

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT

Links