🚀 LionScraper MCP + CLI + HTTP API ブリッジ
LionScraper は、ウェブページからリスト、記事、リンク、画像などを収集できるブラウザ拡張機能です。このリポジトリは、ツールと拡張機能の間のコンパニオン ブリッジ を3つの方法で提供します。
- MCP (
lionscraper-mcp):AIアプリ(例:Cursor)を接続し、モデルが標準入出力を介してスクレイピングツールを呼び出せるようにします。
- CLI (
lionscraper):拡張機能と同じローカルのHTTP/WebSocketポートで、ターミナルから デーモン、スクレイピング、ping などを実行します。
- HTTP API:デーモンが実行中の場合、スクリプトまたは任意のHTTPクライアントから ループバックJSON HTTP(例:
/v1/...)を介して同じ機能を呼び出せます。MCPまたはCLIのフロントエンドは不要です。
実際のスクレイピングロジックは拡張機能内で実行されます。これらのパッケージは接続と転送を行います。
简体中文
🚀 クイックスタート
開始前の準備
- ブラウザ:ChromeまたはEdge(拡張機能がサポートするものに従う)。
- LionScraper拡張機能:ストアからインストールして有効にする。
- ランタイム(一方または両方の実装を選択):
- Node.js 18+(npmパッケージ用) — Node.js
- Python 3.10+(PyPIパッケージ用) — Python
- MCP用:MCPをサポートするAIアプリ(例:Cursor、Trae)。
- HTTP API用:CLIと同じブラウザ、拡張機能、デーモン。パスと例については、パッケージのREADMEを参照。
Chrome/Edgeがない場合のHTTPフォールバック:標準パスでいずれのブラウザも検出されず、拡張機能が接続されていない場合でも、MCPは起動します。ping は http_fetch モードで成功し、scrape* は最小限のサーバー側のHTTP GETを使用します(JS実行なし)。ブラウザがインストールされているが拡張機能が接続されていない場合、拡張機能の接続フローが表示されます。Nodeの自動起動パスは、lionscraper.js が先頭に / なしで解決されたUnixインストール(例:Glama/Docker)を修正します。Pythonパッケージは、デーモンへのアウトバウンドHTTP/WebSocketに aiohttp を使用します。
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 を渡します。
最小限の設定(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" の代わりに "lionscraper@1.0.1" を使用します。
PORT:HTTP + WebSocketのリッスンポート;デフォルトは 13808;拡張機能の ブリッジポート と一致する必要があります。
TIMEOUT:前のインスタンスがポートを解放するのを待つ時間(ミリ秒);デフォルトは 120000;0 はすぐに引き継ぎます。
LANG:ツールの説明と標準エラー出力の言語(en-US、zh-CN、またはPOSIX形式)。
TOKEN:デーモンと共有するベアラートークン;空の場合は認証なし。
DAEMON:0 のみが、薄いMCPからの lionscraper daemon の自動起動を無効にします。
設定を変更した後は、MCPまたはホストアプリを再起動してください。
Python: python -m を介したMCP
{
"mcpServers": {
"lionscraper": {
"command": "python",
"args": ["-m", "lionscraper"]
}
}
}
パッケージをインストールするのに使用したのと同じ python を使用してください(一部のシステムでは python3)。
ブラウザ拡張機能でポートを一致させる
- LionScraperの 設定 / オプション を開きます。
- ブリッジポート を
PORT と同じ値に設定します(例:13808)。
- 必要に応じて、再接続 を使用し、拡張機能を再読み込みするか、ブラウザを再起動します。
日常的な使用方法
- 拡張機能を 有効 にし、必要に応じてターゲットページを 開いたまま にします。
- 自然言語で質問します(例:接続を確認する、リスト / 記事 / メール / 電話番号 / リンク / 画像をスクレイピングする)。
- 「接続されていません」またはタイムアウトが表示された場合は、接続確認を再試行し、PORT が一致していることを確認します。
✨ 主な機能
2つの実装
|
Node.js (npm) |
Python (pip) |
| レジストリ |
io.github.dowant/lionscraper-node |
io.github.dowant/lionscraper-python |
| ドキュメント (EN) |
packages/node/README.md |
packages/python/README.md |
| ドキュメント (ZH) |
packages/node/README_cn.md |
packages/python/README_cn.md |
どちらか一方または両方をインストールします。これらは別々のパッケージで、CLIコマンド名は同じです。
コマンド(両方のパッケージ)
| コマンド |
役割 |
lionscraper-mcp |
AIアプリ用の薄いMCPサーバー(標準入出力) |
lionscraper |
CLI: daemon, stop, scrape, ping, …(同じポートで HTTP API も提供) |
pip install -U lionscraper の後、lionscraper-mcp が PATH にない場合は、MCPの標準入出力に python -m lionscraper を 追加の引数なしで 使用します(packages/python/README.md を参照)。
PORT(デフォルトは 13808)は、すべてのモードで拡張機能の ブリッジポート と一致する必要があります。
📦 インストール
インストール (npm)
npmで lionscraper として公開されています。
npm install -g lionscraper
グローバルインストールを行わない場合、MCPは npx を使用できます。AIアプリにMCPを追加する の下の npx JSONの例を参照してください。
インストール (pip)
PyPIで lionscraper として公開されています。
pip install -U lionscraper
仮想環境 の使用をお勧めします。システムインタープリターにインストールしたくない場合は、pip install -U --user lionscraper を使用してください。
📚 詳細ドキュメント
FAQ
拡張機能が接続されていない、またはスクレイピングが失敗する場合
- 拡張機能は有効になっていますか?
- AIアプリの PORT は拡張機能の ブリッジポート と正確に一致していますか?
- 通常、1台のマシンに1つのブリッジで十分です。重複する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 は、デフォルトではローカルの標準入出力 + npm/pipではなく、公開されたHTTPS/ストリーミング設定を対象としています。
サードパーティディレクトリ (Glama)
このプロジェクトはGlamaに掲載されています(例:Glama上のLionScraper)。ページに インストールできません または ライセンスが見つかりません と表示される場合は、一般的な解決策は次のとおりです。ルートに LICENSE を追加し(このリポジトリには LICENSE が含まれています)、組織が所有するリポジトリの場合は glama.json にメンテナの GitHubユーザー名 を追加し(glama.json — 主張が失敗した場合は maintainers を編集)、Glamaでサーバーを 主張 し、必要に応じてGlamaの Docker / リリース フローを完了します。公式のインストール方法は引き続き npm install -g lionscraper と pip install -U lionscraper です。詳細は スコア / チェックリストページ も参照してください。
📄 ライセンス
MIT(npmおよびPyPIパッケージと同じ)。