web-mcp

web-mcp

Worker that turns any URL into agent-callable MCP tools, plus a Chrome extension, open-source adapters, and SDKs. On top of that sits an independent A–F trust graph for the whole MCP ecosystem

Category
Visit Server

README

wmcp.sh

Add any website to Claude, Cursor, or Codex as agent-callable MCP tools — in one line of config. No per-server build, no SDK.

Live MIT License MCP compatible TypeScript

<p align="center"> <a href="https://wmcp.sh/demo/hero.mp4"> <img src="https://wmcp.sh/og.png" alt="wmcp.sh — paste any URL, get agent-callable MCP tools in Claude/Cursor/Codex" width="640" /> </a> <br/> <em><a href="https://wmcp.sh/demo/hero.mp4">▶ Watch the 30-sec demo</a> — paste a URL → tools appear → agent calls add_to_cart.</em> </p>

wmcp.sh is a real, spec-compliant MCP server (JSON-RPC 2.0 over Streamable HTTP) that turns any URL into agent-callable tools — Shopify product pages, OpenAPI specs, JSON-LD pages, OAuth-protected APIs. Every other MCP server is one-per-service and hand-built; wmcp is one endpoint that adapts to whatever URL you point it at. Paste a config line and your agent can read prices, list variants, or call an API on a site that ships no MCP server of its own.

Live now: wmcp.sh · Directory · Blog · /llms.txt


30-second quickstart

Connect any URL to your MCP client (the flagship)

Point any MCP client — Claude Code, Claude Desktop, Cursor, Codex, Cline, VS Code — at a per-URL endpoint: /mcp/u/<base64url-of-your-url>. That's the whole install. The server exposes that page's extracted tools natively (tools/list + tools/call):

{
  "mcpServers": {
    "allbirds": {
      "type": "http",
      "url": "https://wmcp.sh/mcp/u/aHR0cHM6Ly93d3cuYWxsYmlyZHMuY29tL3Byb2R1Y3RzL21lbnMtd29vbC1ydW5uZXJz"
    }
  }
}

That base64url string decodes to https://www.allbirds.com/products/mens-wool-runners. Encode your own:

node -e "process.stdout.write(Buffer.from('https://your-url.example').toString('base64url'))"

Compose several sites into one MCP server — repeat the url param; tool names are namespaced per host (site_a__add_to_cart):

{ "mcpServers": { "wmcp": { "type": "http", "url": "https://wmcp.sh/mcp/url?url=https://site-a.example&url=https://site-b.example" } } }

tools/list (discovery) is free. tools/call (live execution) needs a paid key, passed as a Bearer header:

{ "mcpServers": { "wmcp": { "type": "http", "url": "https://wmcp.sh/mcp/u/<base64url>", "headers": { "Authorization": "Bearer webmcp_live_…" } } } }

type may be "http" or "streamable-http" (same transport). For Claude Desktop builds without remote-MCP support, bridge with npx mcp-remote <url>. Full walkthrough: /how-to/install-claude-desktop-mcp.

Or just hit the REST API (no client, no key for reads)

# any URL → MCP-shaped tool list
curl 'https://wmcp.sh/api/v1/tools?url=https://www.allbirds.com/products/mens-wool-runners'

Returns a JSON tool list in the Claude tool_use / OpenAI function_call / MCP shape — get_price, add_to_cart, list_variants — that any agent can invoke.


How it works

A 5-tier extraction chain turns most URLs into tools with zero per-site work. Each tier is tried in order; the first that detects the URL wins. The last tier is an LLM fallback that produces best-effort tools and caches the result.

┌──────────────────────────────────────────────────┐
│  URL in →                                          │
│    1. Shopify       (~4M storefronts, <50ms)       │
│    2. JSON-LD       (schema.org Product, etc.)     │
│    3. OpenAPI       (any 3.x / Swagger 2.0 → tools)│
│    4. Provider      (Stripe, GitHub, Slack…)       │
│    5. LLM-fallback  (Claude Haiku, cached 30d)     │
│  → MCP tools out                                   │
└──────────────────────────────────────────────────┘

Cached on Cloudflare KV; sub-50ms on a cache hit. Discovery (tools/list) is free; live execution (tools/call) runs through the same engine and needs a paid key. For sites that block bot fetches or hydrate client-side from authed APIs, a Chrome extension extracts schemas in your browser and pushes them back to the shared cache. Full design in docs/ARCHITECTURE.md.


What makes it different

Today, "an MCP server for X" means someone wrote, built, and deployed a dedicated server for service X. There are hundreds of them, each one a separate repo and a separate install.

wmcp inverts that:

Hand-built MCP server wmcp.sh
Coverage One service per server Any URL, one endpoint
Setup Clone, build, configure, deploy Paste one config line
New target Write & ship a new server Encode the URL — done
Auth'd upstreams Bake credentials into each server Shared OAuth/credential vault proxy at /mcp/<provider>
Discovery Find/trust each repo Public directory of what's already cached

There's also a saved toolset endpoint — /mcp/set/<id> — that bundles a curated set of URLs behind one stable MCP server (a Pro feature). It's genuinely novel: instead of one-per-service, wmcp turns arbitrary URLs into MCP tools on demand.


Directory, SDKs & extension

  • Directory — every URL the community has indexed, browsable and searchable: wmcp.sh/directory. Submit your site (free): wmcp.sh/directory/submit.
  • OAuth-vault proxy — connect an OAuth-protected upstream once; call it as MCP from any client: https://wmcp.sh/mcp/<provider> (Google, GitHub, Slack, Notion, Linear, Discord, Stripe, Anthropic).
  • Python SDK — pip install wmcp. Native fetch-style client, zero required deps.
  • JavaScript/TypeScript SDK — npm install @wmcp/sdk with one-line adapters for @wmcp/sdk/anthropic, @wmcp/sdk/openai, @wmcp/sdk/langchain, and @wmcp/sdk/vercel-ai.
import { WmcpClient } from "@wmcp/sdk";
import { toAnthropicTools } from "@wmcp/sdk/anthropic";

const client = new WmcpClient(); // anonymous = 100 reads/day per IP
const tools = toAnthropicTools(await client.tools("https://www.allbirds.com/products/mens-wool-runners"));
  • Chrome extension — for SPA / bot-walled / auth-walled sites. Extracts client-side, pushes cached schemas back to the hosted API so the next person gets them instantly — even if they never install it.

Pricing

Two separate ladders. Self-serve API plans for anyone, and a done-for-you service if you want a custom adapter built and run for you.

Self-serve API (manage at /dashboard):

Tier Cost What you get
Free $0 tools/list + REST reads, IP-rate-limited, no live execute
Builder $39/mo Entry paid tier: live tools/call execute, OAuth vault, higher quotas
Pro $99/mo High quotas, priority cache, full execute + vault
Reseller $299/mo High-volume quotas, email support

Done-for-you service (/managed):

Tier Cost What you get
Starter $499 one-time Custom adapter built for your site + verified directory badge
Managed Retainer $999/mo Ongoing maintenance, featured listing, white-label MCP at mcp.yourbrand.com
Enterprise $4,999+/mo Self-hosted deployment + SLA + dedicated support

What's in the repo

.
├── adapters/                Shared adapter library (worker + extension import the same files)
│   ├── shopify.js           ~4M storefronts, read + add_to_cart
│   ├── jsonld.js            generic schema.org Product
│   ├── openapi.js           any OpenAPI 3.x / Swagger 2.0 → tools
│   ├── llm.js               Claude Haiku fallback
│   ├── CONTRACT.md          the detect() / extract() / actions interface
│   ├── _template/           starter scaffold for new adapters
│   └── _test/run.mjs        node:test harness, zero deps
│
├── worker/                  Hosted API + MCP server at wmcp.sh
│   └── src/                 Hono routes, mcp_server.ts, OAuth, billing, SEO pages, token vault
│
├── extension/               Chrome MV3 extension (cache-back path)
│
├── sdks/
│   ├── python/wmcp/         pip install wmcp
│   └── javascript/src/      @wmcp/sdk (+ anthropic / openai / langchain / vercel-ai adapters)
│
├── docs/                    QUICKSTART · ARCHITECTURE · API · SELF_HOSTING
├── launch/                  Launch artifacts (HN draft, registry submissions, demo)
├── AGENTS.md                rules for AI coding agents working on this repo
├── CONTRIBUTING.md          how to send a PR
├── ADAPTERS_WANTED.md       open targets, ranked by difficulty
└── LICENSE                  MIT

Contributing

New adapters are welcome via PR. The whole point is that adding a site shouldn't mean building a new server.

git clone https://github.com/New1Direction/webmcp-anything
cd webmcp-anything
cp -r adapters/_template adapters/mysite
# edit adapters/mysite/adapter.js — implement detect() + extract()
node adapters/_test/run.mjs

Adapter files are plain ES modules with zero npm deps so the same file runs in Cloudflare Workers, Chrome MV3 service workers, and Node 18+. Read CONTRIBUTING.md, the adapter contract, and open targets in ADAPTERS_WANTED.md. If you're an AI coding agent, read AGENTS.md first.


Status

  • ✅ Production at wmcp.sh (Cloudflare Workers + KV)
  • ✅ Spec-compliant MCP server (JSON-RPC 2.0 over Streamable HTTP) — per-URL, multi-URL, and saved-toolset endpoints
  • ✅ 5-tier extraction chain + free REST API (/api/v1/tools)
  • ✅ OAuth-vault proxy for 8+ providers (Google, GitHub, Slack, Notion, Linear, Discord, Stripe, Anthropic)
  • ✅ Public directory (submit, badge, verified/featured)
  • ✅ Python (pip install wmcp) + JS (@wmcp/sdk) SDKs and a Chrome extension
  • 🟡 Stripe billing wired; self-serve dashboard upgrade in progress
  • 🟡 Registry submissions in progress — see launch/registry/SUBMISSION_PLAYBOOK.md

Found a bug? Open an issue. Have a site we should support? ADAPTERS_WANTED.md.


License

MIT. See LICENSE. Repo: github.com/New1Direction/webmcp-anything.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured