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