wikipedia_search
Wikipedia: search
[wikipedia] Full-text search of Wikipedia. Returns titles, short descriptions and excerpts.
limitquery必填
io.github.charleswei118由 GitHub 帳號 charleswei118 發布v0.2.0更新於 Nov 7, 2026
Zero-dependency Cloudflare Worker gateway turning websites and REST APIs into MCP tools.
一個 Cloudflare Worker 閘道,把維基百科、Hacker News、天氣、地理編碼、匯率和 GitHub 等公開網路資料來源包裝成 MCP 工具。
Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。
把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。
閱讀 https://sourceweft.com/mcp/io.github.charleswei118%2Fweb2mcp/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。把它新增到你客戶端的 mcpServers 設定中。
{
"mcpServers": {
"web2mcp": {
"type": "http",
"url": "https://web2mcp.cwei59969.workers.dev/mcp"
}
}
}Turn any website or REST API into MCP tools — one tiny Cloudflare Worker, zero dependencies.
[CI] [License: MIT] [Runtime deps: 0] [MCP]
GitHub's 665 REST endpoints → 2 MCP tools, ~147,000 tokens of tool definitions → ~300 (catalog mode)
Every AI agent (Claude, ChatGPT, Cursor, your own bots…) now speaks the Model Context Protocol. But most websites and apps don't. web2mcp is the glue: describe an HTTP API in a few lines of config and it instantly becomes an MCP tool that any agent can call — hosted for free on Cloudflare's edge.
A public demo is running at https://web2mcp.cwei59969.workers.dev (tool list) with the MCP endpoint at:
Paste it into any client that supports remote MCP servers, or:
The demo is rate-limited by the free plan and has reader_read disabled. Deploy your own for real use.
pick and fields trim giant JSON responses down to what the model needs.Click Deploy to Cloudflare above. Cloudflare copies this repo into your GitHub account, asks for an AUTH_TOKEN (any long random string, e.g. openssl rand -hex 32), then builds and deploys it. A minute later your server is live at https://web2mcp.<your-subdomain>.workers.dev/mcp, and every push to your copy redeploys it. The free Workers plan is enough.
Optional: protect your endpoint
Claude Desktop / Cursor / Windsurf (via mcp-remote):
Run locally over stdio (no Cloudflare account needed; same connectors):
Or with Docker: docker build -t web2mcp . && docker run -i --rm web2mcp. Environment variables work the same as Worker bindings (ENABLED_CONNECTORS, CONNECTORS_JSON, MAX_OUTPUT_CHARS, TOOL_MODE=catalog).
Clients that support remote MCP servers natively (Claude.ai custom connectors, ChatGPT connectors, the OpenAI Responses API, Cloudflare AI Playground…) can use the URL directly. Test with the official inspector:
Create connectors/myapi.js and add it to connectors/index.js:
Template rules:
No-code option: put connectors in the CONNECTORS_JSON secret (a JSON array of the same objects) and they appear without touching the code. Use ENABLED_CONNECTORS="wikipedia,weather" to expose only some.
Exposing every endpoint as its own tool floods the model's context. In catalog mode web2mcp exposes just two tools:
search_api — find operations by keywords; returns their names and argument schemascall_api — run one operation by name with an arguments objectMeasured with GitHub's full REST OpenAPI spec (GET operations only, converted with scripts/openapi2connector.js):
Turn it on per request with /mcp?mode=catalog, or for the whole deployment with the variable TOOL_MODE = "catalog" (?mode=tools switches back). Try it on the demo: https://web2mcp.cwei59969.workers.dev/mcp?mode=catalog.
Supported MCP methods: initialize, ping, tools/list, tools/call, plus empty resources/list and prompts/list. Protocol versions 2025-06-18, 2025-03-26, 2024-11-05.
search_api + call_api) — v0.2HTMLRewriter)PRs with new connectors are very welcome — see CONTRIBUTING.md.
Only connect APIs and sites you are allowed to use. Respect each service's terms, robots rules and rate limits, and keep credentials in Worker secrets.
If web2mcp saves you time, please ⭐ the repo — it helps others find it.
來源:README.md,提交 76cbc3b
Wikipedia: search
[wikipedia] Full-text search of Wikipedia. Returns titles, short descriptions and excerpts.
limitquery必填Wikipedia: summary
[wikipedia] Get the lead summary of a Wikipedia article by exact title.
title必填Hacker News: front_page
[hackernews] Stories currently on the Hacker News front page.
limitHacker News: search
[hackernews] Search Hacker News stories by keyword.
limitquery必填Open-Meteo Geocoding: search
[geocode] Look up a city or place and get its coordinates, country and timezone.
name必填limitlanguageOpen-Meteo Weather: forecast
[weather] Current conditions plus a daily forecast (max/min temperature, precipitation, weather code).
dayslatitude必填longitude必填Frankfurter exchange rates: latest
[currency] Latest exchange rates from a base currency.
basesymbolsGitHub: search_repos
[github] Search repositories. Supports GitHub qualifiers like 'mcp language:rust stars:>100'.
sortlimitquery必填GitHub: repo
[github] Get details of one repository.
repo必填owner必填已滿足適用檢查項的 100%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
Claude / Cursor / any MCP client │ MCP (Streamable HTTP, JSON-RPC) ▼ ┌──────────────────────────┐ │ web2mcp (CF Worker) │ connectors/*.js or CONNECTORS_JSON └──────────────────────────┘ │ │ │ Wikipedia GitHub any REST API / web page …https://web2mcp.cwei59969.workers.dev/mcpcurl -s https://web2mcp.cwei59969.workers.dev/mcp -H 'content-type: application/json' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"weather_forecast","arguments":{"latitude":35.68,"longitude":139.69}}}'git clone https://github.com/charleswei118/web2mcp && cd web2mcpnpm test # unit tests, no install needed (Node 20+)npm run smoke # calls every built-in tool against the real APIsnpx wrangler dev # local server at http://localhost:8787/mcpnpx wrangler deploy # your own https://web2mcp.<you>.workers.dev/mcpnpx wrangler secret put AUTH_TOKEN{ "mcpServers": { "web2mcp": { "command": "npx", "args": ["-y", "mcp-remote", "https://web2mcp.<you>.workers.dev/mcp", "--header", "Authorization: Bearer ${WEB2MCP_TOKEN}"], "env": { "WEB2MCP_TOKEN": "your-token" } } }}{ "mcpServers": { "web2mcp": { "command": "npx", "args": ["-y", "github:charleswei118/web2mcp"], "env": { "ENABLED_CONNECTORS": "wikipedia,hackernews,weather" } } }}npx @modelcontextprotocol/inspector # transport: Streamable HTTP, URL: .../mcpexport default { name: "openlibrary", // tool names become openlibrary_<tool> description: "Search books on Open Library.", baseUrl: "https://openlibrary.org", headers: { /* "authorization": "Bearer ${MY_API_KEY}" */ }, tools: [ { name: "search", description: "Search books by title or author.", method: "GET", // GET | POST | PUT | PATCH | DELETE path: "/search.json", // "{arg}" in the path is URL-encoded query: { q: "{query}", limit: "{limit}" }, params: { query: { type: "string", required: true, description: "Title or author" }, limit: { type: "integer", minimum: 1, maximum: 20, default: 5 }, }, pick: "docs", // dotted path into the JSON response fields: ["title", "author=author_name", "year=first_publish_year"], }, ],};node scripts/openapi2connector.js https://petstore3.swagger.io/api/v3/openapi.json petstore --only GET > connectors/petstore.js