Back to MCP directory
publicPublicdnsLocal runtime

LionScraper MCP + CLI + HTTP API bridge

LionScraper是一个浏览器扩展,通过MCP、CLI和HTTP API桥接工具,实现网页数据采集。

article

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 前端。

实际的抓取逻辑在扩展程序中运行;这些包仅用于连接和转发。

🚀 快速开始

开始前的准备

  1. 浏览器:Chrome 或 Edge(需与扩展程序支持的浏览器一致)。
  2. LionScraper 扩展程序:从应用商店安装并启用。
  3. 运行环境(可选择其中一种或两种实现方式):
    • Node.js 18+,用于 npm 包 — Node.js
    • Python 3.10+,用于 PyPI 包 — Python
  4. 对于 MCP:支持 MCP 的 AI 应用程序(例如 Cursor、Trae)。
  5. 对于 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 命令:daemonstopscrapeping 等(同时在同一端口提供 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.mdpackages/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 中传递 lionscraperlionscraper-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:等待前一个实例释放端口的毫秒数;默认值为 1200000 表示强制快速接管。
  • LANG:工具描述和标准错误输出的语言(en-USzh-CN 或 POSIX 格式)。
  • TOKEN:与守护进程共享的 Bearer 令牌;空值表示无需身份验证。
  • DAEMON:仅当值为 0 时,禁用从轻量级 MCP 自动启动 lionscraper daemon

修改配置后,请重启 MCP 或宿主应用程序。

Python:通过 python -m 使用 MCP

{
  "mcpServers": {
    "lionscraper": {
      "command": "python",
      "args": ["-m", "lionscraper"]
    }
  }
}

请使用安装该包时使用的 python(在某些系统中可能为 python3)。

匹配浏览器扩展程序中的端口

  1. 打开 LionScraper 设置 / 选项
  2. 桥接端口 设置为与 PORT 相同的值(例如 13808)。
  3. 如果需要,可以使用 重新连接、重新加载扩展程序或重启浏览器。

💻 日常使用

  1. 确保扩展程序 已启用,并根据需要打开目标页面。
  2. 使用自然语言进行操作(例如检查连接、抓取列表 / 文章 / 电子邮件 / 电话号码 / 链接 / 图像)。
  3. 如果出现 “未连接” 或超时提示,请重试连接检查,并确保 PORT 匹配。

📚 常见问题解答

扩展程序未连接或抓取失败怎么办?

  • 扩展程序是否已启用?
  • AI 应用程序中的 PORT 是否与扩展程序的 桥接端口 完全一致?
  • 通常每台机器一个桥接器就足够了;重复的 MCP 配置可能会导致冲突。

在客户端看到 MCP 工具是否意味着一切正常?

不一定。工具仅证明 AI → 桥接器 的连接正常;扩展程序还必须在同一端口上注册。

📄 MCP 注册表和目录

官方 MCP 注册表条目(均使用 server.json): | 路径 | 注册表名称 | 包 | |------|----------------|---------| | packages/node/server.json | io.github.dowant/lionscraper-node | npm: lionscraperpackage.json 中的 mcpName) | | packages/python/server.json | io.github.dowant/lionscraper-python | PyPI: lionscraper(英文 README.md 中的 mcp-name 注释) |

发布大纲(安装官方 CLI,请参阅 快速入门):

  1. 在每个 server.json 指定的版本下发布 npm / PyPI 包。
  2. packages/node 目录中:执行 mcp-publisher login github,然后执行 mcp-publisher publish
  3. 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 lionscraperpip install -U lionscraper。另请参阅 评分 / 检查清单页面

📄 许可证

本项目采用 MIT 许可证(与 npm 和 PyPI 包相同)。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client