Spider Mcp

Spider Mcp

🚀 Spider MCP - 网页搜索爬虫服务

Spider MCP 是一个基于纯爬虫技术构建的网页搜索 MCP 服务,采用 Node.js 开发,能够在不依赖第三方官方 API 的情况下,实现网页和新闻的智能搜索。

✨ 主要特性

  • 无需官方 API:完全基于爬虫技术,不依赖第三方官方 API。
  • 🔍 智能搜索:支持 Bing 网页和新闻搜索。
  • 📰 新闻搜索:内置新闻搜索功能,支持时间过滤。
  • 🕷️ 纯爬虫实现:不依赖官方 API,使用 Puppeteer 进行网页抓取。
  • 🚀 高性能:支持批量网页抓取。
  • 📊 健康监控:具备完整的健康检查和指标监控功能。
  • 📝 结构化日志:使用 Winston 进行结构化日志记录。
  • 🔒 反检测机制:支持 User-Agent 轮换等反爬虫措施。
  • 🔗 智能 URL 清理:自动清理推广参数,同时保留关键信息。

📦 安装指南

1. 安装依赖

npm install

或者使用 pnpm

pnpm install

2. 下载 Puppeteer 浏览器

npx puppeteer browsers install chrome

3. 环境配置

复制并配置环境变量文件:

cp .env.example .env

根据需要编辑 .env 文件。

4. 启动服务

开发模式:

npm run dev

生产模式:

npm start

服务将在 http://localhost:3000 启动。

💻 使用示例

web_search

统一搜索工具,支持网页和新闻搜索:

  • 网页搜索searchType: "web"
  • 新闻搜索searchType: "news",支持时间过滤
  • 注意searchType 是必需参数,必须明确指定

示例:

# 网页搜索
使用 web_search 工具以 searchType 为 web 搜索 "Node.js 教程",返回 10 条结果

# 新闻搜索
使用 web_search 工具以 searchType 为 news 搜索 "科技新闻",返回过去 24 小时内的 5 条结果

其他工具

  • get_webpage_content:获取网页内容并转换为指定格式
  • get_webpage_source:获取网页的原始 HTML 源代码
  • batch_webpage_scrape:批量抓取多个网页

📚 详细文档

MCP 配置

Chatbox 配置

在 Chatbox 中创建 mcp-config.json 文件:

{
"mcpServers": {
"spider-mcp": {
"command": "node",
"args": ["src/mcp/server.js"],
"env": {
"NODE_ENV": "production"
},
"description": "Spider MCP - 网页搜索和网页抓取工具",
"capabilities": {
"tools": {}
}
}
}
}

其他 MCP 客户端

{
"mcpServers": {
"spider-mcp": {
"command": "node",
"args": ["path/to/spider-mcp/src/mcp/server.js"]
}
}
}

重要提示

  1. 反爬虫措施:本服务采用多种技术避免被检测,但仍需遵守 robots.txt 和使用条款。
  2. 速率限制:建议合理控制请求频率,避免对目标网站造成压力。
  3. 合法合规:使用本服务时,请确保遵守当地法律和网站使用条款。
  4. 资源消耗:Puppeteer 将启动 Chrome 浏览器,请关注内存和 CPU 使用情况。
  5. URL 清理:自动清理推广参数可能会影响某些特殊链接的功能。

项目结构

spider-mcp/
├── src/
│   ├── index.js          # 主入口文件
│   ├── mcp/
│   │   └── server.js     # MCP 服务器
│   ├── routes/           # 路由定义
│   │   ├── search.js     # 搜索路由
│   │   └── health.js     # 健康检查路由
│   ├── services/         # 业务逻辑
│   │   └── searchService.js # 搜索服务
│   └── utils/            # 工具函数
│       └── logger.js     # 日志工具
├── logs/                 # 日志文件目录
├── tests/                # 测试文件
├── package.json          # 项目配置
├── .env.example          # 环境变量示例
├── mcp-config.json       # MCP 配置示例
└── README.md             # 项目文档

🔧 技术细节

技术栈

属性 详情
模型类型 Node.js (>= 18.0.0)
训练数据 Express.js - Web 框架
Puppeteer - 浏览器自动化工具
Cheerio - HTML 解析器
Axios - HTTP 客户端
Winston - 日志记录工具
@modelcontextprotocol/sdk - MCP 协议支持

📄 许可证

本项目采用 MIT 许可证。

贡献说明

欢迎提交问题和拉取请求!

  • 0 关注
  • 0 收藏,7 浏览
  • system 提出于 2025-09-23 04:00

相似服务问题