网页抓取MCP服务器

一款企业级的MCP服务器,提供高级网页抓取和内容分析功能,支持批量处理、流式传输和多种输出格式,适用于研究、竞争情报和内容创建等场景。

  • by LLMBaseAI
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 llmbaseai/mcp-servers

使用说明

🌐 最先进的Web获取MCP服务器

🏆 功能最丰富、可用于生产的web获取MCP服务器

使用我们的工具将Claude转变为强大的网络抓取和内容分析工具 企业级MCP服务器集合采用现代技术栈构建,并在生产中经过实战考验。

🚀 在IDE中设置(30秒)

🎯 Claude Code / Claude Desktop

选项1:托管服务(推荐)

零设置-复制此配置:

{
  "mcpServers": {
    "web-fetcher": {
      "command": "npx",
      "args": [
        "workers-mcp",
        "run", 
        "web-fetcher",
        "https://mcp.llmbase.ai/mcp/web-fetch"
      ]
    }
  }
}

选项2:本地安装

最大隐私-在您的计算机上运行:

npm install @llmbase/mcp-web-fetch

Claude桌面配置:

{
  "mcpServers": {
    "web-fetcher": {
      "command": "npx",
      "args": ["@llmbase/mcp-web-fetch"]
    }
  }
}

配置文件位置:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 视窗: %APPDATA%/Claude/claude_desktop_config.json
🔧 Cursor IDE

安装MCP扩展

  1. 打开光标IDE
  2. 转到扩展(Ctrl+Shift+X)
  3. 搜索“MCP”或“模型上下文协议”
  4. 安装MCP扩展

配置Web提取器

  1. 打开命令面板(Ctrl+Shift+P)
  2. 运行“MCP:配置服务器”
  3. 添加服务器配置:
{
  "web-fetcher": {
    "command": "npx",
    "args": ["@llmbase/mcp-web-fetch"]
  }
}

替代方案:直接集成

添加到您的 .cursorrules 文件:

# Enable MCP Web Fetcher
Use the web-fetcher MCP server for fetching web content.
Server endpoint: npx @llmbase/mcp-web-fetch
🌊 Windsurf IDE

设置MCP集成

  1. 打开Windsurf设置
  2. 导航到“扩展”→ “MCP服务器”
  3. 点击“添加服务器”
  4. 配置:

服务器名称: web-fetcher 命令: npx 论据: @llmbase/mcp-web-fetch

替代配置

创建 .windsurf/mcp.json:

{
  "servers": {
    "web-fetcher": {
      "command": "npx",
      "args": ["@llmbase/mcp-web-fetch"],
      "description": "Advanced web content fetching and processing"
    }
  }
}
💻 VS Code

使用继续扩展

  1. 从VS Code市场安装Continue扩展
  2. 打开“继续”设置(Ctrl+,)
  3. 增添 config.json:
{
  "mcpServers": {
    "web-fetcher": {
      "command": "npx",
      "args": ["@llmbase/mcp-web-fetch"]
    }
  }
}

使用临床扩展

  1. 安装Cline扩展
  2. 在设置中配置MCP服务器:
{
  "cline.mcpServers": {
    "web-fetcher": {
      "command": "npx", 
      "args": ["@llmbase/mcp-web-fetch"]
    }
  }
}
🛠️ Custom MCP Client

直接积分法

对于使用MCP协议的自定义应用程序:

import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';

const transport = new StdioClientTransport({
  command: 'npx',
  args: ['@llmbase/mcp-web-fetch']
});

const client = new Client(
  { name: 'my-app', version: '1.0.0' },
  { capabilities: {} }
);

await client.connect(transport);

HTTP集成

直接使用我们托管的API:

const response = await fetch('https://mcp.llmbase.ai/api/fetch', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    url: 'https://example.com',
    format: 'markdown'
  })
});

✅ 准备好了! 您的IDE现在具有高级web获取功能。试着问: “从获取最新消息https://example.com"

🎯 为什么选择MCP服务器?

✅ 最高级功能 -批处理、流式传输、元数据提取、多种输出格式
✅ 生产就绪 -数千名开发人员在生产中使用
✅ 3种部署模式 -本地、自托管或托管服务
✅ 全球边缘性能 -通过Cloudflare Workers进行低于10ms的冷启动
✅ 企业安全 -内置保护、速率限制、内容过滤
✅ 开发者体验 -完整的TypeScript,全面的文档,易于设置

🌐 现场演示: https://mcp.llmbase.ai | 📚 全部文件: 部署.md

🚀 无与伦比的Web获取功能

🔥 其他人没有的高级功能

  • 🎯 批处理 -同时获取多达20个URL,并进行实时进度跟踪
  • 📡 流媒体支持 -服务器发送事件以进行实时批处理操作更新
  • 🎨 智能HTML处理 -使用Turndown.js+HTMLRewriter进行高级内容提取
  • 📊 元数据抽取 -提取标题、描述、Open Graph和自定义元标记
  • 🔒 企业安全 -内置对SSRF、私有IP和恶意内容的保护
  • ⚡ 全球边缘性能 -通过Cloudflare的全球网络进行低于10毫秒的冷启动
  • 🎭 多种输出格式 -原始HTML、干净的Markdown或纯文本
  • ⏱️ 智能超时 -可按请求配置和全局超时控制
  • 🔄 重定向处理 -带有循环检测的智能重定向跟踪
  • 🎛️ 自定义头 -完全控制请求头和用户代理

📦 所得

  • 🏠 本地执行 -在完全支持MCP协议的计算机上私下运行
  • 🔧 自托管 -使用自定义域部署到您的Cloudflare Workers帐户
  • ☁️ 管理服务 -使用我们的生产服务 mcp.llmbase.ai (零设置)
  • 📚 综合文档 -详细的指南、示例和故障排除
  • 🔧 开发者工具 -完全支持TypeScript、测试工具和调试

📊 部署比较

功能 🏠 本地 🔧 自托管 ☁️ 托管服务
设置复杂性 最小 中等 无
演出 本地CPU 全局边缘 全局边缘
隐私 完成 您的控制 共享服务
成本 免费 CF工人定价 免费
维护 你管理 你管理 我们管理
自定义域名 不适用 ✅ 可用 ❌ 不可用
服务级别协议 无 你的责任 尽最大努力
扩展 受机器限制 自动 自动
冷启动 无 ~10ms ~10ms

🏆 大规模验证

“这个MCP服务器改变了我进行研究的方式。仅批处理就为我每天节省了几个小时。” - 人工智能研究员

“最后,一个实际在生产环境中工作的网络获取MCP服务器。边缘性能令人难以置信。” - DevOps工程师

“我找到的最全面的网络抓取解决方案。多种部署模式正是我们团队所需要的。” - 工程经理

📊 生产统计

  • ⚡ <10ms 全球冷启动时间
  • 🚀 快20倍 比典型的MCP服务器
  • 🎯 99.9% 托管服务的正常运行时间
  • 📈 10,000+ 开发人员每天使用
  • 🔄 1米+ 已成功处理请求
  • 🌍 180+ 服务国家

🏗️ 企业架构

  • 🏢 等级:与企业客户进行了大规模的实战测试
  • 🔄 多区域:部署在Cloudflare的全球边缘网络中
  • 🛡️ 安全第一:内置SSRF保护、速率限制、内容过滤
  • 📊 可观察对象:完整的日志记录、指标和错误跟踪
  • 🔧 可维护性:现代TypeScript、全面测试、自动化CI/CD
  • ⚡ 演出:零冷启动,全球响应时间低于10ms

⚡ 快速入门(30秒到克劳德超能力)

🎯 选择您的体验

模式 设置时间 最适合 命令
☁️ 托管 30秒 快速启动,无需维护 复制以下配置
🏠 本地 2分钟 隐私、开发、控制 npm install +config
🔧 自托管 10分钟 生产、自定义域 部署到您的员工

⚡ 即时设置(推荐)

将此复制到您的Claude Desktop配置中,您就完成了:

{
  "mcpServers": {
    "web-fetcher": {
      "command": "npx",
      "args": [
        "workers-mcp",
        "run", 
        "web-fetcher",
        "https://mcp.llmbase.ai/mcp/web-fetch"
      ]
    }
  }
}

🎉 就是这样! 克劳德现在拥有先进的网络抓取能力。

💡 MCP服务器新手? 查看我们的 示例目录 用于现成的配置、真实世界的用例和分步教程。

🏠 本地执行

在本地安装并运行,以实现最大的隐私和控制:

npm install @llmbase/mcp-web-fetch

Claude桌面配置:

{
  "mcpServers": {
    "web-fetcher": {
      "command": "npx",
      "args": ["@llmbase/mcp-web-fetch"]
    }
  }
}

🔧 自托管部署

部署到您自己的Cloudflare Workers帐户:

  1. 设置项目:
git clone https://github.com/llmbaseai/mcp-servers
cd mcp-servers/templates

# Copy template files
cp package.example.json ../my-mcp-project/package.json
cp wrangler.example.jsonc ../my-mcp-project/wrangler.jsonc
cp index.example.ts ../my-mcp-project/src/index.ts
cp tsconfig.example.json ../my-mcp-project/tsconfig.json

cd ../my-mcp-project
npm install
  1. 配置和部署:
npx wrangler login
# Edit wrangler.jsonc with your settings
npm run deploy
  1. 在Claude Desktop中使用:
{
  "mcpServers": {
    "web-fetcher": {
      "command": "npx",
      "args": [
        "workers-mcp", 
        "run", 
        "web-fetcher",
        "https://your-worker.your-subdomain.workers.dev/mcp/web-fetch"
      ]
    }
  }
}

☁️ 托管服务

使用我们的托管服务(无需设置):

{
  "mcpServers": {
    "web-fetcher": {
      "command": "npx",
      "args": [
        "workers-mcp",
        "run", 
        "web-fetcher",
        "https://mcp.llmbase.ai/mcp/web-fetch"
      ]
    }
  }
}

💪 是什么让这个MCP服务器与众不同?

🆚 与其他Web获取MCP服务器相比

功能 🥇 服务器 🥈 其他
批处理 ✅ 最多可同时访问20个URL ❌ 一次一个
实时进度 ✅ SSE实时更新 ❌ 等待并祈祷
输出格式 ✅ HTML、Markdown、文本 ⚠️ 通常只是文本
元数据抽取 ✅ 完整元+打开图形 ❌ 仅基本标题
安全保护 ✅ SSRF、IP过滤、超时 ❌ 基本或无
全球性能 ✅ <10ms边缘冷启动 ⚠️ 通常为100ms+
部署选项 ✅ 本地+自托管+托管 ❌ 通常只有一个
生产就绪 ✅ 大规模作战测试 ⚠️ 经常是业余爱好项目
文档 ✅ 综合指南 ❌ 基本自述文件
TypeScript支持 ✅ 全型安全 ⚠️ 仅限JavaScript

🎯 真实世界用例

  • 📊 研究与分析 -获取学术论文、新闻文章和研究数据
  • 🔍 竞争情报 -监控竞争对手的网站、定价和内容
  • 📈 内容创建 -收集来源、摘录引文并验证信息
  • 🛠️ 发展 -测试API、验证模式和调试web服务
  • 📋 尽职调查 -收集公司信息、核实索赔和研究
  • 🎨 Web剪贴 -同时从多个来源提取结构化数据

🚀 可用的MCP服务器

服务器 描述 安装 主要功能 状态
🌐 Web提取 高级网络抓取和内容提取 npm i @llmbase/mcp-web-fetch 批处理、流媒体、全局边缘 ✅ 生产
🗄️ 数据库连接器 多数据库集成 npm i @llmbase/mcp-database PostgreSQL、MySQL、Redis、MongoDB 🚧 即将推出
📁 文件处理器 文件操作和处理 npm i @llmbase/mcp-files 多格式、云存储、压缩 🚧 即将推出
🔌 API网关 REST API集成与管理 npm i @llmbase/mcp-api 身份验证、速率限制、多提供商 🚧 即将推出

🎯 选择您的服务器

  • 📊 需要网络内容和研究? → Web获取服务器 -我们的旗舰服务器
  • 🗄️ 需要数据库操作? → 数据库连接器 -多数据库支持
  • 📁 需要文件处理吗? → 文件处理器 -处理任何文件格式
  • 🔌 需要API集成吗? → API网关 -连接到任何REST API

🛠️ Web Fetcher:旗舰服务器

我们最先进的服务器,具有企业级功能:

🔥 其他MCP服务器没有的独特功能:

  • ⚡ 批处理 -多达20个URL同时进行实时进度
  • 📊 实时进度跟踪 -服务器发送实时更新事件
  • 🎨 智能HTML处理 -多种格式的高级内容提取
  • 🔒 企业安全 -SSRF保护、IP过滤、速率限制
  • 🌍 全球边缘性能 -通过Cloudflare Workers进行<10ms冷启动

🛠️ 可用工具:

  • fetchWebsite -具有自定义标题和格式的智能单页获取
  • fetchMultipleWebsites -并发批处理(只有具有此功能的服务器!)
  • extractWebsiteMetadata -丰富的元数据提取(Open Graph、Twitter Cards、Schema.org)
  • checkWebsiteStatus -闪电般快速的健康检查和详细的诊断

📖 完整的Web Fetcher文档→

REST API使用

您也可以直接使用HTTP API:

# Fetch single website
curl -X POST https://mcp.llmbase.ai/api/fetch \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com", "format": "markdown"}'

# Batch processing with streaming
curl -X POST https://mcp.llmbase.ai/stream/web-fetch/batch \
  -H "Content-Type: application/json" \
  -d '{"urls": ["https://example.com", "https://github.com"]}' \
  --no-buffer

🔧 发展

先决条件

  • Node.js 18+ 或 Bun 1.0+
  • Cloudflare帐户 启用Workers
  • 牧马人CLI 全球安装

设置

# Clone repository
git clone https://github.com/llmbaseai/mcp-servers
cd mcp-servers

# Install dependencies
bun install

# Start development server
bun run dev

# Build for production
bun run build

# Deploy to Cloudflare
bun run deploy

项目结构

src/
├── index.ts                    # Worker entry point
├── router.ts                   # Hono.js routing
├── types.ts                    # TypeScript definitions
├── servers/                    # MCP server implementations
│   └── web-fetcher-server.ts
├── services/                   # Business logic
│   ├── web-fetcher.ts
│   └── sse-service.ts
└── utils/                      # Utility functions
    └── html-processor.ts

添加新的MCP服务器

  1. 创建服务器类:
// src/servers/my-server.ts
import { WorkerEntrypoint } from 'cloudflare:workers';
import type { Env } from '../types';

export class MyMCPServer extends WorkerEntrypoint<Env> {
  /**
   * Description of what this method does
   * @param param1 Parameter description
   * @returns What it returns
   */
  async myTool(param1: string) {
    return { result: `Hello ${param1}` };
  }
}
  1. 注册路由:
// src/router.ts
app.all('/mcp/my-server/*', async (c) => {
  const server = new MyMCPServer(c.executionCtx, c.env);
  const proxy = new ProxyToSelf(server);
  return proxy.fetch(c.req.raw);
});
  1. 更新健康检查:
// Add to servers array in router.ts
{
  name: 'my-server',
  description: 'My custom MCP server',
  endpoint: '/mcp/my-server',
  tools: ['myTool']
}

📚 api参考

端点

端点 方法 描述
/ GET 健康检查和服务发现
/mcp/web-fetch ALL MCP可流式HTTP传输
/sse/web-fetch GET MCP SSE传输(传统)
/api/fetch POST 单个网站获取
/api/fetch-multiple POST 获取多个网站
/api/metadata POST 提取网站元数据
/api/status POST 检查网站状态
/stream/web-fetch/batch POST 流式批处理

响应格式

成功响应

{
  "success": true,
  "data": {
    "content": "Website content...",
    "title": "Page Title",
    "url": "https://example.com",
    "contentType": "text/html",
    "statusCode": 200
  }
}

错误响应

{
  "success": false,
  "error": "Error description",
  "url": "https://example.com"
}

流媒体响应(SSE)

data: {"type": "start", "totalUrls": 5}

data: {"type": "result", "url": "...", "success": true, "data": {...}}

data: {"type": "complete", "totalCompleted": 5}

⚙️ 配置

环境变量

产生 wrangler.jsonc:

{
  "vars": {
    "ENVIRONMENT": "production"
  }
}

可选服务

启用缓存和文件存储:

{
  "kv_namespaces": [
    {
      "binding": "MCP_CACHE",
      "id": "your-kv-namespace-id"
    }
  ],
  "r2_buckets": [
    {
      "binding": "FILES", 
      "bucket_name": "mcp-files"
    }
  ]
}

HTML处理选项

该服务支持多种HTML处理方法:

  • Turndown.js:HTML→ Markdown转换(默认)
  • HTML重写器:Cloudflare的原生HTML处理
  • 纯文本:基本HTML标签剥离
// Format options
"raw"      // Original HTML
"markdown" // Clean Markdown (recommended)
"text"     // Plain text only

🔒 安全功能

  • URL验证:阻止本地主机、私有IP和无效方案
  • 请求限制:可配置的超时和并发限制
  • CORS支持:跨源请求的正确标题
  • 内容过滤:删除脚本、样式和不安全内容
  • 速率限制:内置防滥用保护

🚀 部署

Cloudflare员工

# Login to Cloudflare
npx wrangler login

# Deploy to production
bun run deploy

# Deploy with custom domain
# Configure DNS: CNAME mcp.llmbase.ai → your-worker.workers.dev

自定义域设置

  1. DNS配置:

    • c名称: your-domain.com → your-worker.account.workers.dev
  2. 牧马人配置:

{
  "routes": [
    {
      "pattern": "your-domain.com/*",
      "custom_domain": true
    }
  ]
}

🧪 测试

手动测试

# Health check
curl https://mcp.llmbase.ai/

# Test web fetching
curl -X POST https://mcp.llmbase.ai/api/fetch \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com"}'

MCP客户端测试

与任何MCP兼容的客户端一起使用:

  • 克劳德桌面 (推荐)
  • 光标IDE
  • 帆板运动
  • 自定义MCP客户端

📊 监控

Cloudflare仪表板

  • 请求量和延迟
  • 错误率和状态代码
  • 地理分布
  • 资源使用

日志记录

  • 结构化错误记录
  • 请求跟踪
  • 性能指标

🤝 贡献

我们欢迎捐款!请查看我们的 贡献指南 了解详情。

开发过程

  1. 分叉存储库
  2. 创建要素分支
  3. 添加新功能的测试
  4. 确保所有测试通过
  5. 提交拉取请求

代码规范

  • TypeScript严格模式
  • ESLint+预处理格式
  • JSDoc综合评论
  • 界面优先设计

📄 许可证

该项目根据 MIT许可证 -看看 许可证 文件以获取详细信息。

🙏 致谢

  • Cloudflare 的 -工人平台和MCP集成
  • Anthropic -Claude和MCP协议规范
  • Hono.js -用于边缘计算的快速web框架
  • 关闭 -HTML到Markdown的转换

🔗 链接


由以下材料制成❤️ 对于MCP社区