mcpField
P
pp-obsidian

pp-obsidian

github.com/mvanhorn生産性2.1k134 回インストール今日更新
リポジトリ

pp-obsidian について

pp-obsidian は、Obsidian の vault を検査、エクスポート、同期、分析する読み取り専用 CLI スキルです。ノートの内容や構造を調べるエージェント向けで、結果がローカルの SQLite ストアかライブデータかを示します。

主な機能

  1. 01ノートの読み取りとファイル一覧
  2. 02前後の文脈を含む本文検索
  3. 03タグ、タスク、未解決リンクの確認
  4. 04リンク切れノートと vault メタデータの確認
  5. 05ローカル SQLite による検索と同期

活用シーン

  1. 01指定した内容を含むノートの検索
  2. 02vault のタグと未完了タスクの確認
  3. 03リンク切れや発リンクのないノートの特定

MCP 対応

README には MCP サーバーのインストールと Claude Code への登録手順があります。MCP クライアント向けの具体的なツールは記載されていません。

インストール

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

$npx skills add https://github.com/mvanhorn/printing-press-library --skill pp-obsidian

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

詳細

Obsidian — Printing Press CLI

前提条件:CLI のインストール

このスキルは obsidian-pp-cli バイナリを使用します。**このスキルのコマンドを実行する前に、CLI がインストールされていることを必ず確認してください。**インストールされていない場合は、先にインストールします。

  1. Printing Press インストーラーを使用してインストールします。デフォルトでは、macOS/Linux では $HOME/.local/bin に、Windows では %LOCALAPPDATA%\Programs\PrintingPress\bin にバイナリがインストールされます。
    npx -y @mvanhorn/printing-press-library install obsidian --cli-only
    
  2. 確認します:obsidian-pp-cli --version
  3. 報告されたインストールディレクトリが、このスキルを実行するエージェント/ランタイムの $PATH に含まれていることを確認します。

npx によるインストールに失敗した場合(Node がない、オフラインなど)は、Go による直接インストールに切り替えます(Go 1.26.6 以降が必要です)。

go install github.com/mvanhorn/printing-press-library/library/productivity/obsidian/cmd/obsidian-pp-cli@latest

インストール後に --version が「command not found」を報告する場合、ランタイムからバイナリディレクトリが $PATH 経由で認識されていません。確認が成功するまで、スキルのコマンドを実行しないでください。

この CLI を使用しない場合

リモートの状態を作成、更新、削除、公開、コメント、賛成票の投票、招待、注文、メッセージ送信、予約、購入、変更する必要があるリクエストでは、この CLI を使用しないでください。この読み取り専用 CLI が提供するのは、調査、エクスポート、同期、分析のコマンドです。

HTTP トランスポート

この CLI は、ブラウザー向けエンドポイントに Chrome 互換の HTTP トランスポートを使用します。通常の API 呼び出しに常駐ブラウザープロセスは必要ありません。

コマンドリファレンス

deadends — デッドエンドを管理します

  • obsidian-pp-cli deadends — 外部リンクのないノートを一覧表示します

files — ファイルを管理します

  • obsidian-pp-cli files — obsidian files をラップします。フォルダーまたは拡張子で絞り込みます。

folders — フォルダーを管理します

  • obsidian-pp-cli folders — obsidian folders をラップします。

live-search — ライブ検索を管理します

  • obsidian-pp-cli live-search context — obsidian search:context query=<text> をラップします。各検索結果の前後の行を含む本文検索です。
  • obsidian-pp-cli live-search live-search — obsidian search query=<text> をラップします。実行中の Obsidian プロセスに問い合わせて本文検索を行います。次のものとは異なります...

notes — 単一ノートの読み取り操作

  • obsidian-pp-cli notes <name> — obsidian read file={name}(正確なパスを指定する場合は path=)をラップします。ファイルの内容を未加工のまま返します。

tags — タグを管理します

  • obsidian-pp-cli tags — obsidian tags をラップします。path= クエリを指定すると、対象をファイルに絞り込めます。

tasks — タスクを管理します

  • obsidian-pp-cli tasks — obsidian tasks をラップします。完了/未完了/ステータスで絞り込みます。(タスクの変更は V2 です。)

unresolved — 未解決項目を管理します

  • obsidian-pp-cli unresolved — obsidian unresolved をラップします。Tier-3 の broken は、これを基盤としてソースノートのコンテキストを追加します。

vault — Vault レベルのインベントリとメタデータ

  • obsidian-pp-cli vault — obsidian vault をラップします。info= を指定すると、1 つのフィールドに絞り込めます。
適切なコマンドを見つける

実行したい操作はわかっていても、どのコマンドを使えばよいかわからない場合は、CLI に直接問い合わせます。

obsidian-pp-cli which "<capability in your own words>"

which は自然言語による機能の問い合わせを、この CLI の厳選された機能インデックスの中から最適なコマンドに対応付けます。終了コード 0 は少なくとも 1 つ一致したことを示し、終了コード 2 は確信を持てる一致がないことを示します。その場合は --help に切り替えるか、より具体的なクエリを使用してください。

認証の設定

認証は不要です。

obsidian-pp-cli doctor を実行して、セットアップを確認します。

エージェントモード

任意のコマンドに --agent を追加します。次のオプションに展開されます:--json --compact --no-input --no-color --yes。

  • パイプ可能 — 標準出力には JSON、標準エラー出力にはエラーが出力されます

  • フィルター可能 — --select でフィールドを絞り込めます。ドット区切りのパスで入れ子構造をたどり、配列では各要素をたどります。詳細な API でコンテキストを小さく保つために重要です。

    obsidian-pp-cli deadends --agent --select id,name,status
    
  • プレビュー可能 — --dry-run で、送信せずにリクエストを表示します

  • オフライン対応 — 同期/検索コマンドは、利用可能な場合、ローカルの SQLite ストアを使用できます

  • 非対話型 — プロンプトを表示せず、すべての入力をフラグで指定します

  • 読み取り専用 — 作成、更新、削除、公開、コメント、賛成票の投票、招待、注文、送信など、状態を変更するリクエストにはこの CLI を使用しないでください

レスポンスエンベロープ

ローカルストアまたは API から読み取るコマンドは、出力を来歴エンベロープでラップします。

{
  "meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
  "results": <data>
}

データには .results を、ライブかローカルかの判定には .meta.source を解析してください。人が読みやすい N results (live) の概要が stderr に出力されるのは、stdout がターミナルであり、かつ機械可読形式のフラグ(--json、--csv、--compact、--quiet、--plain、--select)が設定されていない場合のみです。パイプやエージェントでの利用、および明示的な形式指定での実行では、stdout に純粋な JSON が出力されます。

エージェントからのフィードバック

この CLI に問題があると気づいたら(エージェントが気づいた場合も同様に)、記録してください。

obsidian-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
obsidian-pp-cli feedback --stdin < notes.txt
obsidian-pp-cli feedback list --json --limit 10

エントリーはローカルの ~/.obsidian-pp-cli/feedback.jsonl に保存されます。OBSIDIAN_FEEDBACK_ENDPOINT が設定されており、かつ --send が渡されるか OBSIDIAN_FEEDBACK_AUTO_SEND=true に設定されていない限り、POST されることはありません。デフォルトではローカルにのみ保存されます。

バグ報告ではなく、意外だったことを書いてください。短く、具体的に、1 行で書きます。積み重ねることで役立つのは、まさにその情報です。

出力の配信

すべてのコマンドで --deliver <sink> を指定できます。出力は stdout に加えて(または stdout の代わりに)指定したシンクに送信されるため、エージェントはコマンド結果を手動でパイプせずに転送できます。利用できるシンクは 3 種類です。

シンク動作
stdoutデフォルト。stdout のみに書き込みます
file:<path>出力を <path> にアトミックに書き込みます(tmp + rename)
webhook:<url>出力本文を URL に POST します(--compact の場合は application/json または application/x-ndjson)

不明なスキームは、サポートされているスキームを示す構造化エラーとともに拒否されます。Webhook の失敗時はゼロ以外の値を返し、stderr に URL と HTTP ステータスを記録します。

名前付きプロファイル

プロファイルは、保存されたフラグ値のセットで、複数回の実行で再利用されます。スケジュールされたエージェントが毎回同じ設定で同じコマンドを呼び出す場合に使用します。これは HeyGen の「Beacon」パターンです。

obsidian-pp-cli profile save briefing --json
obsidian-pp-cli --profile briefing deadends
obsidian-pp-cli profile list --json
obsidian-pp-cli profile show briefing
obsidian-pp-cli profile delete briefing --yes

明示的なフラグは常にプロファイルの値より優先され、プロファイルの値はデフォルト値より優先されます。agent-context は、利用可能なすべてのプロファイルを available_profiles に一覧表示するため、情報を調べるエージェントは実行時にそれらを検出できます。

終了コード

コード意味
0成功
2使用方法のエラー(引数が正しくありません)
3リソースが見つかりません
5API エラー(上流の問題)
7レート制限中(待ってから再試行してください)
10設定エラー

引数の解析

$ARGUMENTS を解析します。

  1. 空、help、または --help → obsidian-pp-cli --help の出力を表示します
  2. install で始まる場合 → mcp で終わる場合は MCP のインストール、それ以外の場合は上記の前提条件を参照します
  3. その他すべて → 直接使用(--agent を付けて CLI コマンドとして実行します)

MCP サーバーのインストール

  1. MCP サーバーをインストールします。
    go install github.com/mvanhorn/printing-press-library/library/productivity/obsidian/cmd/obsidian-pp-mcp@latest
    
  2. Claude Code に登録します。
    claude mcp add obsidian-pp-mcp -- obsidian-pp-mcp
    
  3. 確認します:claude mcp list

直接使用

  1. インストールされているか確認します:which obsidian-pp-cli 見つからない場合は、インストールを提案します(このスキルの冒頭にある前提条件を参照してください)。
  2. ユーザーのクエリに最適なコマンドを、上記の独自機能とコマンドリファレンスから選びます。
  3. --agent フラグを付けて実行します。
    obsidian-pp-cli <command> [subcommand] [args] --agent
    
  4. あいまいな場合は、サブコマンドのヘルプを確認します:obsidian-pp-cli <command> --help。

コメント