Claude CodeにMCPを設定してObsidianとWordPressを操作できるようにした話

Claude Codeを使い始めた最初のころ、「MCP」という言葉がやたらと出てきていました。

公式ドキュメントを読んでも「AIがツールと連携するための規格」みたいな説明しか出てこなくて、正直なんのことかさっぱりでした。けれど少しずつAIと向き合っていくうちにだんだんと理解も進み、「ObsidianのノートをClaudeに整理してもらいたい」「WordPressの下書きをそのまま投稿してもらいたい」と思いはじめて、自分の環境でもAIをふんだんに使った仕組み設定してみました。

設定するまでにかなりつまづいたこともありましたが、その道筋を記録しました。

この記事でわかること:MCPが何かをざっくり理解できる/設定ファイルの正しい場所と書き方/よくある詰まりポイント3つ/設定後にできるようになった具体的なこと

スポンサーリンク

目次

MCPって結局何なの?というところから

最初に調べたとき、「規格」「プロトコル」という説明ばかりで全然ピンとこなかったんですが、実際に使ってみて「あ、なるほど」となりました。

MCPをひと言で言うと:「ClaudeにObsidianやWordPressを操作する”手”を持たせる仕組み」です。MCP設定前のClaudeはチャットするだけ。設定後は「このメモをObsidianに保存して」「この記事をWordPressに投稿して」が実際に動くようになります。言葉で説明するより、動いているのを1回見た方が早いタイプの話です。

イメージとしては、Claude本体は頭だけで、MCPが手や足を生やしてくれる感じです。MCPを設定するごとに「できること」が増えていきます。

設定を始める前に必要なもの

設定自体はシンプルですが、事前に揃っていないと途中で止まります。私は「あ、これが必要だった」と何度か手が止まったので、先に確認しておくことをおすすめします。

  • Claude Code がインストール済み(VSCodeの拡張機能として動いています)
  • ObsidianプラグインのLocal REST APIがインストール済み・起動済み
  • ObsidianのLocal REST APIキー(プラグインの設定画面から確認できます)
  • WordPressの管理画面にログインできる状態
  • WordPressの「アプリケーションパスワード」を発行済み

WordPressのアプリケーションパスワードは、通常のログインパスワードとは別物です。管理画面の「ユーザー」→「プロフィール」→一番下の「アプリケーションパスワード」から発行できます。ここを知らなくてしばらく詰まっていました。

詰まりポイント①:Claude DesktopとClaude Codeで設定ファイルが違う

これが最初の壁でした。

もともとClaude Desktop(デスクトップアプリ版)でObsidianのMCPを使っていました。そのときの設定は claude_desktop_config.json というファイルに書いていて、特に問題なく動いていました。「Claude Codeも同じファイルを読んでくれるだろう」と思って進めたら、全然関係ありませんでした。

⚠️ Claude CodeのMCP設定ファイルはClaude Desktopと完全に別物です
Claude Codeは ~/.mcp.json(ホームディレクトリ直下)というファイルを読みます。このファイルは最初から存在しないので、自分で新規作成する必要があります。

Claude DesktopClaude Code
設定ファイル名claude_desktop_config.json.mcp.json
ファイルの場所~/Library/Application Support/Claude/(Mac)ホームディレクトリ直下(~/.mcp.json)
設定を反映させる方法アプリを再起動VSCodeをCmd+Qで終了して再起動

ターミナルで ~/.mcp.json を開こうとして「そんなファイルない」と言われたとき、「あ、自分で作るのか」とやっと気づきました。最初から存在するものだと思っていたので。

詰まりポイント②:mcpServersというラッパーを忘れると動かない

ファイルを新規作成して、設定を書きました。でもClaude CodeにMCPのツールが一切表示されません。再起動してもダメ。「なんで?」としばらく試行錯誤して、やっとわかりました。

ファイルの構造が間違っていました。

私が最初に書いていた形(NG)

{
  "obsidian": {
    "command": "npx",
    "args": ["-y", "mcp-obsidian"]
  }
}

正しい形

{
  "mcpServers": {
    "obsidian": {
      "command": "npx",
      "args": ["-y", "mcp-obsidian"]
    }
  }
}

外側に mcpServers で括る必要があります。これを書いていないと、中身が正しくてもMCPとして認識されません。エラーも何も出ないので気づきにくい。地味にハマりました。

~/.claude/settings.json に書いてみたこともありましたが、schema validationエラーで拒否されました。MCP設定は ~/.mcp.json だけに書くのが正解です。置き場所は1つだけ。

実際に設定した3つのMCP

今のところ3つ設定して使っています。設定ファイルの全体像はこちらです。

{
  "mcpServers": {
    "obsidian": {
      "command": "npx",
      "args": ["-y", "mcp-obsidian"],
      "env": {
        "OBSIDIAN_API_KEY": "(Local REST APIキーを入れる)",
        "OBSIDIAN_HOST": "http://127.0.0.1:27123"
      }
    },
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "(ObsidianVaultのパス)"]
    },
    "wordpress-mcp": {
      "command": "npx",
      "args": ["-y", "wordpress-mcp"],
      "env": {
        "WORDPRESS_SITE_URL": "https://(サイトURL)",
        "WORDPRESS_USERNAME": "(WordPressのユーザー名)",
        "WORDPRESS_PASSWORD": "(アプリケーションパスワード)"
      }
    }
  }
}

それぞれの役割はこうです。

  • obsidian:ObsidianのノートをClaudeが読んだり書いたりできる。「Local REST API」プラグインが起動している必要があります。Obsidianを閉じていると動かないので注意
  • filesystem:Obsidian VaultのフォルダにClaudeが直接アクセスできる。obsidianと組み合わせるとフォルダ構造ごと扱えて便利
  • wordpress-mcp:WordPressの記事を読んだり投稿したりできる。アプリケーションパスワードを使う(通常のパスワードではない)

127.0.0.1 はどのPCでも同じローカルホストのアドレスなので、そのままコピーして使えます。ここは変更不要です。

詰まりポイント③:WordPressのJWTトークンに有効期限がある

設定してしばらく使っていたら、突然WordPressにつながらなくなりました。

「さっきまで動いていたのに」と思いながら調べたら、JWTトークン(WordPress MCPの認証に使うキー)の有効期限が切れていました。そういう仕様があること自体を知らなかったので、最初は「壊れた?」と焦りました。

⚠️ JWTトークンは約30日で期限切れになります
WordPress管理画面のWordPress MCPプラグイン画面から「MCPトークン発行」で再発行できます。新しいトークンをVSCodeで ~/.mcp.json に直接書き換えて保存→VSCode再起動で反映されます。

トークンの更新はVSCodeで直接ファイルを編集するのが一番安全です。チャットにトークンをコピペするのは避けた方がよいです(会話ログに残る可能性があるため)。慣れれば5分かからない作業ですが、初回は「どこで更新するんだっけ」となりやすいので、場所を覚えておくと良いです。

設定してから変わったこと(正直な感想)

設定後の変化は、思っていたよりずっと大きかったです。

設定前は「ちょっと便利になるかな」くらいの期待でしたが、実際に動かしてみたら「これは全然別物だ」という感覚でした。

  • 外出先でボイスメモしたことを「整理して」と言うだけで、Obsidianの適切なフォルダに振り分けてくれる
  • ブログの下書きができたら「WordPressに投稿して」と言うだけで、カテゴリ・タグ・メタ説明まで一緒にセットしてくれる
  • 「前回の会話の続きをしたい」と言うと、Obsidianのログを読んで文脈を引き継いでくれる
  • この記事もObsidianで下書きを書いて、ClaudeがそのままWordPressに投稿してくれています

設定前は「本当に動くのかな」と半信半疑でしたが、実際に動いてから「なんでもっと早くやらなかったんだろう」と思いました。テキストでチャットしているだけだったClaudeが、自分のノートを読んで、記事を投稿して、を実際にやってくれるのを初めて見たとき、少し感動しました。

まとめ:詰まりポイントを振り返る

  • Claude DesktopとClaude Codeで設定ファイルが違う(~/.mcp.json を自分で新規作成する)
  • 外側に mcpServers で括らないと動かない(エラーも出ないので気づきにくい)
  • settings.json には書かない(schema validationで拒否される)
  • WordPressのJWTトークンには有効期限(約30日)がある
  • ObsidianのLocal REST APIプラグインが起動していないとObsidian MCPは動かない

MCPという言葉だけ聞くと難しそうですが、設定そのものはJSONファイルを1つ作るだけです。詰まるポイントは決まっているので、この記事の内容を参考にしてもらえれば、私より短い時間で設定できると思います。


次回は、この環境を活かすためにCLAUDE.mdをどう設計したか、という話を書きます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です