Claude Codeでプロジェクトを跨いでMCPを使用する 〜MCPスコープの理解と設定方法〜
はじめに
Claude CodeでMCP(Model Context Protocol)サーバーを追加したのに、別のプロジェクトに移動したら使えなくなった経験はありませんか?
実は、MCPにはスコープという概念があり、デフォルトでは現在のプロジェクトでしか有効になりません。この記事では、すべてのプロジェクトでMCPを使えるようにする方法を解説します。
※ 今回の例では、以下のobsidianのMCPサーバーを使用して解説します。
問題:プロジェクトを移動するとMCPが使えない
Claude CodeでMCPサーバーを追加する際、通常は以下のようなコマンドを実行します:
claude mcp add obsidian \
-- npx -y mcp-obsidian "your-vault-path"
しかし、別のプロジェクトディレクトリに移動すると、せっかく追加したMCPが使えなくなってしまいます。
cdした先でMCPが適用されない
解決策:ユーザースコープで設定する
この問題を解決するには、-s user
オプションを使ってユーザースコープで設定します
claude mcp add -s user obsidian \
-- npx -y mcp-obsidian "your-vault-path"
たったこれだけで、すべてのプロジェクトでMCPが使えるようになります。
忙しい人はここまででOKです!
以下、MCPのスコープについての解説になります。
※ 公式のドキュメントをそのまま引用しています。そちらを読みたい方は以下を参照ください。
MCPのスコープとは
MCPには3つのスコープがあり、それぞれ異なる適用範囲を持ちます:
1. ローカルスコープ(デフォルト)
- 適用範囲:現在のプロジェクトのみ
- 用途:プロジェクト固有の設定で、自分だけが使う場合
- 保存場所:プロジェクト内のユーザー設定
2. プロジェクトスコープ
- 適用範囲:特定のプロジェクトディレクトリ
- 用途:チームで共有したいMCPサーバーの設定
-
保存場所:プロジェクトルートの
.mcp.json
ファイル
# プロジェクトスコープで追加
claude mcp add -s project shared-server /path/to/server
これにより.mcp.json
ファイルが作成され、バージョン管理でチーム全体と共有できます。
3. ユーザースコープ
- 適用範囲:すべてのプロジェクト
- 用途:個人的に全プロジェクトで使いたいMCPサーバー
- 保存場所:ユーザーのグローバル設定
# ユーザースコープで追加
claude mcp add -s user my-server /path/to/server
使い分けの指針
どのスコープを使うか迷ったら、以下を参考にしてください:
- 個人的なツール(Obsidian、メモアプリ等) → ユーザースコープ
- プロジェクト固有のデータベース接続 → ローカルスコープ
- チームで共有するAPI接続 → プロジェクトスコープ
まとめ
無事、obsidianのMCPサーバーをどこのプロジェクトからでも使えるように設定できました!🎉
MCPのスコープを理解することで、より効率的にClaude Codeを活用できます。特にユーザースコープは、個人的なツールを全プロジェクトで使いたい場合に便利です。
-s user
オプションを使って、快適なClaude Code環境を構築してみてください。
Discussion