mcpField
P
pyzotero

pyzotero

github.com/leonchaox生産性99072 回インストール15 週間前に更新
リポジトリ

pyzotero について

pyzoteroは、Zotero API v3を利用して個人・グループライブラリを管理するPythonラッパーです。文献や添付ファイル、タグの読み書きと引用情報のエクスポートに対応し、APIキー不要の読み取り専用ローカルモードもあります。

主な機能

  1. 01アイテム、コレクション、タグ、グループの取得
  2. 02ライブラリアイテムの作成、更新、削除
  3. 03添付ファイルのアップロードと取得
  4. 04BibTeXなどの形式で引用情報をエクスポート
  5. 05APIキーなしでローカルライブラリを読み取り

活用シーン

  1. 01Zoteroライブラリ内の文献の取得と絞り込み
  2. 02引用メタデータの更新や文献の新規作成
  3. 03添付ファイルのアップロードとライブラリタグの管理
  4. 04参考文献リスト用の文献データのエクスポート

インストール

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

$npx skills add https://github.com/leonchaox/qinyan-academic-skills --skill pyzotero

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

同梱ファイル

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

references/
authentication.md
cli.md
collections.md
error-handling.md
exports.md
files-attachments.md
full-text.md
pagination.md
read-api.md
saved-searches.md
search-params.md
tags.md
write-api.md

詳細

Pyzotero

Pyzotero は、Zotero API v3 用の Python ラッパーです。Zotero ライブラリをプログラムから管理できます。アイテムやコレクションの読み取り、文献情報の作成と更新、添付ファイルのアップロード、タグの管理、引用文献のエクスポートに利用できます。

認証の設定

必要な認証情報 — https://www.zotero.org/settings/keys から取得してください。

  • ユーザー ID:「Your userID for use in API calls」として表示されます
  • API キー:https://www.zotero.org/settings/keys/new で作成してください
  • ライブラリ ID:グループライブラリの場合、グループ URL の /groups/ の後にある整数です

認証情報は環境変数または .env ファイルに保存してください。

ZOTERO_LIBRARY_ID=your_user_id
ZOTERO_API_KEY=your_api_key
ZOTERO_LIBRARY_TYPE=user  # or "group"

設定の詳細は、references/authentication.md を参照してください。

インストール

uv add pyzotero
# or with CLI support:
uv add "pyzotero[cli]"

クイックスタート

from pyzotero import Zotero

zot = Zotero(library_id='123456', library_type='user', api_key='ABC1234XYZ')

# Retrieve top-level items (returns 100 by default)
items = zot.top(limit=10)
for item in items:
    print(item['data']['title'], item['data']['itemType'])

# Search by keyword
results = zot.items(q='machine learning', limit=20)

# Retrieve all items (use everything() for complete results)
all_items = zot.everything(zot.items())

主な概念

  • Zotero インスタンスは単一のライブラリ(ユーザーまたはグループ)に紐付けられます。すべてのメソッドはそのライブラリを対象に動作します。
  • アイテムのデータは item['data'] に格納されています。item['data']['title'] や item['data']['creators'] のようにフィールドにアクセスできます。
  • Pyzotero はデフォルトで 100 件のアイテムを返します(API のデフォルトは 25 件です)。すべてのアイテムを取得するには zot.everything(zot.items()) を使用してください。
  • 書き込みメソッドは成功時に True を返し、失敗時には ZoteroError を発生させます。

リファレンスファイル

ファイル内容
references/authentication.md認証情報、ライブラリの種類、ローカルモード
references/read-api.mdアイテム、コレクション、タグ、グループの取得
references/search-params.md絞り込み、並べ替え、検索パラメーター
references/write-api.mdアイテムの作成、更新、削除
references/collections.mdコレクションの CRUD 操作
references/tags.mdタグの取得と管理
references/files-attachments.mdファイルの取得と添付ファイルのアップロード
references/exports.mdBibTeX、CSL-JSON、参考文献のエクスポート
references/pagination.mdfollow()、everything()、ジェネレーター
references/full-text.md全文コンテンツのインデックス作成と取得
references/saved-searches.md保存済み検索の管理
references/cli.mdコマンドラインインターフェースの使用方法
references/error-handling.mdエラーと例外処理

よくあるパターン

アイテムの取得と変更
item = zot.item('ITEMKEY')
item['data']['title'] = 'New Title'
zot.update_item(item)
テンプレートからアイテムを作成
template = zot.item_template('journalArticle')
template['title'] = 'My Paper'
template['creators'][0] = {'creatorType': 'author', 'firstName': 'Jane', 'lastName': 'Doe'}
zot.create_items([template])
BibTeX としてエクスポート
zot.add_parameters(format='bibtex')
bibtex = zot.top(limit=50)
# bibtex is a bibtexparser BibDatabase object
print(bibtex.entries)
ローカルモード(読み取り専用、API キー不要)
zot = Zotero(library_id='123456', library_type='user', local=True)
items = zot.items()

コメント