MCP サーバー名に二重アンダースコアがない場合、ルールを変更する必要はあるか?
おそらく不要だ。この変更が主に影響するのは名前に __ を含むか _ で終わるサーバーで、ドキュメントによれば一般的な mcp__サーバー や mcp__サーバー__* の書き方は引き続き有効だ。
それでもアップグレード後に claude doctor を実行し、括弧を含むものやアンカーのないワイルドカードのためにスキップされているルールがないか確認するとよい。
アップグレード後に自動化が突然失敗するようになったが、これが原因か?
ありうる。特に dontAsk モードを使っていて、サーバー名に __ が含まれている場合だ。旧版のゆるい一致がなくなるとツールは許可されなくなり、dontAsk は確認を行わないため、呼び出しは即座に拒否される。
claude doctor でスキップされたルールを確認し、該当する allow ルールを mcp__完全な名前__* の形式に書き換える。
deny ルールも影響を受けるのか?
changelog の記載は allow ルールについてで、deny ルールに同様の説明は見つけられなかったため断言はできない。権限ドキュメントは別途、deny と ask ルールでは mcp__* のような先頭のワイルドカードが使えると述べている。
ブロックのためのルールは、アップグレード後に1つずつ試し、止めるはずのサーバーが本当に止まっていることを確認するとよい。
自分の設定で二重アンダースコアを含む MCP サーバーをどう見つけるか?
最も直接的なのは、/mcp で設定済みのサーバー名を一覧し、__ を含むか末尾が _ のものを1つずつ確認することだ。プラグインが提供するサーバーは、プラグイン範囲の完全な形式で見る。
見つけたら、対応する allow ルールを mcp__完全な名前__* に書き換え、共有設定に入れてチーム全員が同じ書き方を使うようにする。
Claude Code v2.1.299(2026年10月14日)の Changed には、セキュリティに関わる変更がある。MCP の allow ルールは名指ししたサーバーにだけ届くようになり、mcp__a は a__b や a_ という名前のサーバーを許可しなくなった。同じリリースでエージェントの tools: リストも、名指しした MCP サーバーのツールだけを取るようになった。サーバー名に __ を含む場合は、ルールを mcp__<完全な名前>__* に書き換える必要がある。
Claude Code での MCP ツールの完全な名前は mcp__<サーバー>__<ツール> で、__ は区切り文字でもある。公式の権限ドキュメントは今、サーバー名が __ を含むか _ で終わる場合は、完全な名前を使ったワイルドカード形式 mcp__<サーバー>__* で書く必要があると明記している。たとえば reports__v2 というサーバーなら mcp__reports__v2__* と書く。裸の mcp__reports__v2 も短い mcp__reports もそのツールには一致しない。Claude Code は両方を reports という名前のサーバーへのルールとして読むからだ。つまり、旧版の許可ルールは書いた人の意図より広く効いていた可能性がある(これは changelog の「許可しなくなった」という表現からの私の推測で、公式は旧挙動を詳しく説明していない)。
ドキュメントはさらに、サーバー名の . や空白は _ になるため、my.server と設定したサーバーは mcp__my_server__* と書くこと、プラグインが提供するサーバーは mcp__plugin_my-plugin_database-tools__* のようなプラグイン範囲の形式を使うことを述べている。許可ルールのワイルドカードにも制限がある。使えるのはリテラルの mcp__<サーバー>__ プレフィックスの後だけで、サーバー部分にワイルドカードは含められない。* や mcp__* のようなアンカーのない許可ルールは警告つきでスキップされ、何も承認しない。括弧を含む mcp__ ルールも設定の読み込み時にスキップされ、パラメータで制限したいときは --disallowedTools の deny ルールを使う必要がある。
サーバー名に __ を含み、許可ルールが旧版のゆるい一致でだけ効いていた場合、アップグレード後はそのツールが再び確認を求めるようになる。確認しない dontAsk モードでは、それらの呼び出しは即座に拒否されるため、自動化が突然失敗するかもしれない。これは fail-closed の方向で、黙って許可するより安全だが、中断を伴う。アップグレード前に MCP サーバー名をすべて洗い出し、__ を含むものや _ で終わるものを探し、claude doctor でスキップされたルールを確認するとよい。
チームが managed settings や共有の settings.json で MCP サーバーを事前承認しているなら、この変更は安上がりな監査の機会だ。10分かけてすべての mcp__ 許可ルールを洗い出し、それぞれが思っているサーバーを指していることを確認し、二重アンダースコアを含むものは完全なワイルドカード形式に書き換える。意図より広く書かれた権限ルールは、たいていインシデントの後にしか気づかれない。今回のアップグレードは、少なくともそうしたあいまいさを見えるようにしてくれる。