Token导航 LogoToken导航

MCP Server · 搜索检索

Cheerio MCP

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

stdio官方级别未说明来源级核验工具 0rebrowser-playwright
搜索TypeScriptClaude内容提取Claude Desktop

快速开始

作者 / 组织
yohikofox
提供方
yohikofox
运行时
Node.js

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Cheerio MCP 属于搜索检索类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude,有可以直接复制的安装命令;接入前先确认权限范围。

分类

搜索检索

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

npx rebrowser-playwright install chromium

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Node.js,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

详细介绍

网页搜索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": "", "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为你准备一个完整的示例吗?

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

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

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

查资料带出处

把网页、论文和文档的检索结果连同链接一起带回对话。

站内知识检索

在自己的文档库里做语义搜索,比关键词更贴题。

事实核对

交叉多个来源确认一条信息,减少模型凭记忆作答。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Node.js,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在搜索检索场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Cheerio MCP

MCP World · 本页

0stdio有1 个2026-05-17
Baidu Netdisk

MCP World

未标注未说明未标注1 个2026-05-17
Sequentialthinking

MCP.so

1SSE有2 个2026-05-17
Brave Search 433812ff

MCP World

2未说明未标注1 个2026-05-17
mindsdb (430e18)

MCP World

0未说明有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Cheerio MCP 怎么安装?

公开资料给出的安装命令是 npx rebrowser-playwright install chromium,运行环境为 Node.js。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Cheerio MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Node.js;保存后完全退出客户端再打开,配置才会生效。

Cheerio MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Cheerio MCP 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Cheerio MCP 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP