Token导航 LogoToken导航TokenDH.com
webscrape MCP logo
浏览器工具stdio官方级别未说明来源级核验

webscrape MCP

MCP Server

一个强大的开源网页抓取服务器,支持智能内容提取、多格式输出、网站爬取和JavaScript渲染等功能,适用于数据采集和内容分析。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
浏览器自动化开源工具PythonClaude内容分析Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

bmcgauley

提供方

bmcgauley

最后核验

2026/5/17 20:20

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m venv venv

详细介绍

Web抓取MCP服务器

一款功能强大的开源web抓取模型上下文协议(MCP)服务器,无需API密钥即可像Firecrawl-but一样工作!使用Python和现代网络抓取库构建。

特性

  • 🔍 智能刮擦:通过自动格式检测从任何网页中提取内容
  • 📄 多种格式:获取Markdown、HTML、纯文本或结构化JSON格式的内容
  • 🕷️ 网站爬行:递归抓取具有深度和页面限制的网站
  • 🔗 链接提取:快速发现页面上的所有链接
  • ⚡ JavaScript支持:使用Playwright渲染动态页面
  • 📸 截图:捕获整页或视口屏幕截图
  • 🚀 批处理:同时删除多个URL
  • 🎯 没有API密钥:完全免费和开源

工具

1. webscrape_scrape_url

从单个URL中抓取内容。

最适合:

  • 提取文章内容
  • 将网页转换为markdown
  • 获取页面元数据
  • 删除静态网站

参数:

  • url (string,必填):要抓取的网页URL
  • response_format (枚举,默认:“markdown”):输出格式(markdown、html、text、json)
  • include_links (boolean,默认值:false):从页面中提取所有链接
  • include_images (布尔值,默认值:false):提取图像URL
  • include_metadata (布尔值,默认值:true):包含页面元数据

例子:

{
  "url": "https://example.com/article",
  "response_format": "markdown",
  "include_links": true
}

2. webscrape_scrape_multiple_urls

同时删除多个URL(最多20个)。

最适合:

  • 批量处理文章URL
  • 从站点地图中抓取多个页面
  • 跨页面比较内容

参数:

  • urls (数组,必填):要抓取的1-20个URL列表
  • response_format (枚举,默认值:“markdown”):输出格式
  • include_metadata (布尔值,默认值:true):包含页面元数据

例子:

{
  "urls": [
    "https://example.com/page1",
    "https://example.com/page2",
    "https://example.com/page3"
  ],
  "response_format": "json"
}

3. webscrape_crawl_site

递归地抓取链接后的网站。

最适合:

  • 发现一个部分中的所有页面
  • 报废文件网站
  • 构建网站地图
  • 内容审核

参数:

  • url (字符串,必填):要爬网的起始URL
  • max_depth (整数,默认值:2):最大链接深度(0-5)
  • max_pages (整数,默认值:20):要爬网的最大页面数(1-100)
  • same_domain_only (布尔值,默认值:true):仅抓取同一域
  • response_format (枚举,默认值:“markdown”):输出格式

例子:

{
  "url": "https://docs.example.com",
  "max_depth": 3,
  "max_pages": 50,
  "same_domain_only": true
}

4. webscrape_extract_links

从网页中提取所有链接。

最适合:

  • 现场测绘
  • 查找所有子页面
  • 链接分析
  • 导航发现

参数:

  • url (字符串,必填):从中提取链接的URL
  • same_domain_only (boolean,默认值:false):仅返回来自同一域的链接
  • include_anchors (boolean,默认值:false):包含片段链接(#部分)

例子:

{
  "url": "https://example.com",
  "same_domain_only": true,
  "include_anchors": false
}

5. webscrape_scrape_with_js

使用Playwright抓取JavaScript渲染的页面。

最适合:

  • 单页应用程序(React、Vue、Angular)
  • 延迟加载内容的页面
  • JavaScript密集型网站
  • 动态仪表板

参数:

  • url (字符串,必填):用JS渲染抓取的URL
  • wait_for_selector (string,可选):要等待的CSS选择器
  • wait_seconds (整数,默认值:2):额外等待时间(0-30秒)
  • response_format (枚举,默认值:“markdown”):输出格式

例子:

{
  "url": "https://app.example.com/dashboard",
  "wait_for_selector": ".data-loaded",
  "wait_seconds": 3,
  "response_format": "markdown"
}

6. webscrape_screenshot_url

捕获网页的屏幕截图。

最适合:

  • 可视化文档
  • 页面外观验证
  • 存档页面布局
  • 创建缩略图

参数:

  • url (字符串,必填):截图URL
  • full_page (布尔值,默认值:true):捕获整个页面或视口
  • width (整数,默认值:1920):视口宽度(像素)(320-3840)
  • height (整数,默认值:1080):视口高度(像素)(240-2160)

例子:

{
  "url": "https://example.com",
  "full_page": true,
  "width": 1920,
  "height": 1080
}

安装

先决条件

  • Python 3.10或更高版本
  • pip或uv包管理器

第一步:克隆或下载

# Create a directory for your MCP server
mkdir webscrape-mcp
cd webscrape-mcp

# Copy the server file and requirements

步骤2:安装依赖项

使用pip:

# Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

使用紫外线:

# Install dependencies
uv pip install -r requirements.txt

步骤3:安装Playwright(可选但推荐)

对于JavaScript渲染和屏幕截图功能:

# Install Playwright browsers
playwright install chromium

这将安装所需的Chromium浏览器 webscrape_scrape_with_jswebscrape_screenshot_url 工具。

配置

克劳德桌面

添加到您的Claude Desktop配置文件中:

MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "webscrape": {
      "command": "python",
      "args": ["/absolute/path/to/webscrape_mcp.py"]
    }
  }
}

或者使用紫外线:

{
  "mcpServers": {
    "webscrape": {
      "command": "uv",
      "args": ["run", "--directory", "/absolute/path/to/webscrape-mcp", "python", "webscrape_mcp.py"]
    }
  }
}

其他MCP客户端

对于其他兼容MCP的客户端(游标、VS代码等),请参阅其文档,了解如何通过stdio传输添加MCP服务器。

用法示例

示例1:删除博客文章

User: "Scrape this article and convert it to markdown: https://example.com/blog/post"

Claude uses: webscrape_scrape_url
{
  "url": "https://example.com/blog/post",
  "response_format": "markdown",
  "include_metadata": true
}

Returns: Clean markdown with title, content, and metadata

示例2:查找所有文档页面

User: "Find all pages in the docs section: https://docs.example.com"

Claude uses: webscrape_crawl_site
{
  "url": "https://docs.example.com",
  "max_depth": 2,
  "max_pages": 50,
  "same_domain_only": true
}

Returns: List of all discovered pages with their content

示例3:报废动态内容

User: "Scrape this React app page: https://app.example.com/data"

Claude uses: webscrape_scrape_with_js
{
  "url": "https://app.example.com/data",
  "wait_for_selector": ".data-table",
  "wait_seconds": 3
}

Returns: Fully rendered page content after JavaScript execution

示例4:提取所有链接

User: "Get all internal links from this page: https://example.com"

Claude uses: webscrape_extract_links
{
  "url": "https://example.com",
  "same_domain_only": true,
  "include_anchors": false
}

Returns: JSON with categorized internal/external links

详细功能

内容提取

服务器智能地从网页中提取内容:

  • 标记语言:简洁易读的格式非常适合LLM
  • 超文本标记语言:用于详细分析的原始HTML
  • 文本:纯文本,无格式
  • JSON:带元数据的结构化数据

元数据抽取

自动提取:

  • 页面标题
  • 元描述
  • 关键词
  • 作者信息
  • 打开图形数据(og:标题、og:描述等)

分页支持

所有基于列表的工具都支持分页:

  • 可配置的页面限制
  • 基于偏移量的分页
  • 总计数报告

错误处理

强大的错误处理功能:

  • 网络超时
  • URL无效
  • HTTP错误(404、403、429等)
  • JavaScript渲染失败
  • 警告内容太大

字符限制

响应限制为25000个字符,以防止出现压倒性的结果。当内容超过此限制时:

  • 服务器优雅地截断
  • 提供清晰的截断通知
  • 提出获得更具体结果的方法

与Firecrawl的比较

功能此服务器Firecrawl
成本免费、开源付费API(带免费层)
API密钥无需必填
单URL抓取
批量报废✅ (20个网址)
网站爬行
链接提取✅ (地图功能)
JavaScript渲染✅ (剧作家)✅
截图
多种格式
AI提取
网页搜索
速率限制是(基于计划)

技术细节

构建于

  • FastMCP:MCP官方Python SDK
  • 美丽的Soup4:HTML解析
  • lxml 文件:快速HTML/XML处理
  • html2text:HTML到Markdown的转换
  • httpx:现代异步HTTP客户端
  • 剧作家:浏览器自动化(可选)

建筑

服务器遵循MCP最佳实践:

  • 异步/等待所有I/O操作
  • 用于输入验证的Pydantic v2模型
  • 全面的错误处理
  • 更好的用户体验工具注释
  • 响应格式灵活性
  • 字符限制保护

故障排除

“找不到模块'剧作家'”

安装Playwright和浏览器:

pip install playwright
playwright install chromium

“连接超时”错误

  • 增加代码中的默认超时时间
  • 检查您的互联网连接
  • 某些站点可能会阻塞刮板

“请求太多”/429错误

  • 增加请求之间的延迟
  • 一些网站有速率限制
  • 考虑使用代理(修改代码)

响应被截断

  • 使用更具体的选择器
  • 删除特定部分而不是整页
  • 使用更紧凑的JSON格式
  • 减少 max_pagesmax_depth 用于爬行

最佳实践

  1. 尊重robots.txt:检查是否允许刮擦
  2. 速率限制:不要用请求淹没服务器
  3. 法律遵循:确保您有权抓取内容
  4. 从小事做起:爬行前使用单页进行测试
  5. 使用特定的选择器:对于JavaScript渲染,请等待特定元素

贡献

此服务器是开源的,欢迎投稿!请随意:

  • 报告错误
  • 建议功能
  • 提交拉取请求
  • 改进文档

许可证

MIT许可证-可根据需要自由使用和修改。

支持

对于问题和疑问:

  • 在GitHub上打开一个问题
  • 检查故障排除部分
  • 在modelcontextprotocol.io上查看MCP文档

______________________________________________________________________

内置❤️ 遵循MCP最佳实践

目录标签

目录标签

浏览器自动化开源工具PythonClaude内容分析网页抓取本地部署数据采集自动化

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP