mcpField
O
obsidian-mcp-secure

obsidian-mcp-secure

ローカル
github.com/dewtech-technologies生産性026 週間前に更新

obsidian-mcp-secure について

obsidian-mcp-secureは、Local REST APIプラグインを介してObsidianのノートを読み書きし、Claude DesktopなどのMCPクライアントと接続するサーバーです。専用のノート操作ツールを備え、パスと入力の検証、破壊的操作の確認、監査ログでアクセスを管理します。

主な機能

  1. 01ノートの読み取り、一覧表示、検索
  2. 02ノートの作成、編集、削除
  3. 03名前によるノート検索とタグ一覧
  4. 04ノート間のwikilinks追加
  5. 05パス制限と入力検証
  6. 06ツール呼び出しの監査ログ記録

活用シーン

  1. 01会話中にノートを検索して読む
  2. 02Obsidianノートの作成や更新
  3. 03削除確認を伴うノート整理
  4. 04タグ検索と関連ノートのリンク

MCP 対応

MCPサーバーとしてObsidianのノート操作ツールを対応クライアントに提供し、Local REST APIプラグイン経由でローカルのvaultにアクセスします。stdio接続に対応し、ツール呼び出しを監査ログに記録します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"dewtech-technologies-obsidian-mcp-secure": {
"command": "npx",
"args": [
"-y",
"obsidian-mcp-secure"
],
"env": {
"OBSIDIAN_API_KEY": "<OBSIDIAN_API_KEY>",
"OBSIDIAN_HOST": "<OBSIDIAN_HOST>",
"OBSIDIAN_PORT": "<OBSIDIAN_PORT>",
"LOG_DIR": "<LOG_DIR>"
}
}
}
}
起動コマンドnpx -y obsidian-mcp-secure
設定が必要な環境変数
OBSIDIAN_API_KEYシークレットAPI Key generated by Obsidian's Local REST API plugin (Settings -> Local REST API -> API Key)
OBSIDIAN_HOSTHost of the Local REST API (default: http://127.0.0.1)
OBSIDIAN_PORTPort of the Local REST API (default: 27123)
LOG_DIRDirectory for audit logs (default: ./logs)

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmobsidian-mcp-secure1.0.4

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

obsidian-mcp-secure

npm version npm downloads MCP Registry license npm audit CI coverage Smithery

Obsidian の Vault を、MCP 対応のあらゆる AI クライアントで利用できる信頼性の高いデータソースに変える、安全な Model Context Protocol サーバーです。OWASP Top 10 の対策と完全な監査ログを備え、一から構築されています。

公式 Anthropic MCP Registry に io.github.dewtech-technologies/obsidian-mcp-secure として掲載されています。


🧭 位置づけ — Obsidian 用プラグインではありません

逆です。これは、Claude Desktop(またはあらゆる MCP クライアント)が Obsidian 内を安全に読み書きできるようにするブリッジです。AI アシスタントはいつもの場所にとどまり、Vault はアクセス可能な構造化された監査可能なデータソースになります。

┌─────────────────┐   MCP    ┌──────────────────────┐   HTTP   ┌────────────────────┐   FS   ┌─────────────┐
│                 │  stdio   │                      │  :27123  │                    │        │             │
│ Claude Desktop  │ ───────▶ │ obsidian-mcp-secure  │ ───────▶ │  Local REST API    │ ─────▶ │  Vault .md  │
│  (AI client)    │          │  (this package)      │          │ (Obsidian plugin)  │        │             │
└─────────────────┘          └──────────────────────┘          └────────────────────┘        └─────────────┘
パイプライン上の役割コンポーネント
会話する場所Claude Desktop(またはあらゆる MCP クライアント)
ブリッジ/アクセス制御obsidian-mcp-secure(このパッケージ)
Obsidian 内のデータゲートウェイLocal REST API plugin(Adam Coddington 作)
ナレッジVault 内の .md ファイル

一言で言えば: Claude は頭脳、この MCP は腕、Obsidian は記憶です。

Obsidian と AI の連携手段をもう一つ追加する理由

Claude を Obsidian の中に取り込むプラグインはあります。これはその逆で、次の理由から作られています。

  • アシスタントは Claude Desktop です — 汎用的な会話を行う場所です。ノートは、Web、GitHub、ファイルシステムなどと並び、Claude がアクセスできる多くのコンテキストの一つになります。
  • セキュリティを最優先しています — 攻撃対象領域を意図的に限定し、シェルアクセスを許可せず、パストラバーサルをブロックし、Zod で入力を検証し、すべての呼び出しを監査します。
  • ビルド不要、アカウント不要 — npx obsidian-mcp-secure を実行するだけです。Windows、macOS、Linux で同じように動作します。
  • 組み合わせて利用できます — この MCP を fetch、filesystem、git、GitHub などと組み合わせると、Claude は一つの会話の中で Vault と外部ソースを相互参照できます。

🛠️ 利用可能なツール

ツール用途
read_noteパスを指定してノートを読み取ります
list_notesVault またはサブディレクトリ内のファイル/フォルダーを一覧表示します
create_note新しい .md ノートを作成します
edit_note既存のノートを上書きします(以前の内容は監査ログに記録されます)
delete_noteノートを削除します — confirm: true が必要です(そうでない場合は Zod が拒否します)
search_notesObsidian 独自の検索エンジンを使って全文検索/タグ検索を行います
find_note_by_name名前の一部からノートを検索します — 大文字と小文字を区別せず、完全なパスも不要です
list_tagsVault 内のすべてのタグを使用回数とともに列挙します。名前または頻度で並べ替えられます
create_backlinksノートの ## Relacionadas セクションに [[wikilinks]] を追加します — 明示的に記録され、監査可能です

🔒 セキュリティ — OWASP Top 10

制御項目実装
A01 — アクセス制御の不備パストラバーサルをブロック(../、..\\、エンコードされた表記);.md 拡張子を必須化
A02 — 暗号化の失敗API キーは .env またはプロセス環境変数から読み込みます。ハードコードせず、ログにも記録しません
A03 — インジェクションすべての入力を Zod スキーマで検証します。eval、exec、シェルは使用しません
A04 — 安全でない設計ノートの最大サイズは 512 KB、検索結果の上限は 50 件です。破壊的な操作には明示的な confirm: true が必要です
A05 — セキュリティ設定の不備ホストとして受け付けるのは 127.0.0.1 / localhost のみです
A09 — ログ記録とモニタリングサイズに基づくローテーション(5 MB / 10 ファイル)を備えた winston による完全な監査ログ

すべてのツール呼び出しで、action、params(サニタイズ済み)、success、error、timestamp を含む監査ログが出力されます。


⚡ インストール

前提条件
  1. Vault を開いた状態の Obsidian Desktop
  2. Local REST API plugin(Adam Coddington 作)。コミュニティプラグインからインストールして有効にし、次の操作を行います。
    • **「Enable Non-encrypted (HTTP) Server」**をオンにします(自己署名証明書を使う HTTPS より簡単です)
    • プラグインの設定画面に表示される API Key をコピーします
  3. Node.js 18+
  4. Claude Desktop(またはほかの MCP 対応クライアント)
Claude Desktop の設定

Windows では %APPDATA%\Claude\claude_desktop_config.json を、macOS では ~/Library/Application Support/Claude/claude_desktop_config.json を開き、次を追加します。

{
  "mcpServers": {
    "obsidian-secure": {
      "command": "npx",
      "args": ["-y", "obsidian-mcp-secure"],
      "env": {
        "OBSIDIAN_API_KEY": "your-api-key-from-the-plugin",
        "OBSIDIAN_HOST": "http://127.0.0.1",
        "OBSIDIAN_PORT": "27123",
        "LOG_DIR": "C:/path/to/your/logs"
      }
    }
  }
}

Windows のヒント: npx がエラーを出さずに失敗する場合は、"command": "npx" を "command": "npx.cmd" に変更してください。一部の Claude Desktop ビルドでは、PATH 上の npx を直接解決できません。

Claude Desktop を再起動すると(トレイ → Quit を選択してから再度開きます)、9 個のツールが obsidian-secure の下に表示されます。


🤝 おすすめの併用ツール

MCP の真価は組み合わせて使えることにあります。「ノートを読む → URL を取得する → 自分の適用方法が正しいか教えてもらう」というワークフローを実現するには、この MCP と一緒に公式の fetch MCP を追加してください。

{
  "mcpServers": {
    "obsidian-secure": { "...": "as above" },
    "fetch": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-fetch"]
    }
  }
}

これで Claude は、1 つの会話の中で Vault とリアルタイムのウェブの両方を利用できます。


💬 プロンプトの例

obsidian-secure と fetch を有効にした状態で、次のように依頼できます。

「ノート Projeto API Atendimento.md を読んでから、https://developers.facebook.com/docs/whatsapp を取得し、自分の実装が最新のベストプラクティスに沿っているか教えてください。」

「Vault からタグ #ideia を検索し、最も頻繁に登場する 3 つのアイデアを要約してください。その後、要約を含む Ideias recorrentes.md という新しいノートを作成してください。」

「Atomic Habits - Resumo.md を読んで、https://jamesclear.com/atomic-habits を取得し、自分のノートが原文と異なる部分を指摘してください。」

Claude がツール呼び出しを自動的に調整するため、手動で連鎖させる必要はありません。


🧩 Obsidian 内プラグインとの比較

ワークフローが Obsidian のサイドバー内で完結する場合は、obsidian-claude-code のようなプラグインが適しています。この MCP は異なる使い方を想定しています。

項目obsidian-claude-code(Obsidian 内)obsidian-mcp-secure(本ツール)
AI の利用場所Obsidian 内のサイドバーClaude Desktop(または任意の MCP クライアント)
セットアップgit clone + bun buildnpx obsidian-mcp-secure
ツール読み取り/書き込み/編集 + Bash + Grep + Glob + WebFetch用途に特化した、Zod で検証される 9 個のツール
セキュリティ対策開発マシンのシェルに完全アクセス厳格な許可リスト、監査済み、OWASP Top 10 対応
配布方法手動でクローン。Bun が必要npm + 公式 MCP Registry
ほかのソースとの組み合わせ独自のサンドボックス内で利用MCP 対応クライアントなら fetch、GitHub、filesystem などと組み合わせ可能
最適なユーザーObsidian を中心に使う開発者Claude Desktop を主な作業環境とするプロフェッショナル

どちらも有効な選択肢です。それぞれ異なるニーズに適しています。


🔧 環境変数

変数必須デフォルト説明
OBSIDIAN_API_KEY✅—Local REST API プラグインの API キー
OBSIDIAN_HOSThttp://127.0.0.1ホスト(127.0.0.1 と localhost のみ使用できます)
OBSIDIAN_PORT27123プラグインの HTTP サーバーのポート
LOG_DIR./logs監査ログファイルのディレクトリ

🗺️ ロードマップ

✅ v1.2.1 でリリース済み
  • バグ修正:find_note_by_name がフルパス(フォルダー+ファイル名)を検索
  • バグ修正:list_tags がすべての API レスポンス形式(オブジェクト、文字列の配列、tagCount/taggedFilesCount を含むオブジェクトの配列)を正規化
✅ v1.2.0 でリリース済み
  • Claude Desktop にワンクリックでインストールできる DXT パッケージ(npm run build:dxt)
✅ v1.1.0 でリリース済み
  • find_note_by_name — Vault 全体を対象とした、部分一致・大文字小文字を区別しない名前検索
  • create_backlinks — [[wikilinks]] で関連するノートを接続(明示的で監査可能)
  • list_tags — Vault 内のすべてのタグを使用回数とともに一覧表示
  • Vitest によるユニットテストスイート(70 件のテスト — utils、ハンドラー、HTTP クライアント)
  • すべての PR で実行される CI パイプライン:テスト+カバレッジ+npm audit+静的セキュリティ分析
🔜 次の予定
  • Smithery への掲載
  • 共有/複数ユーザー環境向けの読み取り専用モードフラグ

アイデアや PR を歓迎します。CONTRIBUTING.md をご覧ください。


📜 ライセンス

MIT — LICENSE をご覧ください。

🙏 クレジット


セキュリティ上の問題について:SECURITY.md で報告手順をご確認ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。