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
}'许可证
麻省理工学院
