gh|700

Obs105-プラグインLocal REST APIで外部連携サービスを提供でLocal REST APIプラグインを紹介しました。ブラウザ拡張機能Obsidian Webを使えば、URLや選択したテキストを指定のノートに追加できますが、Local REST APIプラグインを4.0にアップグレードした後、ブラウザからの操作が失敗するようになりました。

調査した結果、Local REST API 4.0で大幅な改修が行われたことがわかりました。HTTPサーバー(ブラウザ用)だけでなく、MCPサーバー(AIエージェント用)の機能も提供されるようになり、ブラウザ拡張機能の設定も変更されています。

1. AIエージェント機能のデモ

"MCP server" を含むノートを検索し、結果を 030-Inbox/list.md に書き込む
  • AGENTS.md に「簡単なタスクはそのまま実行し、事前に確認する必要はない」というルールがあるため、OpenCode のネイティブツール、すなわちMCPツールが優先的に使用される
以下のクエリの結果を 030-Inbox/mcp.md に書き込む:
MCPとは何か?

1.1. Obsidian CLI との違い

+ 質問:MCPツールとObsidian CLIの違いは?

MCPツールはより直接的で、Obsidian CLIはSkillを介して動作する

観点 Obsidian CLI (obsidian コマンド) Local REST API & MCP Server
性質 Obsidian 公式内蔵機能 サードパーティコミュニティプラグイン (coddingtonbear/obsidian-local-rest-api)
有効化方法 設定 → 一般 → Command line interfaceを有効化 コミュニティプラグインをインストール → 設定 → Local REST API
通信プロトコル 専用CLIプロトコル(サブプロセス通信) HTTP(S) REST API + MCP (Streamable HTTP)
エンドポイント なし(Obsidianプロセスと直接通信) http://127.0.0.1:27123/ (HTTP) / https://127.0.0.1:27124/ (HTTPS)
認証 なし(OS レベルのプロセス通信) Bearer token (API key)
特徴 開発者ツール、プラグイン管理、テーマ、Sync、Publishなどの機能あり obsidian_vault_patch で heading / block / frontmatter を精密に指定して追加・削除・変更が可能

2. MCPサーバーの機能と設定

2.1. MCP 提供機能

ツール 機能
obsidian_vault_list フォルダの内容を一覧表示
obsidian_vault_read ファイルの内容を読み取る
obsidian_vault_write ファイルに書き込む
obsidian_vault_patch ファイルの特定セクションを修正する
obsidian_vault_delete ファイルを削除する
obsidian_vault_move ファイルの移動/名前変更
obsidian_vault_get_document_map ドキュメント構造(見出し、ブロック参照、frontmatter)を取得
obsidian_vault_append ファイル末尾にコンテンツを追加
obsidian_search_simple 簡易検索
obsidian_search_query JsonLogic 高度検索
obsidian_tag_list すべてのタグを一覧表示

2.2. AIエージェントの設定

  • ClaudeとCursorについてはGitHubを参照

  • OpenCodeの設定は以下の通り:

  "mcp": {
    "obsidian": {  
      "type": "remote",
      "url": "http://127.0.0.1:27123/mcp/",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY",
      }
    }  
  }
  • Local REST APIは自己署名証明書を使用するため、http:// を直接使用する方が簡単
  • opencode 起動前に以下のコマンドを実行すれば、"url" に "https://127.0.0.1:27124/mcp/" を使用可能
set NODE_TLS_REJECT_UNAUTHORIZED=0

rem 環境変数を永続的に設定
setx NODE_TLS_REJECT_UNAUTHORIZED 0

3. Obsidianでのインストールと有効化

  • コミュニティプラグインで local REST API を検索し、インストールして有効化
  • 設定→local REST APIを検索→API Keyをコピー: Bearer YOUR_API_KEY
  • Enable non-encrypted (HTTP) server にチェックを入れる

4. ブラウザ拡張機能 Obsidian Web の設定

  • Obsidian Webアイコンを右クリック→拡張機能のオプション→既存のTemplatesを修正

4.1. Local REST API 3.x の既存設定

  • コンテンツの追加:PATCH /vault/フォルダ/ノート.md
    • ノート内の 2026 見出しを見つけ、見出し内の先頭にコンテンツを追加
    • HTTP Headersの形式は4.0で変更済み

gh|700

4.2. Local REST API 4.x の新設定

  • コンテンツの追加:PATCH /vault/フォルダ/ノート.md
    • ノート内の 2026 見出しを見つけ、見出し内の先頭にコンテンツを追加
Operation: prepend Target-Type: heading Target: Misc::2026 Content-Type: text/markdown
  • Operation: append (見出し内の最後に追加), prepend (見出し内の先頭行に追加), replace
  • Target-Type: heading, block, frontmatter
    • headingの場合は heading1::heading2 の形式で、上から順にheadingを指定する必要がある
  • Content-Type: text/plain は使用不可→text/markdown または application/json を使用可能

5. 💡 関連リンク

✅ 解説記事(繁体字中国語): https://jdev.tw/blog/9217/
Explanation article(English)
解説記事(日本語)

✅ Obsidian Web ブラウザ拡張機能 Obsidian Web - Chrome ウェブストア
✅ GitHub local-rest-api with MCP: https://github.com/coddingtonbear/obsidian-local-rest-api

6. チュートリアル動画

##