增强型提取MCP
英语| 简体中文
](https://smithery.ai/server/@Danielmelody/enhanced-fetch-mcp)
一个人工智能原生网络交互层,将Playwright提升为人工智能代理的智能、安全和高效服务。
| 功能 | 克劳德的原生抓取 | 标准剧作家 | 增强的抓取MCP |
|---|---|---|---|
| 内容提取 | 基本 | 手动解析 | 高级:将主要内容、元数据、链接和图像提取到干净的Markdown中。 |
| JavaScript渲染 | ❌ 否 | ✅ 是的 | ✅ 是:动态页面的完整浏览器渲染。 |
| 安全 | ✅ 安全 | ⚠️ 浏览器沙盒 | 🔒 高度设防:所有操作都隔离在Docker容器中。 |
| 资源效率 | 高 | 低 | 混合动力发动机:在轻量级HTTP和完整浏览器之间智能切换。 |
| 屏幕截图和PDF | ❌ 否 | ✅ 是的 | ✅ 是:捕获屏幕截图并生成PDF。 |
| 控制和定制 | 有限 | 高 | 完全控制:可自定义的标头、超时等。 |
______________________________________________________________________
快速开始
选项1:本地安装
1.安装:
npm install -g enhanced-fetch-mcp2.配置克劳德代码(~/.config/claude/config.json):
{
"mcpServers": { "enhanced-fetch": { "command": "enhanced-fetch-mcp" } }
}3.用途:
“获取的主要内容 https://example.com 并截图。"选项2:通过Smithery安装
或者,您可以使用Smithery简化安装和配置过程。
通过Smithery安装: https://smithery.ai/server/@Danielmelody/增强型fetch mcp
Smithery为您自动化安装、依赖关系管理和MCP配置。 重要提示: 服务器完全在您的本地机器上运行,没有数据发送到外部服务器。您可以完全控制您的浏览活动、屏幕截图和提取的内容,确保最大的隐私和安全性。
______________________________________________________________________
工具
网页抓取工具(3)
| 工具 | 说明 |
|---|---|
fetch_url | 直接向URL发出HTTP请求以检索其原始HTML内容。它支持各种方法(GET、POST等)、自定义标头和其他高级选项。 |
extract_content | 解析原始HTML以提取结构化信息。它识别主文章,清理它,并以多种格式(文本、Markdown和HTML)返回它,以及元数据、链接和图像。 |
fetch_and_extract | 一个方便的多功能工具,首先获取URL,然后自动提取其内容。它智能地决定是使用简单的HTTP请求还是使用完整的浏览器。 |
浏览器自动化工具(8)
| 工具 | 说明 |
|---|---|
create_browser_context | 使用干净的会话初始化并启动一个新的隔离浏览器实例(如Chrome、Firefox或WebKit),为未来的操作返回一个唯一的ID。 |
browser_navigate | 指示特定浏览器实例访问URL并等待页面加载,包括执行任何初始JavaScript。 |
browser_get_content | 在浏览器呈现页面后检索页面的完整HTML,确保所有动态内容都存在。 |
browser_screenshot | 在浏览器中捕获当前页面的视觉快照,可以是整页或特定区域,并返回图像数据。 |
browser_pdf | 从当前页面的内容生成PDF文档,允许网页的可打印离线版本。 |
browser_execute_js | 在当前页面的上下文中运行自定义JavaScript代码段,实现与页面元素的交互或数据检索。 |
list_browser_contexts | 返回已创建的所有当前活动浏览器实例的列表,以及它们的ID和状态。 |
close_browser_context | 终止浏览器实例并清理所有相关资源,包括关闭其所有页面并释放内存。 |
Docker沙盒工具(8)
| 工具 | 说明 |
|---|---|
create_sandbox | 为一个新的、安全的Docker容器提供一个指定的映像,为命令执行提供一个隔离的环境。 |
execute_in_sandbox | 在指定的Docker沙箱中运行shell命令,并返回其标准输出、错误和退出代码。 |
list_sandboxes | 提供当前运行的所有Docker沙盒的列表,包括它们的ID、名称和当前状态。 |
get_sandbox | 检索特定沙盒的详细信息,如其配置、运行状态和网络设置。 |
pause_sandbox | 临时冻结正在运行的沙盒,在消耗最少CPU资源的同时保持其状态。 |
resume_sandbox | 清空之前暂停的沙盒,允许它从停止的地方继续执行 |
cleanup_sandbox | 停止并完全删除沙盒容器,删除其文件系统并释放所有相关系统资源。 |
get_sandbox_stats | 获取沙箱的实时资源使用指标,包括CPU、内存和网络I/O |
用法示例
简单的网页抓取
User: Fetch content from https://example.com
Claude automatically calls fetch_and_extract:
→ Fetch HTML
→ Extract title, description, body
→ Convert to Markdown
→ Return structured contentJavaScript渲染页面
User: This page requires browser rendering
Claude automatically uses browser tools:
→ Create browser context
→ Navigate to page
→ Wait for JavaScript execution
→ Get fully rendered content网页截图
User: Take a screenshot of this page
Claude automatically calls browser screenshot:
→ Open page
→ Wait for loading completion
→ Capture full-page screenshot
→ Return PNG image系统要求
必需
- Node.js>=18.0.0
- npm>=8.0.0
可选(针对特定功能)
- Docker(用于沙盒功能)
- 足够的磁盘空间(Playwright浏览器~30MB)
验证安装
# Check if command is available
enhanced-fetch-mcp --version
# Output: v1.0.0
# View help
enhanced-fetch-mcp --help
# Test run (Ctrl+C to exit)
enhanced-fetch-mcp
# Output: Enhanced Fetch MCP Server running on stdio故障排除
未找到命令
# Check installation
npm list -g enhanced-fetch-mcp
# Reinstall
npm install -g enhanced-fetch-mcp
# Check path
which enhanced-fetch-mcpDocker未运行(影响沙盒功能)
# macOS
open -a Docker
# Linux
sudo systemctl start docker
# Verify
docker ps查看日志
# Server logs
tail -f ~/.local/share/enhanced-fetch-mcp/logs/browser-mcp.log
# Error logs
tail -f ~/.local/share/enhanced-fetch-mcp/logs/browser-mcp-error.log更新
npm update -g enhanced-fetch-mcp发展
从源代码安装
# Clone project
git clone https://github.com/yourusername/enhanced-fetch-mcp.git
cd enhanced-fetch-mcp
# Install dependencies
npm install
# Build
npm run build
# Global link (development mode)
npm link
# Run tests
npm test
# Development mode (watch for changes)
npm run dev性能指标
| 操作 | 平均时间 |
|---|---|
| HTTP请求 | 200-300ms |
| 内容提取 | 10-50ms |
| 浏览器启动 | 300-500ms |
| 页面导航 | 1.5-2s |
| 屏幕截图 | ~50ms |
| JavaScript执行 | \<10ms |
贡献
欢迎投稿!请提交拉取请求或创建问题。
许可证
MIT许可证
致谢
- @模型上下文协议/sdk -MCP协议实现
- 剧作家 -浏览器自动化
- 再见 -HTML解析
- 关闭 -HTML到Markdown的转换
- Dockode -Docker API
