网页抓取服务

一个使用Puppeteer提供网页抓取功能的服务,能够从网站提取内容并将其转换为Markdown格式。

  • by examples-ai
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 examples-ai/mcp-server-puppeteer-scrape

使用说明

mcp服务器木偶抓取

一种MCP服务器,使用Puppeteer提供网络抓取功能,从网站中提取内容并将其转换为Markdown格式。

为什么是Puppeter?

与简单的基于HTTP的抓取器不同,Puppeteer使用真正的浏览器引擎来:

  • 渲染JavaScript繁重的网站:捕获JavaScript框架(React、Vue、Angular)动态生成的内容
  • 处理客户端渲染:等待AJAX调用和延迟加载内容
  • 访问交互元素:提取仅在用户交互后出现的内容
  • 绕过防刮擦措施:在网站上显示为真正的浏览器
  • 捕获最终DOM:获取用户看到的完全呈现的页面

安装

pnpm install
pnpm dev

用作MCP服务器

在Claude桌面中配置

添加到您的Claude Desktop配置中:

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

{
  "mcpServers": {
    "puppeteer-scrape": {
      "command": "pnpm",
      "args": ["dev"],
      "cwd": "/path/to/mcp-server-puppeteer-scrape"
    }
  }
}

更新配置后重新启动Claude Desktop。

可用的MCP工具

刮擦 -抓取一个网页并将其转换为Puppeteer支持的Markdown

  • 参数:
    • url (string)-要抓取的网页的URL
  • 返回:从网页中提取的Markdown格式的内容

卷曲测试

# Test the scrape tool
curl -X POST http://localhost:3000/api/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "scrape",
      "arguments": {
        "url": "https://example.com"
      }
    },
    "id": 1
  }'

# Scrape a JavaScript-heavy site
curl -X POST http://localhost:3000/api/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "scrape",
      "arguments": {
        "url": "https://news.ycombinator.com"
      }
    },
    "id": 2
  }'

许可证

麻省理工学院