mcpField
Z
zlib-download

zlib-download

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

zlib-download について

Z-Library と Anna's Archive の書籍を検索・ダウンロードする統合 CLI です。ソースや形式での絞り込み、書籍情報の参照、利用可能なソース間の切り替えに対応します。

主な機能

  1. 01単一の CLI で複数ソースを検索
  2. 02ソース、言語、形式による絞り込み
  3. 03Z-Library の書籍メタデータ取得
  4. 04選んだ書籍をダウンロードして保存先を報告
  5. 05依存関係、認証情報、バックエンド状態の確認

活用シーン

  1. 01テーマや言語を指定して電子書籍を探す
  2. 02検索結果を比べてダウンロードする版を選ぶ
  3. 03ダウンロード前に Z-Library の書籍情報を調べる
  4. 04バックエンド設定を確認し、利用不可時に対処する

インストール

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

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

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

同梱ファイル

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

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

詳細

書籍ツール

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

言語

ユーザーの言語に合わせる:ユーザーが使用する言語で応答してください。

バックエンド

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

事前チェック

ワークフローを開始する前に、事前チェックを実行して環境の準備状況を確認してください。

python3 ${SKILL_PATH}/scripts/book.py preflight

標準化された JSON が返されます。

{
  "ready": true,
  "dependencies": { "python3": {"status": "ok"}, "requests": {"status": "ok"} },
  "credentials": { "zlib": {"status": "configured"}, "annas_api_key": {"status": "not_configured"} },
  "services": { "annas_binary": {"status": "ok"} }
}
  • ready: true の場合は、「ワークフロー」セクションに進みます。
  • ready: false の場合は、以下のチェック/修正テーブルに従ってから、セットアップの手順を実行します。
チェック修正
requests が見つからないbash ${SKILL_PATH}/scripts/setup.sh install-deps(または手動で pip3 install requests/uv pip install requests を実行)
zlib が設定されていないユーザーに ~/.claude/book-tools/.env を編集し、ZLIB_EMAIL と ZLIB_PASSWORD を設定するよう案内します
zlib の有効期限切れキャッシュされたトークンの有効期限が切れており、.env にメールアドレス/パスワードがありません。ユーザーに ~/.claude/book-tools/.env に認証情報を再度追加するよう案内します
annas_api_key が設定されていないAPI キーを取得するために Anna's Archive に寄付し、その後 ~/.claude/book-tools/.env に ANNAS_SECRET_KEY を追加するよう案内します
annas_binary が見つからないbash ${SKILL_PATH}/scripts/setup.sh install-annas(または手動で annas-mcp releases からダウンロードし、~/.local/bin/annas-mcp に展開)

セットアップ(初回のみ)

事前チェックで ready: false と報告された場合に限り、セットアップを実行してください。ユーザーが対話形式で設定できるよう案内します。

ステップ 1:依存関係をインストールする
bash ${SKILL_PATH}/scripts/setup.sh install-deps
ステップ 2:認証情報を設定する

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

mkdir -p ~/.claude/book-tools
# Only copy if .env does not already exist — never overwrite existing credentials
if [ ! -f ~/.claude/book-tools/.env ]; then
  cp ${SKILL_PATH}/scripts/.env.example ~/.claude/book-tools/.env
else
  echo "Existing .env found — skipping copy to preserve your credentials."
fi

.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. その後、検索に進みます
ステップ 3:検証する
python3 ${SKILL_PATH}/scripts/book.py preflight

続行する前に ready: true を確認します。

認証情報の保存場所

正式なパス:~/.claude/book-tools/.env — ユーザーが認証情報を編集する場所はここだけです。

変数用途必須条件
ZLIB_EMAILZ-Library のメールアドレスZ-Library バックエンドを使用する場合
ZLIB_PASSWORDZ-Library のパスワードZ-Library バックエンドを使用する場合
ANNAS_SECRET_KEYAnna's Archive の API キーAnna's Archive バックエンドを使用する場合

Z-Library への初回ログインが成功すると、パフォーマンス向上のため、セッショントークンが ~/.claude/book-tools/config.json に自動的にキャッシュされます。このファイルは自動管理されるため、手動で編集しないでください。ログインに問題が発生した場合は、config.json を削除してください。スクリプトが .env の認証情報を使って再度ログインします。

ワークフロー

通常の流れは、検索 → 選択 → ダウンロードです。

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. ユーザーに報告する

ダウンロード後、構造化された完了レポートを提示します。

[Book Download] Complete!
Book: [title] by [author]
Source: [zlib/annas]
Path: [file path]
Size: [file size]

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 キーがありませんAPI アクセスのために Anna's Archive に寄付し、その後キーを .env に追加するようユーザーに案内します
検索タイムアウトネットワークの問題1 回だけ再試行します。問題が続く場合は、もう一方のバックエンドを試します。
"No backend available"どちらのバックエンドも設定されていませんステップ 1 からセットアップ手順を順に案内します

障害時の動作

シナリオ動作
Z-Library が停止Anna's Archive に自動で切り替えます(--source auto がこの処理を行います)
Anna's Archive が利用できないZ-Library のみを使用します
どちらも設定されていない停止し、セットアップ手順を案内します

ヒント

  • Z-Library には 1 日あたりのダウンロード上限があります(無料アカウントでは通常 1 日 10 件)。上限を無駄に消費しないよう、ダウンロード前に info を使って本を確認してください。
  • Anna's Archive では、検索とダウンロードの両方に API キーが必要です(寄付によって取得できます)。
  • 中国語の書籍を探す場合は、最良の結果を得るために、Z-Library で --lang chinese を使用してください。
  • Z-Library に接続できない場合は、--source auto で Anna's Archive に自動的に切り替えてください。
  • 特定の著者を複数の言語で検索する場合は、並行して検索(例:英語名と中国語名)し、結果を 1 つの表にまとめてください。

コメント