streamable-httpMITupdated 3mo ago
Add any website to Claude, Cursor, or Codex as agent-callable MCP tools β in one line of config. No per-server build, no SDK.
What can you do with trust oracle?
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.
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.
Install
Add trust oracle to your client. Pick the one you use.
claude mcp add --transport http trust-oracle https://wmcp.sh/mcp/trustcodex mcp add trust-oracle --url https://wmcp.sh/mcp/trust{
"mcpServers": {
"trust-oracle": {
"url": "https://wmcp.sh/mcp/trust"
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"servers": {
"trust-oracle": {
"type": "http",
"url": "https://wmcp.sh/mcp/trust"
}
}
}Add to `.vscode/mcp.json` in your workspace.
{
"mcpServers": {
"trust-oracle": {
"url": "https://wmcp.sh/mcp/trust"
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"trust-oracle": {
"serverUrl": "https://wmcp.sh/mcp/trust"
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
Score
39 / 100
Incomplete
- Documentation25/25
- Maintenance16/25
- Trust13/20
- Capability0/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 82 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 6 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint β no local install
Version history
| Versions | Published |
|---|---|
| 1.0.0Latest | May 30, 2026 |