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 Desktop | Claude 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をどう設計したか、という話を書きます。












コメントを残す