📙

Claude Codeでプロジェクトを跨いでMCPを使用する 〜MCPスコープの理解と設定方法〜

に公開

はじめに

Claude CodeでMCP(Model Context Protocol)サーバーを追加したのに、別のプロジェクトに移動したら使えなくなった経験はありませんか?

実は、MCPにはスコープという概念があり、デフォルトでは現在のプロジェクトでしか有効になりません。この記事では、すべてのプロジェクトでMCPを使えるようにする方法を解説します。

※ 今回の例では、以下のobsidianのMCPサーバーを使用して解説します。
https://github.com/smithery-ai/mcp-obsidian

問題:プロジェクトを移動すると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のスコープについての解説になります。
※ 公式のドキュメントをそのまま引用しています。そちらを読みたい方は以下を参照ください。
https://docs.anthropic.com/ja/docs/claude-code/tutorials#model-context-protocol-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