Obsidian MCP Server Enhanced について
Obsidian MCP Server Enhanced は、Obsidian の Local REST API プラグインを介して Amazon Q から Obsidian ボールトを操作できる MCP サーバーです。Obsidian アプリを開かずに利用できます。Obsidian でAI支援によるノート管理を行いたいユーザー向けです。
主な機能
- 01ノートの読み取り、作成、更新、追記、削除
- 02ボールト内のファイルとフォルダの一覧表示
- 03現在アクティブなファイルの取得
- 04定義済みセクション付きのデイリーノート作成
- 05構造化テンプレートによるミーティングノート作成
活用シーン
- 01Amazon Q による Obsidian ノートの参照や整理
- 02AI アシスタントによるデイリーノートや議事録の生成
MCP 対応
FastMCP で構築された MCP サーバーで、Amazon Q CLI などの MCP クライアントに obsidian_* 系のツールとプロンプトテンプレートを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Obsidian MCP Server Enhanced
Amazon Q と Obsidian を統合するための Model Context Protocol(MCP)サーバーです。
プロジェクト概要
この MCP サーバーを使用すると、Obsidian アプリケーションを開かなくても、Amazon Q から Obsidian の保管庫を操作できます。Obsidian の Local REST API plugin を活用し、ノートの管理、検索、ナレッジ管理機能を提供します。
現在のステータス
- フェーズ 1(コアインフラストラクチャ):完了
- 基本的なファイル操作、検索、ノートテンプレートを完全に実装済みです
- Amazon Q とシームレスに統合できるよう、FastMCP を使用しています
- プロンプトの登録にはデコレーター方式を採用しています
- フェーズ 2:必須機能を開始する準備が整っています
機能
現在実装済み
- ファイル操作:ノートの読み取り、作成、更新、追記、削除
- 基本的なフォルダー管理:フォルダー内のファイル一覧表示
- 検索:ノートの基本的な検索機能
- デイリーノート:事前定義されたセクションを含むデイリーノートの作成
- 議事録:構造化されたテンプレートを使った議事録の作成
予定されている機能
- 高度なフォルダー管理:フォルダーの作成、削除、名前変更、移動
- 整理とメタデータ:タグ、フロントマター、ファイルの整理を管理
- 高度な検索と探索:コンテンツ、タグ、その他の条件による検索の強化
- ナレッジ管理:ハイライトの抽出、ノートの編集など
- 検索と編集:ノートを検索し、情報を 1 つのノートにまとめる
- ノートの整理:AI の支援を受けて、特定のトピックに関するノートを整理
はじめに
前提条件
- Obsidian:Obsidian をインストールし、保管庫を作成します
- Local REST API Plugin:Obsidian に Local REST API プラグインをインストールします
- Python 3.10+:Python 3.10 以降がインストールされていることを確認します
インストール
-
このリポジトリをクローンします:
git clone https://github.com/yourusername/mcp-obsidian-enhanced.git cd mcp-obsidian-enhanced -
仮想環境を作成します:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate -
依存関係をインストールします:
pip install -e ".[dev]" -
Obsidian API の設定を記述した
.envファイルを作成します:OBSIDIAN_API_KEY=your_api_key_from_local_rest_api_plugin OBSIDIAN_HOST=127.0.0.1 OBSIDIAN_PORT=27124
Amazon Q CLI との統合
この MCP サーバーを Amazon Q CLI と統合するには、AWS の設定で MCP サーバーを構成します:
~/.aws/amazonq/mcp.jsonにファイルを作成するか、既存のファイルを更新します:
{
"mcpServers": {
"obsidian-mcp-server": {
"command": "uv",
"args": ["--directory", "/path/to/mcp-obsidian-enhanced", "run", "run_server.py"],
"env": {},
"disabled": false,
"autoApprove": []
}
}
}
/path/to/mcp-obsidian-enhancedをリポジトリの実際のパスに置き換えます。
サーバーの実行
次のコマンドでサーバーを実行します:
python run_server.py
MCP Inspector でテストするには:
npx @modelcontextprotocol/inspector uv --directory ./ "run" "run_server.py"
利用可能なツール
| ツール名 | 説明 |
|---|---|
obsidian_read_note | Obsidian の保管庫からノートの内容を取得します |
obsidian_create_note | Obsidian の保管庫に新しいノートを作成します |
obsidian_update_note | Obsidian の保管庫にある既存のノートを更新します |
obsidian_append_note | 既存のノートに内容を追記します |
obsidian_delete_note | Obsidian の保管庫からノートを削除します |
obsidian_list_files | Obsidian の保管庫内のファイルとフォルダーを一覧表示します |
obsidian_get_active_file | Obsidian で現在アクティブなファイルを取得します |
obsidian_create_daily_note | 事前定義されたセクションを含むデイリーノートを作成します |
予定されているツール(フェーズ 2)
| ツール名 | 説明 |
|---|---|
obsidian_search | Obsidian の保管庫内のノートを検索します |
obsidian_summarize_note | ノートの内容を要約します |
obsidian_search_and_compile | ノートを検索し、情報をまとめます |
obsidian_organize_notes | 特定のトピックに関するノートを整理します |
利用可能なプロンプト
このサーバーは、デコレーター方式を使用してプロンプトテンプレートを提供します:
議事録
@mcp.prompt("meeting-notes")
async def meeting_notes_prompt(
title: str,
date: str = "",
participants: str = "",
folder: str = "Meetings",
tags: List[str] = None
) -> Dict[str, Any]:
"""Create a meeting note with the given details."""
# Implementation...
ノートの作成
@mcp.prompt("create-note")
async def create_note_prompt(
title: str,
content: str,
folder: str = "",
tags: List[str] = None
) -> Dict[str, Any]:
"""Create a new note with the given details."""
# Implementation...
ノートの整理
@mcp.prompt("organize-notes")
async def organize_notes_prompt(
topic: str,
folder: str = ""
) -> Dict[str, Any]:
"""Organize notes related to a specific topic."""
# Implementation...
設定オプション
| 環境変数 | 説明 | デフォルト |
|---|---|---|
OBSIDIAN_API_KEY | Local REST API プラグインの API キー | (必須) |
OBSIDIAN_HOST | Obsidian が実行されているホスト | 127.0.0.1 |
OBSIDIAN_PORT | API のポート | 27124 |
OBSIDIAN_PROTOCOL | 使用するプロトコル | https |
OBSIDIAN_VERIFY_SSL | SSL 証明書を検証するかどうか | false |
OBSIDIAN_TIMEOUT | 接続タイムアウト(秒) | 10 |
LOG_LEVEL | ログレベル(INFO、DEBUG など) | INFO |
実装ロードマップ
フェーズ 1:コアインフラストラクチャ(完了)
- ✅ FastMCP による基本的なサーバー設定
- ✅ 設定管理
- ✅ Obsidian API クライアント
- ✅ 基本的なファイル操作
- ✅ 基本的なフォルダー管理ツール
フェーズ 2:必須機能(計画中)
- 高度な検索機能
- メタデータ管理
- テンプレートの改善
- ノート整理機能
- 検索およびコンパイル機能
- ノートの要約
フェーズ 3:高度な機能(計画中)
- ナレッジ管理ツール
- 一括操作
- 高度な検索機能
フェーズ 4:最適化と仕上げ(計画中)
- パフォーマンスの最適化
- エラー処理の強化
- 包括的なロギング
- 詳細なドキュメント
API を直接テストする
curl を使用して、Obsidian Local REST API のエンドポイントを直接テストできます。
フォルダー内のファイルを一覧表示する
curl -X GET "http://127.0.0.1:27124/vault/FolderName?list=true" \
-H "Authorization: Bearer YOUR_API_KEY"
ノートを読み込む
curl -X GET "http://127.0.0.1:27124/vault/path/to/note.md" \
-H "Authorization: Bearer YOUR_API_KEY"
ノートを作成/更新する
curl -X PUT "http://127.0.0.1:27124/vault/path/to/note.md" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: text/markdown" \
-d "# Note Title\n\nNote content here."
ノートを検索する
curl -X POST "http://127.0.0.1:27124/search/simple" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "query=search_term"
コントリビューション
コントリビューションを歓迎します!ガイドラインについては、CONTRIBUTING.md ファイルをご覧ください。
ライセンス
このプロジェクトは MIT License のもとでライセンスされています。詳細については LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。