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
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.
<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. Nativefetch-style client, zero required deps. - JavaScript/TypeScript SDK —
npm install @wmcp/sdkwith 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.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。