FastMCP server for bidirectional sync between personal and team Obsidian vaults
ローカルFastMCP server for bidirectional sync between personal and team Obsidian vaults について
vault-sync-mcpは、個人用Obsidian vaultとチーム共有vaultを同期するFastMCPサーバーです。個人の原本から共有対象を選ぶチーム向けで、同期方向のルール設定と書き込み前のdry runに対応します。
主な機能
- 01双方向の変更プッシュと取得
- 02保留中・古いファイルの確認
- 03ルールによる同期方向の設定
- 04frontmatterによるファイル除外
- 05実行前のdry runプレビュー
活用シーン
- 01個人用vaultの選択したノートを共有
- 02チームvaultの変更を個人用vaultへ反映
- 03ファイルの同期対象可否を確認
MCP 対応
FastMCPサーバーとして、同期状態、プッシュ、取得、対象範囲の確認ツールをMCPクライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
vault-sync-mcp
個人用の Obsidian vault と共有チーム vault の双方向同期を行う FastMCP サーバーです。1 人(vault の所有者)が信頼できる唯一の情報源を管理し、共有フォルダー(Google Drive、Dropbox など)を介して選択したコンテンツを共同作業者と共有するチーム向けに設計されています。
ツール
| ツール | 機能 |
|---|---|
vault_sync_status | 保留中の変更、古くなったファイル、最終同期時刻を表示します |
vault_sync_push | 同期対象のファイルを個人用 vault からチーム vault にプッシュします |
vault_sync_pull | チーム vault の変更を個人用 vault に取り込みます |
vault_scope_check | 特定のファイルが同期対象かどうかを確認します |
プッシュとプルはどちらも、デフォルトで dry_run: true に設定されています。実行前に必ずプレビューできます。
インストール
Claude Code を開き、次の内容を貼り付けます。
/plugin marketplace add adelaidasofia/vault-sync-mcp
/plugin install vault-sync-mcp@vault-sync-mcp
次に、config.yaml を編集して vault のパスと同期ルールを設定します。
personal_vault: ~/vault/
team_vault: ~/team-vault/
Claude Code を再起動します。その後、次のように尋ねます。
「vault の同期状態を表示して」 「チーム vault に変更をプッシュして(まずドライランで)」
従来のインストール方法
pip install fastmcp python-frontmatter pyyaml xxhash
-
クローンします。
git clone https://github.com/adelaidasofia/vault-sync-mcp.git cd vault-sync-mcp -
config.yamlを編集して vault のパスと同期ルールを設定します。personal_vault: ~/vault/ team_vault: ~/team-vault/ -
Claude Code に登録します。
claude mcp add vault-sync -s user -- python3 /path/to/vault-sync-mcp/server.py -
Claude Code を再起動します。その後、次のように尋ねます。
「vault の同期状態を表示して」 「チーム vault に変更をプッシュして(まずドライランで)」
設定
すべての設定は config.yaml にあります。
personal_vault: ~/vault/
team_vault: ~/team-vault/
no_sync:
- "Journal/"
- "Personal/"
sync_rules:
- path: "Team/"
direction: bidirectional
- path: "CRM/"
direction: personal_to_team
filter:
frontmatter_field: relationship
frontmatter_values: [client, team, advisor]
同期ルールの方向
bidirectional— 変更を双方向に反映しますpersonal_to_team— 個人用 vault を信頼できる唯一の情報源とし、チーム側に更新を反映しますteam_to_personal— チーム側を信頼できる唯一の情報源とし、個人用 vault に更新を反映します(共有ドキュメントに便利です)
ファイルの同期をブロックする
ファイルの frontmatter に sync: false を追加すると、そのファイルはすべての同期操作から除外されます。
環境変数
| 変数 | デフォルト | 説明 |
|---|---|---|
VAULT_SYNC_PERSONAL | config.yaml の値 | 個人用 vault のルートパス |
VAULT_SYNC_TEAM | config.yaml の値 | チーム vault のルートパス |
備考
- macOS のシンボリックリンク(Google Drive、iCloud のショートカット)を正しく処理するため、
Path.rglob()の代わりにos.walk(followlinks=True)を使用します - プッシュ時に Wikilink は自動的にファイル名のみに書き換えられます(
[[folder/Note]]は[[Note]]になります) - 変更を高速に検出するため、xxhash でコンテンツをハッシュ化します
- 競合の解決には新しいファイルを優先します。競合はログに記録され、スキップされます
関連する MCP
同じ作者、同じアーキテクチャパターン(FastMCP、該当する書き込み操作では下書き+確認、Vault の自動エクスポート、MIT):
- slack-mcp - 複数ワークスペースの Slack
- imessage-mcp - macOS の iMessage
- whatsapp-mcp - whatsmeow 経由の WhatsApp
- google-workspace-mcp - Gmail / Calendar / Drive / Docs / Sheets
- apollo-mcp - Apollo.io の CRM + シーケンス
- substack-mcp - Substack の執筆 + 分析
- luma-mcp - lu.ma のイベント
- parse-mcp - markitdown / Docling / LlamaParse ルーター
- rescuetime-mcp - RescueTime の生産性データ
- graph-query-mcp - Vault のナレッジグラフクエリ
- graph-autotagger-mcp - グラフからのウィキリンク候補
- investor-relations-mcp - シード調達パイプラインのトラッカー
テレメトリ
このプラグインは、特定のマシンで Claude Code セッション中に初めて読み込まれた際、匿名のインストールシグナルを myceliumai.co に一度だけ送信します。
送信される情報:
- プラグイン名(例:
slack-mcp) - プラグインのバージョン(例:
0.1.0)
送信されない情報:
- ユーザー識別子、氏名、メールアドレス、トークン、API キーは送信されません
- ファイルパス、メッセージの内容、作業に関する情報は送信されません
- 重複排除処理後、IP アドレスは保存されません
理由: メンテナーが実際にインストールされているプラグインを把握し、利用されているプラグインに注力できるようにするためです。
オプトアウト: Claude Code を起動する前に、環境変数 MYCELIUM_NO_PING=1 を設定してください。フックはネットワーク呼び出しを完全にスキップします。すでにシグナルが送信されたインストールでは ~/.mycelium/onboarded-<plugin> にセンチネルファイルが残ります。状態をリセットする場合は削除してください。
ライセンス
MIT
Mycelium AI が開発しました。フルインストール版またはチーム版は diazroa.com をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。