0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ClaudeでObsidianのファイルを直接操作できるようになった話

Last updated at Posted at 2025-07-27

ClaudeでObsidianのファイルを直接操作できるようになった話

TL;DR

Claude DesktopでMCP(Model Context Protocol)を設定すると、ClaudeがObsidianのファイルを直接読み書きできるようになります。これが思った以上に便利だったので、設定方法と使い方をまとめました。

MCPって何?

Claudeが外部のファイルやツールと連携するための仕組みです。今まではClaudeにファイルの内容をコピペしないといけませんでしたが、MCPを使うとClaudeが直接ファイルにアクセスできます。

何ができるようになるの?

複数ファイルを一気に作成

「新しいプロジェクトのノート構成を作って」
→ 関連する複数のmdファイルが一度に作成される

実際にこんな感じでプロジェクトフォルダが作られます:

project_name/
├── README.md
├── 進捗管理.md
├── アイデアメモ.md
└── 参考資料.md

既存ノートの一括編集

  • 複数ファイルのタグを一括で追加・修正
  • リンク構造の整理
  • ファイル名の一括変更

検索&分析

  • 「このテーマに関連するノートを全部探して」
  • 「重複してる内容のファイルない?」
  • 「このプロジェクトの進捗まとめて」

設定手順

1. 必要なもの

  • Claude Desktop(無料版でもOK)
  • Obsidian
  • Node.js(npxコマンドを使用するため)

2. バックアップを取る(重要!)

設定前に必ずObsidianフォルダのバックアップを取りましょう:

# PowerShellを開いて実行
Copy-Item -Path "$env:USERPROFILE\Documents\Obsidian" -Destination "$env:USERPROFILE\Documents\Obsidian_Backup_$(Get-Date -Format 'yyyyMMdd')" -Recurse -ErrorAction SilentlyContinue
echo "バックアップを作成しました"

3. Obsidianのフォルダ構造を理解する(重要なTips!)

Obsidianは「ボルト名」と「フォルダ名」が同じになる特殊な構造があります。

C:\Users\[ユーザー名]\Documents\Obsidian\
├── ボルト名A\               ← これがボルト(格納庫)
│   └── ボルト名A\           ← 実際のファイルはここ!
│       ├── ファイル1.md
│       └── フォルダ1\
├── ボルト名B\
│   └── ボルト名B\
│       └── ファイル2.md

例えば「MCP連携」というボルトの場合:

C:\Users\[ユーザー名]\Documents\Obsidian\MCP連携\MCP連携\

重要:

  • 上位の「MCP連携」フォルダ → ボルトの外枠
  • 下位の「MCP連携」フォルダ → 実際のファイルが入る場所

MCPで指定するパスは上位フォルダC:\Users\[ユーザー名]\Documents\Obsidian)で大丈夫です。Claudeが自動的に適切な場所にファイルを作成してくれます。

4. PowerShellでObsidianの構造を確認

# PowerShellで自分のObsidianの構造を確認
echo "=== Obsidianフォルダ構造確認 ==="
echo "メインフォルダ: $env:USERPROFILE\Documents\Obsidian"

if (Test-Path "$env:USERPROFILE\Documents\Obsidian") {
    echo "✅ Obsidianフォルダが見つかりました"
    
    # ボルト一覧を表示
    echo "\n=== 利用可能なボルト一覧 ==="
    Get-ChildItem -Path "$env:USERPROFILE\Documents\Obsidian" -Directory | ForEach-Object {
        $vaultName = $_.Name
        $innerVaultPath = "$($_.FullName)\$vaultName"
        if (Test-Path $innerVaultPath) {
            echo "ボルト: $vaultName (二重フォルダ構造 ✅)"
            echo "  → ファイル実体: $innerVaultPath"
        } else {
            echo "ボルト: $vaultName (通常フォルダ)"
        }
    }
} else {
    echo "⚠️  標準的な場所にObsidianフォルダがありません"
    echo "以下で探してみてください:"
    Get-ChildItem -Path $env:USERPROFILE -Recurse -Directory -Name "Obsidian" -ErrorAction SilentlyContinue | ForEach-Object {
        echo "見つかったObsidianフォルダ: $env:USERPROFILE\$_"
    }
}

5. 設定ファイルを自動作成

# 設定ディレクトリの確認・作成
if (!(Test-Path "$env:APPDATA\Claude")) {
    New-Item -ItemType Directory -Path "$env:APPDATA\Claude"
    echo "Claudeの設定ディレクトリを作成しました"
}

# 自分のユーザー名を自動取得
$username = $env:USERNAME
echo "ユーザー名: $username"

# 設定ファイルの内容を作成(ユーザー名を自動で埋め込み)
$configContent = @"
{
  "mcpServers": {
    "obsidian": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "C:\\Users\\$username\\Documents\\Obsidian"]
    }
  }
}
"@

# 設定ファイルに書き込み
$configContent | Out-File -FilePath "$env:APPDATA\Claude\claude_desktop_config.json" -Encoding UTF8

echo "設定ファイルを作成しました: $env:APPDATA\Claude\claude_desktop_config.json"

# 作成した設定の確認
echo "=== 作成された設定内容 ==="
Get-Content "$env:APPDATA\Claude\claude_desktop_config.json"

6. Node.jsの確認

# Node.jsがインストールされているか確認
try {
    $nodeVersion = node --version
    $npxVersion = npx --version
    echo "Node.js: $nodeVersion"
    echo "npx: $npxVersion"
    echo "Node.jsは正常にインストールされています"
} catch {
    echo "Node.jsがインストールされていません"
    echo "https://nodejs.org/ からインストールしてください"
}

7. Claude Desktop再起動

  1. Claude Desktopを完全に終了

    # 念のため、Claude Desktopプロセスを強制終了
    Get-Process -Name "Claude" -ErrorAction SilentlyContinue | Stop-Process -Force
    echo "Claude Desktopプロセスを終了しました"
    
  2. Claude Desktopを再起動

  3. 左下にMCPサーバーのアイコン(ハンマーのようなマーク)が表示されれば成功!

動作確認

設定完了後、以下で動作確認してみましょう:

  1. Claude Desktopで「私のObsidianフォルダに何がある?」と聞いてみる
  2. 「テストフォルダを作って、簡単なメモ.mdを作成して」と頼んでみる
  3. Obsidianでファイルが作られているか確認

実際の使用例とコツ

Claudeがファイルを作る場所のルール

Claudeは以下のルールでファイルを作成します:

  1. ボルト指定がある場合:そのボルト内に作成

    「『MCP連携』ボルトに新しいフォルダ作って」
    → C:\Users\[ユーザー名]\Documents\Obsidian\MCP連携\MCP連携\ に作成
    
  2. ボルト未指定の場合:自動で適切なボルトを選択

    「新しいプロジェクトフォルダ作って」
    → 何らかのボルトに自動で作成
    

こんな指示でファイルが作られる

「Qiita記事の草案を新規フォルダ作って書いてみて」

→ フォルダ作成、記事本文、管理用ファイルが一度に作られる
「このプロジェクト関連のファイルを全部読んで、進捗サマリー作って」

→ 関連ファイルを自動で探して、内容を理解してサマリー作成

時短効果がすごい

  • プロジェクト初期化: 30分 → 3分
  • 関連ノート作成: 15分 → 2分
  • ファイル構造整理: 45分 → 5分

できるようになったこと

  • 複数ファイルの同時作成・編集
  • ファイル名やパスを覚えなくても内容で検索
  • プロジェクト全体の構造を一瞬で把握
  • タグやリンクの一括管理

トラブルシューティング

MCPサーバーのアイコンが表示されない

  1. JSON構文エラーのチェック

    # JSONファイルが正しいかチェック
    try {
        Get-Content "$env:APPDATA\Claude\claude_desktop_config.json" | ConvertFrom-Json | Out-Null
        echo "✅ JSON構文は正しいです"
    } catch {
        echo "❌ JSON構文エラー: $_"
        echo "設定ファイルを再作成してください"
    }
    
  2. Node.jsの確認

    if (Get-Command node -ErrorAction SilentlyContinue) {
        echo "✅ Node.js は利用可能です"
    } else {
        echo "❌ Node.js がインストールされていません"
        echo "https://nodejs.org/ からインストールしてください"
    }
    
  3. Claude Desktopの完全再起動

    # タスクマネージャーでもClaude関連プロセスがないか確認
    Get-Process | Where-Object {$_.ProcessName -like "*Claude*"}
    

「Obsidianのファイルにアクセスできません」と言われる

  1. Obsidianフォルダの実際の場所を探す

    # より詳細にObsidianフォルダを探す
    echo "=== Obsidianフォルダを探しています ==="
    $found = Get-ChildItem -Path $env:USERPROFILE -Recurse -Directory -Name "*obsidian*" -ErrorAction SilentlyContinue
    if ($found) {
        echo "見つかったObsidian関連フォルダ:"
        $found
    } else {
        echo "Obsidianフォルダが見つかりません"
    }
    
  2. 正しいパスで設定ファイル更新

    # 例:D:\MyVaultが正しいパスの場合
    $correctPath = "D:\\MyVault"  # ここを実際のパスに変更
    
    $configContent = @"
    {
      "mcpServers": {
        "obsidian": {
          "command": "npx",
          "args": ["-y", "@modelcontextprotocol/server-filesystem", "$correctPath"]
        }
      }
    }
    "@
    
    $configContent | Out-File -FilePath "$env:APPDATA\Claude\claude_desktop_config.json" -Encoding UTF8
    echo "設定ファイルを更新しました"
    

ファイル作成はできるけどObsidianに表示されない

  • Obsidianを再起動してみてください
  • ファイルエクスプローラーで手動リフレッシュ(F5)してみてください
  • Obsidianの設定で「ファイルとリンク」→「削除されたファイルを検出」を有効にしてください

注意点とセキュリティ

アクセス範囲

  • 指定したフォルダ内のファイルにしかアクセスできません
  • 機密情報がある場合は、専用フォルダを作って分離することをおすすめします

定期的なバックアップ

# 週次バックアップのスクリプト例
$backupPath = "$env:USERPROFILE\Documents\Obsidian_Backup_$(Get-Date -Format 'yyyyMMdd_HHmm')"
Copy-Item -Path "$env:USERPROFILE\Documents\Obsidian" -Destination $backupPath -Recurse
echo "バックアップ完了: $backupPath"

まとめ

MCP連携でClaudeがObsidianのファイルを直接操作できるようになると、ノート作成・管理の効率が劇的に向上します。特に:

  • 複数ファイルの一括処理が楽になる
  • プロジェクト管理が自動化される
  • 情報の整理・検索が高速化される

PowerShellを使った設定手順により、ユーザー名の自動取得やエラーチェックも含めて、より確実に設定できるようになります。

設定は少し手間ですが、一度設定してしまえば毎日の作業が大幅に楽になります。Obsidianユーザーの方はぜひ試してみてください!

参考リンク

タグ

#Obsidian #Claude #MCP #生産性向上 #ノート術 #PowerShell

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?