Token导航 LogoToken导航TokenDH.com
Cheerio MCP logo
搜索检索stdio官方级别未说明来源级核验

Cheerio MCP

MCP Server

rebrowser-playwright

一个多引擎网页搜索与内容提取服务,支持Google、DuckDuckGo和Bing搜索,并能自动提取网页内容,适用于数据采集和信息检索。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
搜索TypeScriptClaude内容提取Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

yohikofox

提供方

yohikofox

最后核验

2026/5/17 20:20

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx rebrowser-playwright install chromium

详细介绍

网页搜索MCP服务器

一个MCP(模型上下文协议)服务器,用于执行网络搜索并提取网页内容。

功能

🔍 多搜索引擎网页搜索

  • 谷歌 在谷歌上进行搜索并提取自然搜索结果
  • DuckDuckGo(中文常译为“狗狗搜索”或直接使用原名,是一种注重隐私保护的搜索引擎) 无追踪的私人搜索
  • Bing Microsoft Bing 搜索

所有结果都会自动排除广告(SEA),仅返回自然搜索结果。

📄 内容提取(网络爬虫)

  • 提取标题、描述和文本内容
  • 获取层级标题(H1,H2,H3)
  • 提取链接和图片
  • 元数据(作者、发布日期、关键词)
  • 自动清理内容(删除脚本、样式、广告)

🚀 联合作战

  • 一键自动搜索+抓取前10个结果

安装

npm install
npm run build

在Claude Desktop中的配置

在您的Claude Desktop配置文件中添加此配置:

macOS~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "web-search": {
      "command": "node",
      "args": [
        "/Users/YOUR_USERNAME/ws/cheerio-mcp/dist/index.js"
      ]
    }
  }
}

Remplacez /Users/YOUR_USERNAME/ws/cheerio-mcp 通过通往您项目的绝对之路。

可用工具

1. search_web

同时在多个搜索引擎上进行搜索。

参数:

  • query (字符串,必需):搜索查询
  • engines (数组,可选):要使用的引擎(['google', 'duckduckgo', 'bing'])。 缺陷:全部
  • maxResults (数字,可选):每个搜索引擎返回的最大结果数(1-10)。默认:10

示例:

{
  "query": "typescript best practices",
  "engines": ["google", "duckduckgo"],
  "maxResults": 5
}

2. scrape_page

提取网页内容。

参数:

  • url (字符串,必需):要抓取的页面的URL

示例:

{
  "url": "https://example.local/article"
}

3. scrape_multiple_pages

并行提取多页内容。

参数:

  • urls (数组,必需):要抓取的URL列表

示例:

{
  "urls": [
    "https://example.local/article1",
    "https://example.local/article2"
  ]
}

4. search_and_scrape

结合搜索与抓取:先进行搜索,然后自动提取搜索结果中的内容。

参数:

  • query (字符串,必需):搜索查询
  • engine (字符串,可选):要使用的引擎(google|duckduckgo|bing)。 默认:谷歌
  • maxResults (数字,可选):要抓取的结果数量(1-10)。默认:5

示例:

{
  "query": "react hooks tutorial",
  "engine": "google",
  "maxResults": 5
}

项目结构

cheerio-mcp/
├── src/
│   ├── index.ts           # Serveur MCP principal
│   ├── searchEngines.ts   # Moteurs de recherche (Google, DDG, Bing)
│   └── scraper.ts         # Extraction de contenu avec Cheerio
├── dist/                  # Fichiers compilés
├── package.json
├── tsconfig.json
└── README.md

发展

# Mode watch (recompilation automatique)
npm run watch

# Build manuel
npm run build

结果格式

搜索结果

{
  "engine": "Google",
  "query": "typescript",
  "results": [
    {
      "title": "TypeScript: JavaScript With Syntax For Types",
      "url": "https://www.typescriptlang.org/",
      "snippet": "TypeScript extends JavaScript by adding types...",
      "position": 1
    }
  ]
}

抓取页面内容

{
  "url": "https://example.local/article",
  "title": "Article Title",
  "description": "Meta description...",
  "text": "Main text content...",
  "headings": {
    "h1": ["Main Title"],
    "h2": ["Section 1", "Section 2"],
    "h3": ["Subsection 1.1"]
  },
  "links": [
    {"text": "Link text", "url": "https://example.local/link"}
  ],
  "images": [
    {"src": "https://example.local/image.jpg", "alt": "Image description"}
  ],
  "metadata": {
    "author": "John Doe",
    "publishedDate": "2024-01-15",
    "keywords": ["typescript", "javascript"]
  }
}

局限性

  • 搜索引擎可能会限制过于频繁的查询(限速)
  • 有些网站使用JavaScript来生成内容(Cheerio不执行JavaScript)
  • 如果网站修改了其HTML结构,CSS选择器可能会发生变化

安全须知

  • 用户代理设置为模拟标准浏览器
  • 不存储个人数据
  • 建议遵守robots.txt(根据您的需要实施)

许可证

麻省理工学院(MIT)

待办事项

  • 添加一个工具以从base64显示图像。

如果rebrowser运行正常,请在dockerfile中安装chromium:

npx rebrowser-playwright install chromium

新的希望

我有一个有点愚蠢的问题。在Docker容器中无法以非无头模式(即headless=false)使用Playwright吗?

完全不傻!是的,用一些小技巧完全可以做到。 🐳(海豚或鲸鱼的表情符号)

问题:Docker 没有默认的屏幕,因此 headless=false 无法显示窗口。

解决方案:

  1. Xvfb(X虚拟帧缓冲区)- 最简单的方法

来自 node:20(或“基于 node:20”)

安装Xvfb以模拟显示器

运行命令:apt-get update && apt-get install -y xvfb

使用Xvfb启动应用

CMD xvfb-run --auto-servernum --server-args='-screen 0 1920x1080x24' npm start

  1. VNC(用于远程查看浏览器)- 用于调试

基于 node:20 镜像

安装VNC + 虚拟桌面

运行命令:apt-get update && apt-get install -y \ Xvfb(虚拟X服务器) X11VNC(用于远程控制X11服务器的VNC客户端) Fluxbox(轻量级窗口管理器) \ 铬(Chromium) 铬驱动(Chromium Driver)

暴露VNC端口

暴露5900(端口)

CMD x11vnc -create -env FD_PROG=/usr/bin/fluxbox 翻译为中文是:“运行 x11vnc 命令,创建会话,并设置环境变量 FD_PROG 为 /usr/bin/fluxbox” \ -forever(永远) -usepw(使用密码) -shared(共享)

然后你可以使用VNC客户端(例如:RealVNC)连接到localhost:5900,并实时查看浏览器!

  1. 现成的Docker镜像

服务: 抓取工具(或网页抓取器) 镜像:browserless/chrome 端口: - 3000比3000

为什么要这么做?

  • 即使在headless=false的情况下,有些网站也会减少对机器人的检测
  • 允许在隔离环境中进行可视化调试
  • 适用于截图/抓取视频

你想要一个包含Xvfb的完整Dockerfile示例吗?

我不明白怎么调试

⏺ 太棒了!以下是如何在Docker中可视化查看和调试正在运行的浏览器:

使用VNC进行调试流程

  1. Docker 启动浏览器并使用虚拟显示屏幕(Xvfb)

Docker 容器 ├── Xvfb (虚拟屏幕 :99) │ └── Chrome 在非无头模式(headless=false)下显示在这个屏幕上 ├── VNC 服务器(在端口 5900 上共享屏幕 :99) └── 你的Node.js应用程序,用于启动Playwright

  1. 从你的Mac上,你连接到VNC

从你的Mac终端

打开 vnc://localhost:5900

  1. 你看,Chrome浏览器正在运行中! 🎥
  • 你看鼠标在移动
  • 按钮点击
  • 卷轴
  • 出现的验证码
  • 就像它就在你的屏幕上一样

具体示例

Dockerfile: 来自 node:20(或可理解为“基于 Node.js 20 版本”)

安装图形环境 + VNC

运行命令:apt-get update && apt-get install -y \ Xvfb(虚拟X服务器) \ x11vnc \ Fluxbox(或译为“氟克斯博克斯”,但通常直接音译为“弗拉克斯博克斯”并不常见,实际使用中可能保持原名或根据上下文意译为“轻量级窗口管理器”等,但此处按音译加解释的方式给出) \ 铬(或指铬元素/铬浏览器) \ Chromium驱动程序

WORKDIR /app 复制 package\*.json 文件。/ 运行 npm install

复制。 。

启动脚本

运行 echo '#!/bin/bash\\n\ 启动Xvfb虚拟显示器,使用屏幕0,分辨率为1920x1080,颜色深度为24位,并在后台运行:Xvfb :99 -screen 0 1920x1080x24 &\ export DISPLAY=:99\\n\ Fluxbox &\ \x11vnc -display :99 -forever -nopw -listen 0.0.0.0 -xkb &\ 翻译成中文是:“启动x11vnc服务器,连接到显示端口:99,永久运行,无需密码,监听所有IP(0.0.0.0),启用XKB(键盘布局)支持,并在后台运行。”\ npm start\ '> /app/start.sh && chmod +x /app/start.sh' 翻译成中文是:“> /app/start.sh 并且给 /app/start.sh 添加可执行权限”

暴露(或“开放”)5900端口,监听3000(可能是指另一个端口或参数,但在此上下文中“3000”通常不直接与“EXPOSE”连用,这里按字面意思翻译)

CMD \["/app/start.sh"\] 翻译成中文是:“命令(CMD)为 \[‘/app/start.sh’\]”

docker-compose.yml: 服务: 抓取工具(或网络爬虫) 构建:。 端口: \- "5900:5900" # VNC端口 \- "3000:3000" # MCP端口 环境: \- DISPLAY=:99(在中文中,这通常被解释为设置显示服务器为:99,但直接翻译不改变其技术含义,因此保持原样)

为了调试:

1. 兰斯·道格克

docker-compose up 的中文翻译是:“启动docker-compose服务”

2. 使用VNC连接(在Mac上)

打开 vnc://localhost:5900

3. 你将实时看到Chrome浏览器打开、浏览等操作!

更简单的替代方案:noVNC(浏览器中的VNC) 你甚至可以在你的网页浏览器中通过noVNC看到Docker浏览器!

你想让我用noVNC为你准备一个完整的示例吗?

目录标签

目录标签

搜索TypeScriptClaude内容提取网页搜索本地部署数据采集多引擎搜索信息检索

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

rebrowser-playwright

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP