MCP Web Server
A local MCP server providing free network access capabilities including HTTP requests, web search, webpage content extraction, and optional screenshots, designed for integration with Claude Desktop or Claude Code.
README
MCP Web Server
本项目是一个本地 MCP Server,提供免费网络访问能力,可接入 Claude Desktop / Claude Code 等 MCP 客户端。
功能概览
http_request: 通用 HTTP 请求web_search: 可配置搜索引擎(DuckDuckGo / Bing / 百度)extract_webpage_content: 网页正文提取(含标题、列表、表格、代码块、引用)fetch_json: 获取并解析 JSONweb_search_and_extract: 搜索 + 并发提取一体化batch_http_request: 批量并发请求screenshot_webpage(可选): 网页截图并返回 Base64(需安装 Playwright)
安装
uv pip install -e .
开发依赖:
uv pip install -e ".[dev]"
启动服务
uv run python run_server.py
MCP 配置
Claude Code
claude mcp add web-server -s local -- uv run --directory /path/to/your/project python run_server.py
Claude Desktop
请参考仓库中的示例配置文件:claude_desktop_config.example.json。
使用前将
--directory路径改为你的本地项目路径。
运行测试
uv pip install -e ".[dev]"
pytest
环境变量
| 变量名 | 说明 | 默认值 |
|---|---|---|
MCP_LOG_LEVEL |
日志级别 | INFO |
MCP_HTTP_PROXY |
HTTP 代理 | 空 |
MCP_HTTPS_PROXY |
HTTPS 代理 | 空 |
MCP_USER_AGENT |
自定义 User-Agent | 内置 UA |
MCP_DEFAULT_TIMEOUT |
默认请求超时(秒) | 30 |
MCP_SEARCH_ENGINE |
搜索引擎:duckduckgo/bing/baidu |
duckduckgo |
MCP_BING_DOMAIN |
Bing 检索域名(可设 www.bing.com/cn.bing.com) |
www.bing.com |
MCP_SEARCH_API_KEY |
可选搜索 API Key(预留扩展) | 空 |
MCP_SEARCH_API_ENDPOINT |
可选搜索 API Endpoint(预留扩展) | 空 |
MCP_RATE_LIMIT_SEARCH |
web_search 每分钟调用上限 |
5 |
MCP_RATE_LIMIT_HTTP |
http_request 每分钟调用上限 |
30 |
MCP_RATE_LIMIT_EXTRACT |
extract_webpage_content 每分钟调用上限 |
10 |
MCP_STDIN_INVALID_INPUT_POLICY |
非法 stdin 行处理策略:ignore/warn/strict |
warn |
MCP_STDIN_INVALID_INPUT_POLICY 说明:
warn(默认):忽略非法 JSON-RPC 行并记录 warningignore:忽略非法 JSON-RPC 行且不记录 warningstrict:收到非法 JSON-RPC 行即快速失败(便于定位客户端写入问题)
MCP_SEARCH_ENGINE 说明:
duckduckgo:默认选项,无 API Key;在部分网络环境下可能不可用。bing:默认使用www.bing.com页面检索;可通过MCP_BING_DOMAIN=cn.bing.com切换大陆入口。baidu:使用百度网页检索;中国大陆可用性通常较好。
可选 API Key 模式说明:
- 当前版本默认使用“网页检索”模式(无需 API Key)。
MCP_SEARCH_API_KEY/MCP_SEARCH_API_ENDPOINT已预留,便于后续接入官方 API 或第三方聚合 API。
可选截图依赖
uv pip install -e ".[screenshot]"
playwright install chromium
可选 Web 配置界面
项目内提供了一个基于 Flask 的辅助配置界面(web_config.py / run_web_config.py),用于通过浏览器引导执行 claude mcp add:
uv pip install -e ".[web]"
uv run python run_web_config.py
打开 http://localhost:5000 即可使用。
如果你只通过命令行配置 MCP,可忽略这两个文件。
架构图
flowchart TD
Client[MCP Client] --> Server[FastMCP Server]
Server --> Tools[Tools Layer]
Tools --> Search[web_search / web_search_and_extract]
Tools --> Http[http_request / batch_http_request / fetch_json]
Tools --> Extract[extract_webpage_content]
Tools --> Shot[screenshot_webpage optional]
Http --> AsyncClient[Shared httpx.AsyncClient]
Extract --> AsyncClient
Search --> DDGS[DuckDuckGo via asyncio.to_thread]
Search --> Bing[Bing HTML parsing]
Search --> Baidu[Baidu HTML parsing + redirect resolve]
版本记录
详见 CHANGELOG.md。
许可证
本项目采用 Apache License 2.0 许可证。
Copyright 2025 MCP Web Server Contributors
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.