Obsidian MCP Server
Obsidian MCP Server
ObsidianをAIから操作するためのMCP (Model Context Protocol) サーバーです。 Obsidian Local REST APIを使用してノートの作成・更新・検索を行い、Git連携により自動的にバックアップを行います。
🚀 機能
ノート管理
新規ノートの作成
既存ノートの読み取り・更新・削除
フォルダ内のノート一覧取得
Daily Note連携
今日のDaily Noteへの追記
タイムスタンプ付き記録
検索機能
キーワードによるノート検索
検索結果の件数制限
Git自動同期
変更時の自動コミット
GitHubへの自動プッシュ
構造化コンテンツ作成
記事作成(フロントマター付き)
テンプレートからの作成
カテゴリー・タグ管理
📋 前提条件
Obsidian
Local REST API プラグインがインストール・有効化されていること
APIキーが生成されていること
Git (自動同期を使用する場合)
Vaultディレクトリがgitリポジトリとして初期化されていること
リモートリポジトリが設定されていること
Node.js
バージョン18以上
🛠️ セットアップ
1. Obsidianの設定
Obsidianを開き、設定 → コミュニティプラグイン → ブラウズ
"Local REST API"を検索してインストール
プラグインを有効化
Local REST APIの設定を開き、"Copy API Key"でAPIキーをコピー
2. Vault のGit設定(オプション)
cd /path/to/your/vault
git init
git remote add origin https://github.com/username/obsidian-vault.git
git add .
git commit -m "Initial commit"
git push -u origin main3. MCPサーバーのインストール
# 依存関係のインストール
cd obsidian-mcp-server
npm install
# 環境変数の設定
cp .env.example .env
# .envファイルを編集して、APIキーとVaultパスを設定4. Claude Codeへの登録
Windows 11 + WSL2環境の場合
# WSL2内で実行
claude mcp add obsidian "node /home/yusuke/engineers-hub.ltd/in-house-project/obsidian-mcp-server/src/index.js" \
-e OBSIDIAN_API_URL="https://172.24.80.1:27124" \
-e OBSIDIAN_API_KEY="your-api-key" \
-e VAULT_PATH="/mnt/c/Users/YourName/Documents/ObsidianVault" \
-e GIT_AUTO_SYNC="false"重要な設定ポイント:
OBSIDIAN_API_URL: WSL2からWindows側のObsidianに接続するため、Windows側のIPアドレスを使用IPアドレスは
ip route | grep default | awk '{print $3}'で確認
Obsidianの設定で Binding Host を
0.0.0.0に変更(デフォルトは127.0.0.1)HTTPS自己署名証明書を使用しているため、MCPサーバーは証明書検証をスキップします
通常のLinux/Mac環境の場合
claude mcp add obsidian "node /path/to/obsidian-mcp-server/src/index.js" \
-e OBSIDIAN_API_KEY="your-api-key" \
-e VAULT_PATH="/path/to/vault" \
-e GIT_AUTO_SYNC="true"🔧 環境変数
変数名 | 説明 | デフォルト値 |
| Obsidian Local REST APIのURL |
|
| ObsidianのAPIキー | (必須) |
| ObsidianのVaultパス | (Git同期時は必須) |
| Git自動同期の有効/無効 |
|
| ログレベル |
|
📝 使用例
Claude Codeでの使用例
1. 新規ノート作成
"プロジェクトの要件定義をObsidianに保存して"2. Daily Noteへの追記
"今日の会議の議事録をDaily Noteに追加"3. ノート検索
"Tech Guildに関するノートを検索して"4. 週次レポート作成
"今週のDaily Notesから重要な項目をまとめて週次レポートを作成"5. 構造化記事の作成
"Obsidianの使い方についての記事を作成。カテゴリーはTutorial、タグは[Obsidian, PKM]で"🛡️ 利用可能なツール
createNote
新しいノートを作成します。
パラメータ:
title(必須): ノートのタイトルcontent(必須): ノートの内容(Markdown形式)folder(オプション): 保存先フォルダ(デフォルト: "Notes")
appendToDaily
今日のDaily Noteに内容を追記します。
パラメータ:
content(必須): 追記する内容timestamp(オプション): タイムスタンプを付けるか(デフォルト: true)
searchNotes
ノートを検索します。
パラメータ:
query(必須): 検索クエリlimit(オプション): 最大結果数(デフォルト: 10)
readNote
ノートの内容を読み取ります。
パラメータ:
path(必須): ノートのパス
updateNote
既存のノートを更新します。
パラメータ:
path(必須): ノートのパスcontent(必須): 新しい内容
deleteNote
ノートを削除します。
パラメータ:
path(必須): ノートのパス
listNotes
フォルダ内のノート一覧を取得します。
パラメータ:
folder(オプション): フォルダパス(デフォルト: "/")
createArticle
構造化された記事を作成します。
パラメータ:
title(必須): 記事タイトルcategory(必須): カテゴリーcontent(必須): 記事内容tags(オプション): タグの配列draft(オプション): 下書きフラグ(デフォルト: true)
createFromTemplate
テンプレートからノートを作成します。
パラメータ:
templateType(必須): テンプレートタイプ(article, weeklyReport, projectDoc)title(必須): タイトルcategory(オプション): カテゴリー(記事の場合)
🧪 開発
# 開発モード(ファイル変更監視)
npm run dev
# テスト実行
npm test
# 接続テスト
node test-connection.js📄 ライセンス
MIT
🤝 貢献
プルリクエストを歓迎します!大きな変更の場合は、まずissueを作成して変更内容について議論してください。