mcpField
Z
zlib-download

zlib-download

github.com/psylch生産性1268 回インストール36 週間前に更新
リポジトリ

zlib-download について

zlib-downloadは、統合コマンドラインツールでZ-LibraryまたはAnna's Archiveから書籍を検索・ダウンロードするスキルです。認証情報を設定し、検索結果を比較して選んだ書籍を取得したいユーザー向けです。

主な機能

  1. 012つの書籍ソースを検索
  2. 02バックエンドの自動または指定選択
  3. 03言語と形式による絞り込み
  4. 04書籍メタデータの参照
  5. 05選択した書籍のダウンロード

活用シーン

  1. 01対応ソースから書籍を探す
  2. 02言語や形式で検索結果を絞り込む
  3. 03ダウンロード前に書籍の詳細を確認
  4. 04選んだ書籍を指定フォルダーへ保存

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/psylch/zlib-download-skill --skill zlib-download

インストール後、Claude Code で/zlib-downloadを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
api_reference.md
scripts/
.env.example
book.py
setup.sh
Zlibrary.py

詳細

書籍ツール

統一された CLI を通じて、複数のソースから書籍を検索・ダウンロードします。

バックエンド

バックエンドソース認証が必要最適な用途
zlibZ-Library(EAPI)メールアドレス+パスワード最大規模のカタログ、直接ダウンロード
annasAnna's ArchiveAPI キー(寄付)複数のソースを集約、複数のミラー

初回セットアップ

初回の呼び出し時にセットアップチェックを実行し、対話形式で設定を案内します。

手順 1:依存関係の確認
bash ${SKILL_PATH}/scripts/setup.sh check

出力はキーと値のペアです。それぞれを確認します。

キーOK不足している場合の対応
PYTHONokPython 3 が見つかりません。ユーザーがインストールする必要があります
REQUESTSokbash ${SKILL_PATH}/scripts/setup.sh install-deps を実行します
ANNAS_BINARYokbash ${SKILL_PATH}/scripts/setup.sh install-annas を実行します(任意)
手順 2:認証情報の設定

認証情報は ~/.claude/book-tools/.env に保存されます。スキルに同梱されているテンプレートからファイルを作成します。

mkdir -p ~/.claude/book-tools
cp ${SKILL_PATH}/scripts/.env.example ~/.claude/book-tools/.env

.env ファイルの内容は次のとおりです。

# Z-Library credentials
[email protected]
ZLIB_PASSWORD=your_password_here

# Anna's Archive (optional, requires donation for API key)
# ANNAS_SECRET_KEY=your_api_key_here

重要:チャットでユーザーに認証情報を直接尋ねてはいけません。代わりに、次の手順に従います。

  1. .env ファイル(または .env.example テンプレート)を作成します
  2. ユーザーに ~/.claude/book-tools/.env を認証情報で編集するよう伝えます
  3. ユーザーが入力を完了したことを確認するまで待ちます
  4. その後、検索に進みます

また、CLI で認証情報を設定することもできます(推奨度は低めです。シェルの履歴から見えるためです)。

python3 ${SKILL_PATH}/scripts/book.py config set --zlib-email "[email protected]" --zlib-password "password"
手順 3:確認
python3 ${SKILL_PATH}/scripts/book.py setup

Z-Library が設定されている場合の想定出力:

{
  "zlib": { "requests_installed": true, "configured": true },
  "annas": { "binary_found": true, "api_key_configured": false }
}

configured が true の場合、スキルを使用できます。

認証情報の保存について

2 つのソースが統合されます(.env の値が優先されます)。

ソースパス形式
.env ファイル~/.claude/book-tools/.env1 行につき KEY=value
設定 JSON~/.claude/book-tools/config.jsonJSON(自動管理)

Z-Library への初回ログインが成功すると、リミックストークンが config.json にキャッシュされます。以降の呼び出しでは、メールアドレスとパスワードでのログインを省略し、トークンを直接使用します。

ワークフロー

一般的な流れは、検索 → 選択 → ダウンロードです。

1. 検索
# Auto-detect backend (tries zlib first, then annas)
python3 ${SKILL_PATH}/scripts/book.py search "machine learning" --limit 10

# Z-Library with filters
python3 ${SKILL_PATH}/scripts/book.py search "deep learning" --source zlib --lang english --ext pdf --limit 5

# Anna's Archive
python3 ${SKILL_PATH}/scripts/book.py search "reinforcement learning" --source annas

# Chinese books
python3 ${SKILL_PATH}/scripts/book.py search "莱姆 索拉里斯" --source zlib --lang chinese --limit 5

出力(標準出力への JSON):

{
  "source": "zlib",
  "count": 5,
  "books": [
    {
      "source": "zlib",
      "id": "12345",
      "hash": "abc123def",
      "title": "Deep Learning",
      "author": "Ian Goodfellow",
      "year": "2016",
      "language": "english",
      "extension": "pdf",
      "filesize": "22.5 MB"
    }
  ]
}
2. 検索結果をユーザーに提示

検索後、ユーザーが選べるように、結果を番号付きの表で提示します。

| # | Title | Author | Year | Format | Size |
|---|-------|--------|------|--------|------|
| 1 | Deep Learning | Ian Goodfellow | 2016 | pdf | 22.5 MB |
| 2 | ... | ... | ... | ... | ... |

複数の言語や版にまたがる結果がある場合は、わかりやすいように小見出しを付けて、言語またはカテゴリごとにグループ化します。

「ダウンロードする書籍を選んでください(番号)」と尋ねます。

3. ダウンロード
# Z-Library download (needs id + hash from search results)
python3 ${SKILL_PATH}/scripts/book.py download --source zlib --id 12345 --hash abc123def -o ~/Downloads/

# Anna's Archive download (needs MD5 hash from search results)
python3 ${SKILL_PATH}/scripts/book.py download --source annas --hash a1b2c3d4e5 --filename "deep_learning.pdf" -o ~/Downloads/

出力:

{
  "source": "zlib",
  "status": "ok",
  "path": "~/Downloads/Deep Learning (Ian Goodfellow).pdf",
  "size": 23592960
}
4. ユーザーに報告

ダウンロード後、次の情報を報告します。

  • ファイルパス(ユーザーがファイルを開けるようにするため)
  • ファイルサイズ
  • ダウンロード可能な残りの回数(Z-Library には 1 日あたりの制限があります)

その他のコマンド

書籍情報(Z-Library のみ)
python3 ${SKILL_PATH}/scripts/book.py info --source zlib --id 12345 --hash abc123def

説明、ISBN、ページ数、目次など、完全なメタデータを返します。

設定の確認
python3 ${SKILL_PATH}/scripts/book.py config show
バックエンドのステータス確認
python3 ${SKILL_PATH}/scripts/book.py setup

エラー処理

エラー原因対応
"Z-Library not configured"認証情報がありませんユーザーに ~/.claude/book-tools/.env を編集するよう案内します
"Z-Library login failed"認証情報が正しくないか、サービスが停止していますユーザーに認証情報を確認するよう依頼します。Z-Library のドメインは変更されるため、問題が続く場合は、同梱の Zlibrary.py のドメインを更新する必要があるかもしれません。
"annas-mcp binary not found"バイナリがインストールされていませんsetup.sh install-annas を実行します
"Anna's Archive API key not configured"API キーがありませんAnna's Archive で API アクセスのために寄付し、その後キーを .env に追加するよう案内します
検索タイムアウトネットワークの問題1 回再試行します。問題が続く場合は、もう一方のバックエンドを試します。
"No backend available"どちらのバックエンドも設定されていません手順 1 からセットアップの全手順を案内します

ヒント

  • Z-Library には1日のダウンロード上限があります(無料アカウントでは通常1日10冊です)。ダウンロード枠を無駄にしないよう、ダウンロード前に info で書籍を確認してください。
  • Anna's Archive では、検索とダウンロードの両方に API キーが必要です(寄付すると取得できます)。
  • 中国語の書籍を探す場合は、Z-Library で --lang chinese を使用すると最適な結果が得られます。
  • Z-Library に接続できない場合は、--source auto を指定すると Anna's Archive に自動的にフォールバックします。
  • 複数の言語で特定の著者を検索する場合は、並列検索(例:英語名と中国語名)を実行し、結果を1つのテーブルにまとめてください。

コメント