{
  "markdown": "# wmcp.sh\n\n**Add any website to Claude, Cursor, or Codex as agent-callable MCP tools — in one line of config. No per-server build, no SDK.**\n\n[![Live](https://img.shields.io/badge/live-wmcp.sh-7c5cff)](https://wmcp.sh)\n[![MIT License](https://img.shields.io/badge/license-MIT-4ade80)](./LICENSE)\n[![MCP compatible](https://img.shields.io/badge/MCP-compatible-00e5ff)](https://modelcontextprotocol.io)\n[![TypeScript](https://img.shields.io/badge/built%20with-TypeScript-3178c6)](#whats-in-the-repo)\n[![New1Direction/webmcp-anything MCP server](https://glama.ai/mcp/servers/New1Direction/webmcp-anything/badges/score.svg)](https://glama.ai/mcp/servers/New1Direction/webmcp-anything)\n\n<p align=\"center\">\n  <a href=\"https://wmcp.sh/demo/hero.mp4\">\n    <img src=\"https://wmcp.sh/og.png\" alt=\"wmcp.sh — paste any URL, get agent-callable MCP tools in Claude/Cursor/Codex\" width=\"640\" />\n  </a>\n  <br/>\n  <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>\n</p>\n\n`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.\n\n**Live now:** [wmcp.sh](https://wmcp.sh) · [Directory](https://wmcp.sh/directory) · [Blog](https://wmcp.sh/blog) · [`/llms.txt`](https://wmcp.sh/llms.txt)\n\n---\n\n## 30-second quickstart\n\n### Connect any URL to your MCP client (the flagship)\n\nPoint 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`):\n\n```json\n{\n  \"mcpServers\": {\n    \"allbirds\": {\n      \"type\": \"http\",\n      \"url\": \"https://wmcp.sh/mcp/u/aHR0cHM6Ly93d3cuYWxsYmlyZHMuY29tL3Byb2R1Y3RzL21lbnMtd29vbC1ydW5uZXJz\"\n    }\n  }\n}\n```\n\nThat base64url string decodes to `https://www.allbirds.com/products/mens-wool-runners`. Encode your own:\n\n```bash\nnode -e \"process.stdout.write(Buffer.from('https://your-url.example').toString('base64url'))\"\n```\n\n**Compose several sites into one MCP server** — repeat the `url` param; tool names are namespaced per host (`site_a__add_to_cart`):\n\n```json\n{ \"mcpServers\": { \"wmcp\": { \"type\": \"http\", \"url\": \"https://wmcp.sh/mcp/url?url=https://site-a.example&url=https://site-b.example\" } } }\n```\n\n`tools/list` (discovery) is free. `tools/call` (live execution) needs a paid key, passed as a Bearer header:\n\n```json\n{ \"mcpServers\": { \"wmcp\": { \"type\": \"http\", \"url\": \"https://wmcp.sh/mcp/u/<base64url>\", \"headers\": { \"Authorization\": \"Bearer webmcp_live_…\" } } } }\n```\n\n`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`](https://wmcp.sh/how-to/install-claude-desktop-mcp).\n\n### Or just hit the REST API (no client, no key for reads)\n\n```bash\n# any URL → MCP-shaped tool list\ncurl 'https://wmcp.sh/api/v1/tools?url=https://www.allbirds.com/products/mens-wool-runners'\n```\n\nReturns a JSON tool list in the [Claude `tool_use`](https://docs.anthropic.com/en/docs/build-with-claude/tool-use) / OpenAI `function_call` / MCP shape — `get_price`, `add_to_cart`, `list_variants` — that any agent can invoke.\n\n---\n\n## How it works\n\nA 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.\n\n```\n┌──────────────────────────────────────────────────┐\n│  URL in →                                          │\n│    1. Shopify       (~4M storefronts, <50ms)       │\n│    2. JSON-LD       (schema.org Product, etc.)     │\n│    3. OpenAPI       (any 3.x / Swagger 2.0 → tools)│\n│    4. Provider      (Stripe, GitHub, Slack…)       │\n│    5. LLM-fallback  (Claude Haiku, cached 30d)     │\n│  → MCP tools out                                   │\n└──────────────────────────────────────────────────┘\n```\n\nCached 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](#directory--sdks--extension) extracts schemas in your browser and pushes them back to the shared cache. Full design in [docs/ARCHITECTURE.md](./docs/ARCHITECTURE.md).\n\n---\n\n## What makes it different\n\nToday, \"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.\n\nwmcp inverts that:\n\n| | Hand-built MCP server | wmcp.sh |\n|---|---|---|\n| **Coverage** | One service per server | Any URL, one endpoint |\n| **Setup** | Clone, build, configure, deploy | Paste one config line |\n| **New target** | Write & ship a new server | Encode the URL — done |\n| **Auth'd upstreams** | Bake credentials into each server | Shared OAuth/credential vault proxy at `/mcp/<provider>` |\n| **Discovery** | Find/trust each repo | Public [directory](https://wmcp.sh/directory) of what's already cached |\n\nThere'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.\n\n---\n\n## Directory, SDKs & extension\n\n- **Directory** — every URL the community has indexed, browsable and searchable: [wmcp.sh/directory](https://wmcp.sh/directory). Submit your site (free): [wmcp.sh/directory/submit](https://wmcp.sh/directory/submit).\n- **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).\n- **Python SDK** — `pip install wmcp`. Native `fetch`-style client, zero required deps.\n- **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`.\n\n```ts\nimport { WmcpClient } from \"@wmcp/sdk\";\nimport { toAnthropicTools } from \"@wmcp/sdk/anthropic\";\n\nconst client = new WmcpClient(); // anonymous = 100 reads/day per IP\nconst tools = toAnthropicTools(await client.tools(\"https://www.allbirds.com/products/mens-wool-runners\"));\n```\n\n- **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.\n\n---\n\n## Pricing\n\nTwo 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.\n\n**Self-serve API** (manage at [/dashboard](https://wmcp.sh/dashboard)):\n\n| Tier | Cost | What you get |\n|---|---|---|\n| **Free** | $0 | `tools/list` + REST reads, IP-rate-limited, no live execute |\n| **Builder** | $39/mo | Entry paid tier: live `tools/call` execute, OAuth vault, higher quotas |\n| **Pro** | $99/mo | High quotas, priority cache, full execute + vault |\n| **Reseller** | $299/mo | High-volume quotas, email support |\n\n**Done-for-you service** ([/managed](https://wmcp.sh/managed)):\n\n| Tier | Cost | What you get |\n|---|---|---|\n| **Starter** | $499 one-time | Custom adapter built for your site + verified directory badge |\n| **Managed Retainer** | $999/mo | Ongoing maintenance, featured listing, white-label MCP at `mcp.yourbrand.com` |\n| **Enterprise** | $4,999+/mo | Self-hosted deployment + SLA + dedicated support |\n\n---\n\n## What's in the repo\n\n```\n.\n├── adapters/                Shared adapter library (worker + extension import the same files)\n│   ├── shopify.js           ~4M storefronts, read + add_to_cart\n│   ├── jsonld.js            generic schema.org Product\n│   ├── openapi.js           any OpenAPI 3.x / Swagger 2.0 → tools\n│   ├── llm.js               Claude Haiku fallback\n│   ├── CONTRACT.md          the detect() / extract() / actions interface\n│   ├── _template/           starter scaffold for new adapters\n│   └── _test/run.mjs        node:test harness, zero deps\n│\n├── worker/                  Hosted API + MCP server at wmcp.sh\n│   └── src/                 Hono routes, mcp_server.ts, OAuth, billing, SEO pages, token vault\n│\n├── extension/               Chrome MV3 extension (cache-back path)\n│\n├── sdks/\n│   ├── python/wmcp/         pip install wmcp\n│   └── javascript/src/      @wmcp/sdk (+ anthropic / openai / langchain / vercel-ai adapters)\n│\n├── docs/                    QUICKSTART · ARCHITECTURE · API · SELF_HOSTING\n├── launch/                  Launch artifacts (HN draft, registry submissions, demo)\n├── AGENTS.md                rules for AI coding agents working on this repo\n├── CONTRIBUTING.md          how to send a PR\n├── ADAPTERS_WANTED.md       open targets, ranked by difficulty\n└── LICENSE                  MIT\n```\n\n---\n\n## Contributing\n\nNew adapters are welcome via PR. The whole point is that adding a site shouldn't mean building a new server.\n\n```bash\ngit clone https://github.com/New1Direction/webmcp-anything\ncd webmcp-anything\ncp -r adapters/_template adapters/mysite\n# edit adapters/mysite/adapter.js — implement detect() + extract()\nnode adapters/_test/run.mjs\n```\n\nAdapter 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](./CONTRIBUTING.md), the [adapter contract](./adapters/CONTRACT.md), and open targets in [ADAPTERS_WANTED.md](./ADAPTERS_WANTED.md). If you're an AI coding agent, read [AGENTS.md](./AGENTS.md) first.\n\n---\n\n## Status\n\n- ✅ Production at [wmcp.sh](https://wmcp.sh) (Cloudflare Workers + KV)\n- ✅ Spec-compliant MCP server (JSON-RPC 2.0 over Streamable HTTP) — per-URL, multi-URL, and saved-toolset endpoints\n- ✅ 5-tier extraction chain + free REST API (`/api/v1/tools`)\n- ✅ OAuth-vault proxy for 8+ providers (Google, GitHub, Slack, Notion, Linear, Discord, Stripe, Anthropic)\n- ✅ Public directory (submit, badge, verified/featured)\n- ✅ Python (`pip install wmcp`) + JS (`@wmcp/sdk`) SDKs and a Chrome extension\n- 🟡 Stripe billing wired; self-serve dashboard upgrade in progress\n- 🟡 Registry submissions in progress — see [`launch/registry/SUBMISSION_PLAYBOOK.md`](./launch/registry/SUBMISSION_PLAYBOOK.md)\n\nFound a bug? [Open an issue](https://github.com/New1Direction/webmcp-anything/issues). Have a site we should support? [ADAPTERS_WANTED.md](./ADAPTERS_WANTED.md).\n\n---\n\n## License\n\nMIT. See [LICENSE](./LICENSE). Repo: [github.com/New1Direction/webmcp-anything](https://github.com/New1Direction/webmcp-anything).\n",
  "bytes": 11092,
  "sha": "f537803710a8aeaf08cee9c93cefcf6622d6ba8773009c9b4166877943d083b0",
  "repo_slug": "new1direction/webmcp-anything",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_new1direction_trust_oracle_b1b2f3be/readme"
}