CouchDB MCP サーバーを立てた話


はじめに:チャット越しにVaultを編集したい

Claude や ChatGPT に,普段使っている Obsidian Vault を直接読み書きさせたくなりました.GitHub で管理しているので読むことはできるものの,チャット側から編集をやらせたい.そのためには,Vault を外部のアプリから接続できる形で公開する必要があります.

Vault の同期には,Obsidian の同期プラグイン Self-hosted LiveSync を使っています.

そこで,CouchDB に対して読み書きすることで Vault を MCP 経由で公開してくれる OSS の obsidian-sync-mcp を使いました.VM のファイルシステムを直接触る代わりに,LiveSync が同期に使っている CouchDB を経由してアクセスします.これにより,Claude や ChatGPT のコネクタ経由で Vault に触れるようにしました.

背景・前提

構築前の状態は次の通りです.

  • CouchDB は自宅サーバ上に立てており,Docker Compose により既に稼働中.LiveSyncプラグインの設定画面にある「CouchDBのセットアップ」ウィザードでdocker-compose.ymlを生成して構築したもので,Vault はこの CouchDB 経由で同期している.

構成のイメージは次の通りです.

Claude / ChatGPT
       │  (MCP over HTTPS)

Cloudflare Tunnel


obsidian-mcp コンテナ (127.0.0.1:8787)
       │  host.docker.internal 経由

CouchDB(同一VM上,既存構成)

構築の流れ

CouchDB とは別の,独立した Docker コンテナとして obsidian-sync-mcp を起動しました.CouchDB へは host.docker.internal 経由でアクセスし,ポートは 127.0.0.1 のみに公開.外部公開は Cloudflare Tunnel に任せます.

最後にAIアプリ側へコネクタとして登録します.認証は,起動時に発行した認証トークンをコネクタ登録時に添える形です.Claude はコネクタ設定からそのまま追加できました.

ChatGPT の場合は少し癖があります.2026/9/22時点,ChatGPT Plus はカスタムMCPコネクタが基本対象外と書かれているのですが,設定 > セキュリティとログイン で「開発者モード」をONにすると,プラグインの+マークから同様に追加できます.

ChatGPTでカスタムMCPコネクタを新規登録する画面

まとめ

これで,Claude や ChatGPT のチャット画面から,直接 Vault を読み書きできるようになりました.実際にチャットから「最後の行の文字消して」と頼むと,ツール経由でノートを編集してくれます.

ChatGPTからobsidianMCP経由でノートの最終行を削除させている様子

地味に効くのが,課金面です.普通,エージェントに読み書きさせると,触るたびにトークン課金が発生します.一方,チャットアプリのコネクタ経由なら,追加のAPI課金は乗りません.何往復も読ませて壁打ちしたい貧乏大学院生にはちょうどいい構成です.

TOP