README
🚀 LionScraper MCP + CLI + HTTP API 桥接工具
LionScraper 是一款浏览器扩展程序,可从网页中收集列表、文章、链接、图像等内容。本仓库提供了三种方式,用于在您的工具和该扩展程序之间建立连接:
- MCP (
lionscraper-mcp):连接 AI 应用程序(例如 Cursor),使模型能够通过标准输入输出调用网页抓取工具。 - CLI (
lionscraper):在与扩展程序相同的本地 HTTP/WebSocket 端口上,通过终端运行 守护进程、抓取、ping 测试 等操作。 - HTTP API:当守护进程运行时,脚本或任何 HTTP 客户端可以通过 回环 JSON HTTP(例如
/v1/...)调用相同的功能,无需使用 MCP 或 CLI 前端。
实际的抓取逻辑在扩展程序中运行;这些包仅用于连接和转发。
- 官网:lionscraper.com
- npm:
lionscraper包 - PyPI:
lionscraper项目
🚀 快速开始
开始前的准备
- 浏览器:Chrome 或 Edge(需与扩展程序支持的浏览器一致)。
- LionScraper 扩展程序:从应用商店安装并启用。
- Chrome:Chrome 网上应用店 — LionScraper
- Microsoft Edge:Edge 扩展 — LionScraper
- 运行环境(可选择其中一种或两种实现方式):
- 对于 MCP:支持 MCP 的 AI 应用程序(例如 Cursor、Trae)。
- 对于 HTTP API:与 CLI 使用相同的浏览器、扩展程序和守护进程;具体路径和示例请参阅包的 README 文件。
无 Chrome/Edge 时的 HTTP 备用方案:如果在标准路径下未检测到浏览器,且扩展程序未连接,MCP 仍可启动;ping 测试在 http_fetch 模式下成功,scrape* 操作使用最小的服务器端 HTTP GET 请求(不执行 JS)。如果安装了浏览器但扩展程序未连接,仍可进行扩展程序连接流程。Node 自动启动路径可修复 Unix 系统中 lionscraper.js 解析时无前导 / 的问题(例如 Glama/Docker)。Python 包使用 aiohttp 与守护进程进行出站 HTTP/WebSocket 通信。
两种实现方式
| | Node.js (npm) | Python (pip) |
|--|-------------------|------------------|
| 仓库 | io.github.dowant/lionscraper-node | io.github.dowant/lionscraper-python |
| 文档 (英文) | packages/node/README.md | packages/python/README.md |
| 文档 (中文) | packages/node/README_cn.md | packages/python/README_cn.md |
您可以选择安装其中一个或两个包;它们是独立的包,但具有相同的 CLI 命令名称。
安装方法
npm 安装
该包已在 npm 上发布,包名为 lionscraper。
npm install -g lionscraper
如果不进行全局安装,MCP 可以使用 npx;具体的 npx JSON 示例请参阅 在您的 AI 应用中添加 MCP。
pip 安装
该包已在 PyPI 上发布,包名为 lionscraper。
pip install -U lionscraper
建议使用 虚拟环境,如果您不想安装到系统解释器中,也可以使用 pip install -U --user lionscraper。
通用命令
| 命令 | 作用 |
|--------|------|
| lionscraper-mcp | 为 AI 应用程序提供轻量级 MCP 服务器(标准输入输出) |
| lionscraper | CLI 命令:daemon、stop、scrape、ping 等(同时在同一端口提供 HTTP API) |
在执行 pip install -U lionscraper 后,如果 lionscraper-mcp 不在您的 PATH 中,可以使用 python -m lionscraper 并 不添加额外参数 来启动 MCP 标准输入输出(具体请参阅 packages/python/README.md)。
PORT(默认值为 13808)必须与扩展程序的 桥接端口 一致。
CLI 快速入门
lionscraper daemon
lionscraper ping
lionscraper scrape -u https://www.example.com
完整的标志、多 URL 支持、分页以及 HTTP API 的详细信息,请参阅 packages/node/README.md 或 packages/python/README.md。
在您的 AI 应用中添加 MCP
以下示例假设 lionscraper-mcp 已在您的 PATH 中(通过 npm 或 pip 安装)。在 MCP JSON 中,每个 env 值都是字符串。
最小配置(PORT 默认值为 13808;必须与扩展程序的桥接端口一致)
{
"mcpServers": {
"lionscraper": {
"command": "lionscraper-mcp"
}
}
}
完整 env 示例(可省略不需要的键)
{
"mcpServers": {
"lionscraper": {
"command": "lionscraper-mcp",
"env": {
"PORT": "13808",
"TIMEOUT": "120000",
"LANG": "en-US",
"TOKEN": "",
"DAEMON": ""
}
}
}
}
npx(无需全局安装)
此方法需要 Node.js;首次运行时可能会下载该包。npm 包名 为 lionscraper,可执行文件为 lionscraper-mcp。使用 command npx,并在 args 中传递 lionscraper 和 lionscraper-mcp(在 -y 之后)。
最小配置(npx)
{
"mcpServers": {
"lionscraper": {
"command": "npx",
"args": ["-y", "lionscraper", "lionscraper-mcp"]
}
}
}
完整 env 示例(npx)
{
"mcpServers": {
"lionscraper": {
"command": "npx",
"args": ["-y", "lionscraper", "lionscraper-mcp"],
"env": {
"PORT": "13808",
"TIMEOUT": "120000",
"LANG": "en-US",
"TOKEN": "",
"DAEMON": ""
}
}
}
}
如果需要指定版本,可以在 args 中使用 "lionscraper@1.0.1" 代替 "lionscraper"。
PORT:HTTP + WebSocket 监听端口;默认值为 13808;必须与扩展程序的 桥接端口 一致。TIMEOUT:等待前一个实例释放端口的毫秒数;默认值为 120000;0表示强制快速接管。LANG:工具描述和标准错误输出的语言(en-US、zh-CN或 POSIX 格式)。TOKEN:与守护进程共享的 Bearer 令牌;空值表示无需身份验证。DAEMON:仅当值为0时,禁用从轻量级 MCP 自动启动lionscraper daemon。
修改配置后,请重启 MCP 或宿主应用程序。
Python:通过 python -m 使用 MCP
{
"mcpServers": {
"lionscraper": {
"command": "python",
"args": ["-m", "lionscraper"]
}
}
}
请使用安装该包时使用的 python(在某些系统中可能为 python3)。
匹配浏览器扩展程序中的端口
- 打开 LionScraper 设置 / 选项。
- 将 桥接端口 设置为与
PORT相同的值(例如13808)。 - 如果需要,可以使用 重新连接、重新加载扩展程序或重启浏览器。
💻 日常使用
- 确保扩展程序 已启用,并根据需要打开目标页面。
- 使用自然语言进行操作(例如检查连接、抓取列表 / 文章 / 电子邮件 / 电话号码 / 链接 / 图像)。
- 如果出现 “未连接” 或超时提示,请重试连接检查,并确保 PORT 匹配。
📚 常见问题解答
扩展程序未连接或抓取失败怎么办?
- 扩展程序是否已启用?
- AI 应用程序中的 PORT 是否与扩展程序的 桥接端口 完全一致?
- 通常每台机器一个桥接器就足够了;重复的 MCP 配置可能会导致冲突。
在客户端看到 MCP 工具是否意味着一切正常?
不一定。工具仅证明 AI → 桥接器 的连接正常;扩展程序还必须在同一端口上注册。
📄 MCP 注册表和目录
官方 MCP 注册表条目(均使用 server.json):
| 路径 | 注册表名称 | 包 |
|------|----------------|---------|
| packages/node/server.json | io.github.dowant/lionscraper-node | npm: lionscraper(package.json 中的 mcpName) |
| packages/python/server.json | io.github.dowant/lionscraper-python | PyPI: lionscraper(英文 README.md 中的 mcp-name 注释) |
发布大纲(安装官方 CLI,请参阅 快速入门):
- 在每个
server.json指定的版本下发布 npm / PyPI 包。 - 在
packages/node目录中:执行mcp-publisher login github,然后执行mcp-publisher publish。 - 在
packages/python目录中:执行mcp-publisher publish(复用登录信息)。
第三方列表(例如 Glama)有其自己的规则;Smithery 默认针对公共 HTTPS/流式设置,而非本地标准输入输出 + npm/pip。
🌐 第三方目录(Glama)
本项目已在 Glama 上列出(例如 Glama 上的 LionScraper)。如果页面显示 无法安装 或 未找到许可证,常见的解决方法包括:添加根目录下的 LICENSE 文件(本仓库包含 LICENSE),添加包含维护者 GitHub 用户名 的 glama.json 文件(glama.json — 如果认领失败,请编辑 maintainers),在 Glama 上 认领 服务器,并根据需要完成 Glama 的 Docker / 发布 流程;官方安装方式仍然是 npm install -g lionscraper 和 pip install -U lionscraper。另请参阅 评分 / 检查清单页面。
📄 许可证
本项目采用 MIT 许可证(与 npm 和 PyPI 包相同)。
微信扫一扫