はじめに 📱
外出先からでも、優雅にObsidianを扱えたら素敵だと思いませんか。
本記事では、スマホのClaudeからObsidianを遠隔操作する方法を整理します。
スマホのClaudeから、Obsidian Vaultを遠隔で読み書き・検索できるようにします。
この記事で使うコアOSS🙇♀️
この仕組みのコア技術は、eddmannさんが公開されている obsidian-mcp です。この記事はこのMCPサーバーを利用し、スマホClaudeからObsidianを扱えるところまで持っていく手順になります。
-
作者:eddmann
できること✨
-
🔎 Vault全体を検索(あいまい検索/完全一致)
-
📖 ノートを読む(単体/複数まとめ読み)
-
✍️ ノートを書く(新規作成・全文更新・末尾追記・差分パッチ適用)
-
🧩 ピンポイント編集(指定箇所の挿入/置換)
-
🗂️ ファイル一覧(Vault全体 / 特定フォルダ)
-
🧹 ノート整理(移動/リネーム/削除、フォルダ作成)
-
🏷️ タグ運用(追加/削除/一括リネーム/管理)
-
🗓️ 今日のジャーナルに自動でログを残す(任意)
※以後、本文中の「obsidian-mcp」は基本このリポジトリを指します。
こんなことが可能です
-
検索: 「Claude、Vaultから
MCPを含むノートを探して上位3件」 -
読む: 「
path/to/note.mdを要約して」 -
書く: 「
Daily/2026-02-11.mdに追記して」
前提
-
Obsidian Sync(任意):複数端末(PC/スマホ)でVaultを同期するため。
-
ここは他の方法(Onedrive)でも可能です
-
目安:$4/月(年払い) or $5/月(月払い)
-
-
Claude Pro(必須):Connectors(Remote MCP)を使うため。
- 目安:$20/月(Web課金)
-
ドメイン(必須):HTTPS化(Let’s Encrypt)と
mcp.example.comのようなサブドメイン運用のため。自分はお名前.comで管理してます。- 目安:年1,000〜3,000円くらい
-
VPS(必須):obsidian-mcp を常時稼働させるため。
- 例:さくらVPS
- ubuntu(24.04)/1Gプラン
- 料金:935円/月
- 例:さくらVPS
全て2026/02月時点の内容です
全体の設計概要
全体設計図
この手順でやること
-
VPSを用意してUbuntuを初期セットアップ
-
Obsidian VaultをGitリポジトリ化してGitHub Private Repoへ
-
VPSにobsidian-mcpを npm でデプロイ
-
Nginx + Let’s EncryptでHTTPS化
-
Claude(Connectors)にRemote MCPとして登録
検証環境(例)
-
VPS: Ubuntu 24.04 / 1GB RAM
-
Node.js / npm: 10.9.4
-
obsidian-mcp: [eddmann/obsidian-mcp](https://github.com/eddmann/obsidian-mcp)
-
Claude: iOSアプリ
-
ドメイン:
mcp.example.com(HTTPS)
目次
-
Phase 1: Obsidian VaultをGitリポジトリ化
-
Phase 1.5: Obsidian Gitプラグインで同期を楽にする
-
Phase 2: GitHub Personal Access Token(PAT)作成
-
Phase 3: VPSセットアップ(Ubuntu)
-
Phase 4: ドメイン/DNS(mcpサブドメイン)
-
Phase 5: Nginx + HTTPS(certbot)
-
Phase 6: obsidian-mcp をnpmでデプロイ
-
Phase 7: 常駐化(pm2)
-
Phase 8: Claude(Connectors)にRemote MCPとして登録
Phase 1: Obsidian VaultをGitリポジトリ化
やりたいこと:Obsidianのノート群(Vault)を Gitでバージョン管理できる状態にします。これが後半で「VPSから読み書きする」ための土台になります。
まずは手元(PC)のObsidian VaultをGitリポジトリ化します。
この時作成するリポジトリは絶対にPrivateにしておいてください。
1-1. VaultでGit init
目的:PC上のVaultフォルダをGit管理下にPrivateで置きます。これは後述のObsidian-mcpのためです
#PC上のvaultが存在するフォルダに移動
cd /path/to/your-obsidian-vault
git init
#ignore設定
#パスワードとかあるページは絶対にignoreしてください
cat << 'EOF' > .gitignore
.obsidian/workspace*
.obsidian/hotkeys.json
.smart-env/
.trash/
.DS_Store
Thumbs.db
EOF
git add .
git commit -m "Initial vault commit"
1-2. GitHubにPrivate Repoを作る
目的:Vaultの置き場(リモート)を用意します。外部に出るので Private必須です。
-
GitHubで新規リポジトリ作成
-
Visibilityは Private(重要)
1-3. remoteを追加してpush
目的:ローカルのVaultをGitHubへ送って、以後の同期の基準点を作ります。
git remote add origin https://github.com/YOUR_USERNAME/obsidian-vault.git
git branch -M main
git push -u origin main
Phase 1.5: Obsidian側の同期を楽にする(obsidian-git プラグイン)
やりたいこと:PC上のObsidianアプリ内から Pull/Commit/Push を回せるようにして、日常運用をラクにします。
ここで obsidian-git プラグインを使います
-
役割:Desktop/モバイルのObsidianから、Vaultを Pull/Commit/Push してGitHubと同期する
-
嬉しい点:CLIでいちいちgit叩かなくても、Obsidianの中で自動的にGitと連携してくれます
参考リンク
・「Obsidian Git」を導入してみた。
1.5-1. インストール
目的:Obsidian上でGit操作できる“手足”を入れます。
-
Obsidian → Settings → Community plugins → Browse
-
Obsidian Gitを検索してインストール
1.5-2. 最低限の設定(おすすめ)
目的:同期を自動化しつつ、競合地獄に入りにくい強さに調整します。
-
Auto pull interval(例:5〜10分)
-
Auto backup(commit)interval(例:10〜30分)
-
On startup: pull / On file change: (好み)
1.5-3. コンフリクト対応
コンフリクトの対応については以下が詳しいです。
参考:Obsidian Gitのコンフリクトについて
Phase 2: GitHub Personal Access Token(PAT)作成
やりたいこと:VPS上のobsidian-mcpがGitHubのVaultを操作できるように、PATを用意します。
後で必要になるのでTokenは控えておいてください。
2-1. PAT作成ページを開く
目的:GitHub上でトークン発行ページへ。
- GitHub → Settings → Developer settings → Personal access tokens
2-2. Token (classic) を作成
目的:obsidian-mcp がGitHubへアクセスするためのトークンを発行します。
- Token (classic) を作成
2-3. Scopeを最小にする(repoのみ)
目的:漏洩時の被害を小さくします。基本は repo のみ。
- Scopeは repo のみ
漏洩に注意。絶対に公開しない。
Phase 3: VPSセットアップ(Ubuntu)
やりたいこと:obsidian-mcpを置く“常時稼働の箱”を作ります。ここがスマホClaudeの呼び出し先になります。
3-1. VPSを用意
目的:サーバーを確保します。
-
例:Ubuntu 24.04 / 1GB以上
-
自分はさくらインターネットのVPSを使いました
こちらから申請可能:さくらVPS
3-2. SSH鍵ログイン
目的:パスワードログインを避けて、安全にサーバーへ入れるようにします。
ssh-keygen -t ed25519
ssh-copy-id ubuntu@YOUR_VPS_IP
3-3. Firewall(ufw)
目的:必要なポート(22/80/443)だけ開けて、他は閉じます。
ubuntu@:sudo ufw allow 22
ubuntu@sudo ufw allow 3000
ubuntu@sudo ufw allow 80
ubuntu@sudo ufw allow 443
ubuntu@sudo ufw enable
ubuntu@sudo ufw status
次のようにALLOWが出ていればOK
Status: active
To Action From
-- ------ ----
22 ALLOW Anywhere
3000 ALLOW Anywhere
80 ALLOW Anywhere
443 ALLOW Anywhere
22 (v6) ALLOW Anywhere (v6)
3000 (v6) ALLOW Anywhere (v6)
80 (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)
3-4. パケットフィルターも確認する
目的:ufwを開けても、VPS側のパケットフィルターで22/3000/80/443が閉じていると到達しません。さくらVPSの場合、コントロールパネル側で 22/3000/HTTP(80) / HTTPS(443) を許可しておきます。
Phase 4: ドメイン/DNS(mcpサブドメイン)
やりたいこと:mcp.example.com みたいなURLでVPSに到達できるようにします。HTTPS化やConnector登録が楽になります。
自分は お名前.com でドメイン管理しています。
ここではドメインを持ってること前提です。
4-1. DNSにAレコードを追加(お名前.com想定)
目的:サブドメインをVPSのIPへ向けます。
お名前.com の場合だいたいこの導線です:
- お名前.com(Navi)→ DNS → DNSレコード設定 → 対象ドメインを選択 → DNSレコード設定を利用する
Aレコード例:
-
種別:A
-
ホスト:
mcp(=mcp.example.com) -
値:VPSのIP(例:
xxx.xxx.xxx.xxx) -
TTL:デフォルトのままでOK
4-2. 反映確認
目的:nslookup が狙いのIPを返すのを確認します。
補足:反映は数分で終わることもありますが、DNS事業者によっては時間がかかることもあります。IPが一致するまで待つのが正解です。
nslookup mcp.example.com
ここでVPSのIPアドレスが返ってきたら成功です。
Phase 5: Nginx + HTTPS(certbot)
やりたいこと:通信をHTTPSにして、Claudeから安全に接続できる入口(リバプロ)を作ります。
5-1. インストール
目的:リバプロ(Nginx)と証明書発行(certbot)の道具を入れます。
sudo apt update
sudo apt install -y nginx certbot python3-certbot-nginx
5-2. Nginx(まずHTTPでリバプロ)
目的:外からのアクセスを、obsidian-mcpのポートへ中継します(後でHTTPS化)。
sudo nano /etc/nginx/sites-available/obsidian-mcp
server {
listen 80;
server_name mcp.example.com;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
sudo ln -s /etc/nginx/sites-available/obsidian-mcp /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
5-3. SSL証明書(Let’s Encrypt)
目的:無料の証明書でHTTPSを有効化し、ブラウザ/Claudeに信頼される接続にします。
sudo certbot --nginx -d mcp.example.com
5-4. HTTPS疎通チェック(healthだけ見ればOK)
目的:Nginx / TLS / obsidian-mcp が通っているか、確認します。
curl -i https://mcp.example.com/health
-
200 OKが返れば成功です
Phase 6: obsidian-mcp をnpmでデプロイ
やりたいこと:VPSでobsidian-mcpを動かし、GitHubのVaultを読み書きできるAPI(MCP)を公開します。
注意:自分はDockerで転ぶことがあったので、ここでは npm を使います。
6-1. clone & install
目的:サーバー本体(obsidian-mcp)を持ってきて、依存関係を入れます。
cd ~
git clone https://github.com/eddmann/obsidian-mcp.git obsidian-mcp-src
cd obsidian-mcp-src
npm install
6-2. .env を作る
目的:Vaultの場所・GitHub鍵・OAuthなど、動作に必要な設定を全部ここに集めます。
cp .env.example .env
.envには以下の値を入力します
# Git Repository
# Phase1のリポジトリ
VAULT_REPO=https://github.com/YOUR_USERNAME/obsidian-vault.git
VAULT_BRANCH=main
# Phase2のPAT
GIT_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxx
# OAuth(openssl rand -hex 32 などでこちら側で生成したトークンを設定
# この値はあとのClaudeからのMCP接続時に使用するので控えておく
OAUTH_CLIENT_ID=obsidian-mcp-client
OAUTH_CLIENT_SECRET=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
PERSONAL_AUTH_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# Base URL(HTTPS)
# ドメインを設定しておきます
BASE_URL=https://mcp.example.com
6-3. Claude登録チェック対策:GET /mcp を200で返す
基本はobsidian-mcpは6-2までのセットアップで終了なのですが、
自分の環境ではそのままではobsidian-mcpはclaudeからの接続時にエラーとなってしまいました。
原因はデフォルトだと405で登録で転ぶことでした。
したがって、GETだけ200を返すためにコードに少し手を入れます(POSTは従来どおりMCP本体)。
編集するファイル
nano packages/app/src/server/shared/mcp-routes.ts
編集前(問題のあるコード):
app.get('/mcp', (_req, res) => {
res.status(405).json({
error: 'method_not_allowed',
error_description: 'SSE streaming is not supported in Lambda',
});
});
編集後(修正版):
app.get('/mcp', (_req, res) => {
res.status(200).json({
status: 'ok',
message: 'MCP endpoint is POST /mcp',
auth: 'Bearer token required',
});
});
-
200 OKになればOKです ✅
6-4. 起動(まずはHTTP)
目的:まずローカルでプロセスが生きていることを確認してから、外部公開へ進みます。
npm run dev:http
Phase 7: 常駐化(pm2)
やりたいこと:サーバー再起動やプロセス落ちでも自動復帰するようにして、運用を安定させます。
7-1. pm2を入れる
目的:プロセスマネージャを導入します。
sudo npm i -g pm2
pm2 -v
7-2. obsidian-mcpをpm2で起動
目的:落ちたら再起動、ログもまとめて見られるようにします。
cd ~/obsidian-mcp-src
pm2 start "npm run dev:http" --name obsidian-mcp
pm2 status
pm2 logs obsidian-mcp
7-3. OS再起動でも自動復帰(pm2 startup)
目的:サーバー再起動後にもpm2がプロセスを復元します。
pm2 startup
# 表示されたコマンド(sudo ...)をそのまま実行
pm2 save
7-4. 停止/再起動/削除(運用コマンド)
目的:日常運用で使う最低限のコマンドを置いておきます。
pm2 restart obsidian-mcp
pm2 stop obsidian-mcp
pm2 delete obsidian-mcp
pm2 save
Phase 8: Claude(Connectors)にRemote MCPとして登録
やりたいこと:Claudeに「このMCPサーバーを使っていいよ」と教えて、スマホからツールとして呼び出せるようにします。
8-1. Connectors画面を開く
目的:Remote MCP(カスタムコネクタ)を追加する入口に行きます。
- claude.ai → Settings → Connectors
8-2. コネクタ接続
目的:Claudeがあなたのサーバーに接続できるかを、最初に通します。ここが通らないと次画面に進めません。
入力する項目(例):
-
名前:(任意)
-
リモートMCPサーバーURL:
https://mcp.example.com/mcp -
Client ID:
obsidian-mcp-client -
OAUTH_CLIENT_SECRET:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ここで入れる Client ID / OAUTH_CLIENT_SECRET は、Phase 6 の
.env(OAUTH_CLIENT_ID/OAUTH_CLIENT_SECRET)と一致している必要があります。
8-4. Personal Auth Token設定
8-3が成功すると以下の画面に遷移するので、「Allow Acess」をクリック

その後さらに
画面遷移後に出てくる Personal Auth Token の入力欄に、Phase 6 の .env と同じ値を入れて接続します。
使ってみる(最小例)
-
検索: 「Vaultから
MCPを含むノートを探して上位3件」 -
読む: 「
path/to/note.mdを要約して」 -
書く: 「
Daily/2026-02-11.mdに追記して」
以上です。お疲れ様でした。
これで外出先からでも、あなたのVaultにClaudeが触れられます。
ぜひ優雅なClaude/Obsidianライフを!




