ObsiMCP について
ObsiMCPは、Obsidian vaultの操作を自動化する軽量で拡張可能なMCPサーバーです。ノート管理や個人用ナレッジベースの構築に使え、ノートの上書きや削除前にバックアップを作成します。
主な機能
- 01Markdownノートの読み取り
- 02ファイル名によるノート検索
- 03ノート内容の追記と上書き
- 04ノートの作成、削除、移動
- 05frontmatterとタグの管理
- 06フォルダー内容の一覧表示
活用シーン
- 01ノートを読み書きするエージェントの構築
- 02外部アプリからのObsidian利用
- 03ノートの保守と更新の自動化
- 04削除や上書き前のバックアップ保存
MCP 対応
ノートの読み書きや検索、フォルダー管理、frontmatter操作など、Obsidian vaultの操作をツールとしてMCPクライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ObsiMCP
mcp-go を利用した、Obsidian ボルトの操作を自動化する軽量で拡張可能な MCP サーバーです。 ObsiMCP を使うと、Obsidian のノートを効率的に管理し、自分だけのナレッジベースを構築できます。
✨ 機能
- 📖 Markdown ノートを読む
- 🔍 ボルト全体から、同じファイル名のノートをすべて検索します。
- ✍️ 既存のノートにコンテンツを書き込みます。次のモードに対応しています。
appendモード(末尾に追加)overwriteモード(ファイルの内容を置き換え)
- 🆕 新しいノートを作成
- 🗑️ ノートを削除
- 📁 指定したフォルダー内のファイルとサブフォルダーを一覧表示します(再帰検索なし)。
- 🏷 ノートのフロントマターを変更、追加、取得します。
- ...
📦 要件
- Go 1.20+(それ以前のバージョンでも動作する可能性がありますが、まだ試していません。)
- 初期化済みの Obsidian ボルトディレクトリ
🚀 はじめに
git clone https://github.com/IAMLEIzZ/ObsiMCP.git
cd ObsiMCP
go build -o main main.go
必要に応じて、config/config.yaml ファイルまたは環境変数で vault のパスを設定してください。
vault:
path: "your osbidian vault path"
⚠️ BackUpDir の設定
ファイルを保護するため、バックアップフォルダーを必ず設定してください。mcp-server を使って上書きまたは削除を行うと、AI アシスタントの不安定な動作を防ぐため、バックアップファイルが自動的に作成されます。(古いバックアップファイルは定期的に手動で削除できます。今後、自動削除機能の追加を検討します。)
backup:
path: "your backup dir"
🧠 使用例
- ノートを理解し、変更するエージェントやコパイロットを構築します。
- 外部アプリや LLM から Obsidian と連携します。
- ノートのメンテナンス、名前変更、コンテンツ更新を自動化します。
たとえば、deepchat では次のように起動できます(ファイルの読み取り権限と書き込み権限を同時に有効にしてください)。
{
"mcpServers": {
"ObsiMCP": {
"command": "Your The absolute path to your main executable",
"args": [],
"shell": false,
"env": {}
}
}
}
🛠 ツールの定義例
MCP サーバーの各ツールは、次の操作に対応しています。
| ツール名 | 説明 |
|---|---|
ReadNote | 指定された Markdown ファイルの内容を読み取ります。 |
GetNote | ボルト内から名前が一致するノートをすべて検索します。 |
WriteNote | 既存のノートにコンテンツを追加するか、上書きします。 |
CreateANote | 初期コンテンツなしで新しいノートを作成します。 |
DeleteNote | ノートを削除し、バックアップします。 |
GetNoteList | 指定したフォルダー内のファイルとサブフォルダーを一覧表示します。 |
MoveOneNote | ノートを別のフォルダーに移動します。 |
GetNoteList | 指定したフォルダー内のファイルとサブフォルダーを一覧表示します。 |
FindAllFolderByName | フォルダー名に基づいて、ボルト内から同じ名前のフォルダーをすべて検索します。 |
CreateFolder | フォルダー名を指定してフォルダーを削除します。 |
GetNoteFrontmatter | ノートのフロントマター情報を取得します。 |
AddFrontmatter | ノートにフロントマター情報を追加します。 |
GetNotetags | ノートにタグを追加します。 |
| ... | ... |
🔗 参考資料
📄 ライセンス
MIT License. Feel free to use, modify, and contribute!
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。