refactor: .mcp.jsonとGitHub MCPのための.envrcでのトークン取得処理を削除#70
Conversation
There was a problem hiding this comment.
概要
MCP設定の削除リファクタリングです。.mcp.json(deepwiki/github MCPサーバ定義)を削除し、.claude/settings.jsonのallowからmcp__deepwikiとmcp__github__*系エントリを除去、nix-tasuke由来のmcp__plugin_nix-tasuke_nixosは意図通り残しています。MCP設定をユーザのクライアント設定に委ねるという方針は妥当で、権限を狭める方向の変更のためセキュリティ上の新たな懸念もありません。
指摘事項
[WARNING] PR本文と実装の不整合: .envrcのGITHUB_TOKEN取得処理が残存
PR本文に「.envrcからGitHub MCP用のGITHUB_TOKEN取得処理を削除」と記載されていますが、このPRの差分に.envrcの変更は含まれていません(変更ファイルは.claude/settings.jsonと.mcp.jsonのみ)。リポジトリ現状の.envrcには依然としてGITHUB_TOKEN=$(gh auth token)を取得・exportする処理(およびGitHub MCP向けである旨のコメント)が残っています。
さらに.mcp.jsonの削除により、このGITHUB_TOKENを参照する利用者がリポジトリ内から消えたため、.envrcの該当処理とコメントは実態と合わなくなっています。
対応方針として以下のいずれかをお願いします:
- 本文の意図通りなら
.envrcのGitHub MCP用GITHUB_TOKEN取得処理(コメントとif gh auth statusブロック)も削除する - 何らかの理由で残す方針なら、PR本文の該当記述を修正し、コメントも実態に合わせて見直す
(.envrcはこのPRの差分外のためインラインコメントを付けられず、本文で報告しています)
There was a problem hiding this comment.
概要
MCP設定削除のリファクタリングです。.mcp.json(deepwiki/github MCPサーバ定義)を削除し、.claude/settings.jsonのallowからmcp__deepwikiとmcp__github__*系エントリを除去、.envrcからGitHub MCP用のGITHUB_TOKEN取得処理(コメント含む)を削除しています。nix-tasuke由来のmcp__plugin_nix-tasuke_nixosは意図通り残しています。MCP設定をユーザのクライアント設定に委ねる方針は妥当で、権限を狭める方向の変更のためセキュリティ上の新たな懸念もありません。
前回レビュー (commit 91e8038) でWARNINGとして挙げた「PR本文には.envrcのGITHUB_TOKEN取得処理削除と書いてあるが差分に含まれていない」という不整合は、本PRに.envrcの削除(commit 6ba624f)が追加されたことで解消されています。トークンを環境変数にexportする処理がなくなり、Authorization: Bearer ${GITHUB_TOKEN}を含む.mcp.jsonもファイルごと削除されたため、トークン露出面も縮小しています。README.mdや.github/copilot-instructions.mdにも削除対象への参照は残っておらず、ドキュメントとの不整合もありません。
指摘事項
[NOTE] enableAllProjectMcpServers: trueが実質的に無意味になる可能性
.claude/settings.jsonのenableAllProjectMcpServers: true(本PR差分外のため本文で言及)は、プロジェクトの.mcp.jsonで定義されたMCPサーバを承認なしで有効化する設定です。本PRで.mcp.jsonが削除され、プロジェクト定義のMCPサーバが存在しなくなったため、この設定は実質的に効果を持たなくなります。nix-tasuke由来のMCPはenabledPlugins経由で有効化されているため、この行を削除しても挙動は変わらないはずです。今回のリファクタの趣旨(MCP設定をユーザのクライアント設定に委ねる)に沿って、不要であれば削除を検討してもよいでしょう。
.mcp.jsonを削除.envrcからGitHub MCP用のGITHUB_TOKEN取得処理を削除.claude/settings.jsonからmcp__deepwikiやmcp__github関連のallow設定を削除GitHub MCPやDeepWiki MCPの設定は、
ユーザのクライアント設定に委ねるべきだと思ったから設定を削除します。
nix-tasuke由来のMCPサーバの実行許可設定は、
プロジェクトがNixを利用することを前提にしているので、
プロジェクトの性質を示していると考えて残しています。
ncaq/nix-templates#183 と同様の変更です。