Shiori MCP について
Shiori MCPは、Shioriのブックマークを管理するMCPサーバーです。Shioriの利用者向けに、ブックマークやタグの操作、検索、アカウントの確認を提供します。
主な機能
- 01Shioriの接続と認証を確認
- 02ブックマークの一覧・検索・取得
- 03ブックマークの追加・更新・削除
- 04タグとブックマーク数の一覧
- 05タグ名の変更と閲覧可能なアカウントの一覧
活用シーン
- 01テキストやタグで保存済みリンクを検索
- 02タグ付きブックマークの追加や更新
- 03タグと対応するブックマーク数の確認
MCP 対応
MCPクライアントにShioriのブックマークとタグを管理するツールを提供します。検索、アカウントの一覧、接続確認も利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx shiori-mcpSHIORI_BASE_URLBase URL of the Shiori instance, e.g. https://shiori.example.comSHIORI_SESSION_IDシークレットExisting Shiori session id; skips login if providedSHIORI_USERNAMEShiori username; required unless SHIORI_SESSION_ID is setSHIORI_PASSWORDシークレットShiori password; required unless SHIORI_SESSION_ID is setローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Shiori MCP
セルフホスト可能なブックマーク・あとで読む管理ツールである Shiori 用の Model Context Protocol(MCP)サーバーです。
機能
- Shiori への接続と認証を確認します
- ブックマークを一覧表示します
- タイトル、URL、抜粋、タグでブックマークを検索します
- ブックマークリストから ID または完全一致する URL でブックマークを 1 件取得します
- Shiori が要求するタグオブジェクト形式でブックマークを追加します
- ブックマーク全体のペイロード、または一般的なフィールドパラメーターを使ってブックマークを更新します
- ID のリストを指定してブックマークを削除します
- タグとブックマーク数を一覧表示します
- タグ名を変更します
- 認証済みセッションから参照できるアカウントを一覧表示します
インストール
pipx install git+https://github.com/rusty4444/shiori-mcp.git
または、チェックアウトしたリポジトリからインストールします。
python -m venv .venv
source .venv/bin/activate
pip install -e .
設定
| 変数 | 必須 | 説明 |
|---|---|---|
SHIORI_BASE_URL | はい | Shiori インスタンスのベース URL。例:https://shiori.example.com |
SHIORI_SESSION_ID | 任意 | 既存の Shiori セッション ID。指定するとログインを省略します |
SHIORI_USERNAME | セッション ID が設定されていない場合は必須 | Shiori のユーザー名 |
SHIORI_PASSWORD | セッション ID が設定されていない場合は必須 | Shiori のパスワード |
SHIORI_TIMEOUT | いいえ | HTTP タイムアウト(秒)。デフォルトは 20 です |
MCP クライアントの設定
{
"mcpServers": {
"shiori": {
"command": "shiori-mcp",
"env": {
"SHIORI_BASE_URL": "https://shiori.example.com",
"SHIORI_USERNAME": "your-username",
"SHIORI_PASSWORD": "your-password"
}
}
}
}
ツール
| ツール | 用途 |
|---|---|
shiori_health_check | API の接続と認証を確認します |
shiori_list_bookmarks | クライアント側で上限とオフセットを指定してブックマークを一覧表示します |
shiori_search_bookmarks | テキストやタグでブックマークを検索します |
shiori_get_bookmark | ブックマークリストから ID を指定してブックマークを 1 件取得します |
shiori_get_bookmark_by_url | 完全一致する URL でブックマークを 1 件取得します |
shiori_add_bookmark | オプションでタグ、アーカイブ、公開フラグを指定してブックマークを追加します |
shiori_update_bookmark | Shiori のブックマーク JSON 全体を使ってブックマークを更新します |
shiori_update_bookmark_fields | JSON 全体を手動で組み立てずに、一般的なフィールドを更新します |
shiori_delete_bookmark | ブックマークを 1 件、ID を指定して削除します |
shiori_delete_bookmarks | JSON 配列の ID を指定してブックマークを削除します |
shiori_list_tags | タグとブックマーク数を一覧表示します |
shiori_rename_tag | タグ名を変更します |
shiori_list_accounts | このセッションから参照できるアカウントを一覧表示します |
開発と検証
python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install -e '.[dev]'
ruff check .
pytest
python scripts/live_docs_test.py
live_docs_test.py は、認証情報なしで Shiori の公開 API ドキュメントとリポジトリのページを検証します。認証が必要な読み取り/書き込み API の動作は、HTTP のモックテストで検証します。
オプションの LLM 検証は、設定済みの OpenAI 互換エンドポイントを使って実行できます。ローカルで Aeon の検証を行うには、python scripts/model_validate.py を実行する前に AEON_BASE_URL と、必要に応じて AEON_MODEL/AEON_API_KEY を設定してください。
API に関する注意
このサーバーは Shiori の文書化されたレガシー API(/api/*)を対象としています。新しい API v1 はまだ開発中として記載されており、稼働中のインスタンスでは /swagger/index.html に自己文書化された内容が掲載されているためです。
安全性
書き込み可能なツールは Shiori のブックマークデータベースを変更します。認証情報は環境変数またはシークレットマネージャーで管理し、ソース管理には絶対に含めないでください。
このプロジェクトは AI ツールの支援を受けて開発されました。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。