CLAUDE LABEN
DESIGN — Claude Designが大型更新。デザインシステムの取り込み、キャンバスの直接編集、エクスポート形式の追加が入りましたCODE — Claude Designがローカルのコードベースを起点に動作し、生成した画面をClaude Codeへ受け渡して実装まで繋げられますFABLE — Mythosクラスの最新モデルFable 5が一般利用向けに調整され、Claude Code v2.1.170から使えるようになりましたFIX — ストリーム途中で接続が切れても部分応答を保持する改善が入り、長時間の自動処理でも応答が残りますSCROLL — フルスクリーン時のマウスホイール加速を無効化するwheelScrollAccelerationEnabled設定が追加されましたTIER — Claude DesignベータはPro・Max・Team・Enterpriseで利用できますDESIGN — Claude Designが大型更新。デザインシステムの取り込み、キャンバスの直接編集、エクスポート形式の追加が入りましたCODE — Claude Designがローカルのコードベースを起点に動作し、生成した画面をClaude Codeへ受け渡して実装まで繋げられますFABLE — Mythosクラスの最新モデルFable 5が一般利用向けに調整され、Claude Code v2.1.170から使えるようになりましたFIX — ストリーム途中で接続が切れても部分応答を保持する改善が入り、長時間の自動処理でも応答が残りますSCROLL — フルスクリーン時のマウスホイール加速を無効化するwheelScrollAccelerationEnabled設定が追加されましたTIER — Claude DesignベータはPro・Max・Team・Enterpriseで利用できます
記事一覧/Claude Code
Claude Code/2026-06-18上級

無人で動くエージェントに渡すMCPツールを絞り込む — ポリシー強制で権限を deny-by-default にする

無人実行のClaude Codeエージェントは、許可ダイアログに頼れないぶんツールの届く範囲がそのまま事故の範囲になります。MCPサーバーとツールを deny-by-default で締め、必要なものだけを許可リストで渡す構成を実例つきでまとめました。

claude-code120mcp12permissions2automation39

プレミアム記事

スケジュールで起動するエージェントには、許可ダイアログを押してくれる人がいません。

私自身、個人開発で運営している Dolice Labs では、複数のサイトに対して毎日決まった時刻に Claude Code ベースのエージェントを走らせています。最初のころ、その無人エージェントが「本来触れる必要のないツール」にまで手を伸ばし、待ち受けるはずの許可ダイアログでそのまま固まって朝まで止まっていた、という事故を何度か経験しました。

対話セッションなら、危ないツール呼び出しは画面に出てきて自分が止められます。けれど無人運用では、その最後の砦が存在しません。だからこそ「何が起きたら止めるか」より前に、「そもそも何に手を伸ばせるか」を構成で絞っておく必要があります。本稿は、MCP サーバーとそのツールを deny-by-default で締め、必要なものだけを許可リストで渡すための設計をまとめたものです。

無人エージェントでは「届く範囲」がそのまま事故の範囲になる

対話運用と無人運用では、同じ権限設定でも意味がまったく違います。

対話では、permissionsask モードが事実上のセーフティネットになります。判断に迷うツール呼び出しはユーザーに尋ねてくれるので、許可リストが多少ゆるくても人間が最終的に止められます。

ところが無人運用では、尋ねる相手がいません。許可されていないツールに当たれば止まり、許可されていればそのまま実行されます。中間がないのです。つまり無人エージェントにとっては、許可リストの広さが、そのまま「無断で起こりうることの広さ」になります。

私の場合、痛感したのは MCP サーバー経由のツールでした。記事を生成して push するだけのエージェントに、ファイルシステム全体を触れる MCP サーバーや、ブラウザ操作の MCP まで見えている状態だったのです。記事生成という目的に対して、明らかに届く範囲が広すぎました。

allowedTools と「ポリシー強制」はレイヤーが違う

ここで混同しやすいのが、プロジェクト単位の許可設定と、上位レイヤーで効くポリシー強制の違いです。

settings.jsonpermissions.allow / permissions.deny は、そのプロジェクトやユーザーの設定です。便利な一方で、同じ階層に書ける以上、別の設定で上書きされる余地があります。自動運用では「このエージェントの設定ファイルが何かの拍子に書き換わったら」を考えておく価値があります。

これに対して、管理者レイヤーの設定(managed settings)は、下位のローカル設定では上書きできない最低ラインを敷くためのものです。Claude Code は設定をいくつかの階層で読み、おおまかに次の優先順位で解決します。

優先度レイヤー典型的な置き場所下位から上書き
管理者ポリシー(managed settings)OS のシステム領域不可
コマンドライン引数起動時の -- オプション
プロジェクト設定.claude/settings.json
ユーザー設定~/.claude/settings.json

無人エージェントの「最低ライン」は、この一番上のレイヤーに置くのが要点です。ローカルの設定をどう触られても、deny だけは生き残るからです。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
対話なしで走るエージェントに対し、MCPサーバーとツールを deny-by-default で締めてから必要分だけ許可リストで渡す構成を、managed-settings.json の実例つきで組めるようになります
allowedTools 単位の許可と、上位レイヤーで効くポリシー強制の違いを理解し、ローカル設定では上書きできない最低ラインを敷けるようになります
ポリシーが実際に効いているかを起動時に確認する手順と、優先順位・フォールバックでつまずきやすい点を、私自身の自動運用での失敗を踏まえて把握できます
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

Claude Code2026-03-24
Claude Code × unity-mcp でゲーム開発を自動化する方法 — 企画から公開までの完全ワークフロー
Claude Code と unity-mcp を組み合わせて Unity ゲーム開発を自動化する方法を解説。hcg-workflows スキルによる8フェーズワークフローで企画から公開まで効率化できます。
Claude Code2026-06-18
Claude Code に /cd が来た — キャッシュを温存したまま複数リポジトリを横断する運用設計
Claude Code に追加された /cd で作業ディレクトリを移すと、プロンプトキャッシュを作り直さずにセッションを別リポジトリへ運べます。複数リポジトリを順に処理する運用での設計判断と落とし穴をまとめました。
Claude Code2026-06-14
Claude Code の Hooks で品質ゲートを壊さず回す — exit code の意味・ブロック挙動・観測設計の実装メモ
Claude Code Hooks を自動化の安全弁として運用するための実装メモ。exit code 0/2/その他の使い分け、JSON 出力による決定制御、ブロックが暴発したときの切り分け、観測ログの設計までを実例で整理します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →