README Documentation
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 main
3. 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}'
で確認
- IPアドレスは
- 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_API_URL | Obsidian Local REST APIのURL | http://localhost:27123 |
OBSIDIAN_API_KEY | ObsidianのAPIキー | (必須) |
VAULT_PATH | ObsidianのVaultパス | (Git同期時は必須) |
GIT_AUTO_SYNC | Git自動同期の有効/無効 | false |
LOG_LEVEL | ログレベル | info |
📝 使用例
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を作成して変更内容について議論してください。
Quick Actions
Key Features
Model Context Protocol
Secure Communication
Real-time Updates
Open Source