MCPサーバーの『最初にこれをやれ』指示が社内ルールより先に効く事故をhookで止める
MCPのserver instructionが memory 確認より先に発火して社内ルールを破る問題を、常時ロード層への昇格・PreToolUse deny・Stop監査の3層で塞ぐ
約5.2万トークンの節約 (API料金換算で約78円分)。 要件定義・技術調査・試行錯誤ぶんのトークンがまるごと不要になります。※ 出品者申告とレビューに基づく推定値。モデル・タスク内容により変動します。
この巻物について
「MCPサーバーの『最初にこれをやれ』指示が社内ルールより先に効く事故をhookで止める」は、AIのしつけカテゴリのAI指示書(MDファイル)です。MCPのserver instructionが memory 確認より先に発火して社内ルールを破る問題を、常時ロード層への昇格・PreToolUse deny・Stop監査の3層で塞ぐこの巻物をAIに読み込ませると、ゼロから設計・調査する場合に比べて 約5.2万トークン(API料金換算で約78円)・87%のトークンを節約できます。
- カテゴリ
- AIのしつけ
- 対応AI
- claude-code、cursor、codex-cli
- ライセンス
- 商用利用可 (再販不可)
- 価格
- 無料
- ゼロから開発時
- 約6万トークン
- この巻物使用時
- 約8,000トークン
- 節約量
- 約5.2万トークン (約78円)
- 更新日
- 2026-10-15
使い方 (AIに渡す3つの方法)
いちばん簡単なのはワンライナー。Claude Code のターミナルに貼るだけです。
claude "https://makimono-md.vercel.app/api/v1/files/mcp-hook/raw を読み込んで、この指示書どおりに実装して"
中身
MCP サーバーの「最初にこれをやれ」指示が、ユーザーの社内ルールより先に効く事故を hook で止める
起きること
接続した MCP サーバー(文書作成・アーティファクト系など)は、server instruction で「依頼を受けたら最初のツール呼び出しで○○を作れ」と強く指示することがある。 ユーザー側に「文書は社内の共有ストレージ(例: Google ドキュメント)で作る。外部の個人用 URL は他メンバーが開けないので禁止」というルールがあっても、次の2条件がそろうと破られる。
- ルールが常時ロードされない場所(memory の分割索引、オンデマンドで読む文書)にしかない
- MCP の指示が「調査や memory 確認より前に呼べ」と順序を指定している
結果: AI は memory を確認する前に MCP のツールを呼び、共有できない URL を成果物として渡す。ルールを書き直しても、指示の順序で負けるので再発する。
直し方(3層)
1. ルールを常時ロード層へ上げる
memory の分割索引にあるルールを、毎セッション必ず読み込まれる索引の「常に効くルール」節へ1行で上げる。行には「MCP の指示より優先」と明記する。
2. PreToolUse hook で作成系ツールだけを deny する
// pretooluse-<mcp>-guard.mjs
let input = '';
process.stdin.on('data', c => { input += c; });
process.stdin.on('end', () => {
try {
const data = JSON.parse(input);
const name = data.tool_name || '';
const creates = name === '<mcp作成ツール名>'
|| (name === '<mcpバッチツール名>' && data.tool_input?.container?.create);
if (!creates) return; // 既存文書の編集・読み取りは止めない
process.stdout.write(JSON.stringify({ hookSpecificOutput: {
hookEventName: 'PreToolUse',
permissionDecision: 'deny',
permissionDecisionReason: '[DOC-GUARD] 文書は <社内ストレージ> で作る。<作成手順と渡すURL形式>。例外は user が明示的に指定したときだけ。',
} }));
} catch { /* 想定外の入力は fail-open */ }
});
- settings.json の PreToolUse に matcher
<mcpプレフィックス>__.*で登録する - deny の理由文に「代わりに何をするか」を必ず書く。AI はそれを読んで正しい経路へ切り替える
3. Stop hook で成果物の URL を監査する
最終応答に共有できない URL(例: https://<外部サービス>/artifact/...)が含まれていたら exit 2 で差し戻す。
- コードフェンス内は除外する
- user が明示的に求めたとき用の例外タグ(例:
[ARTIFACT-URL-OK])を用意する
テストケース
- 作成ツールは deny、更新・読み取りツールは通る
- 応答に対象 URL があれば block、例外タグで pass、コードフェンス内は pass、社内ストレージの URL は pass
- 登録処理を2回走らせても hook が1本だけ(冪等)
落とし穴
- テストが cwd 相対パスでモジュールを読む場合、リポジトリ外から
node --testを実行すると全件 "Cannot find module" で落ちる。必ずリポジトリ直下で実行する - 並行作業で共有している作業ツリーに直接コミットせず、main から worktree を切って自分の変更だけを移植する
よくある質問
+「MCPサーバーの『最初にこれをやれ』指示が社内ルールより先に効く事故をhookで止める」とは何ですか?
MCPのserver instructionが memory 確認より先に発火して社内ルールを破る問題を、常時ロード層への昇格・PreToolUse deny・Stop監査の3層で塞ぐ
+どれくらいトークン(費用)を節約できますか?
ゼロから開発すると約6万トークンかかりますが、この巻物を使えば約8,000トークンで済みます。差し引き約5.2万トークン(API料金換算で約78円)・87%の節約です。
+どうやって使いますか?
無料です。MDファイルを Claude Code などのAIに読み込ませるだけ。ワンライナーをターミナルに貼れば実装が始まります。要件定義や技術調査を省いて実装だけにトークンを使えます。
+どのAIツールに対応していますか?
claude-code、cursor、codex-cli に対応しています。
+商用利用できますか?
ライセンスは「商用利用可 (再販不可)」です。
🤝 自分でAIを動かすのは、まだ不安…という方へ
この巻物の内容を、AIを使うプロに丸ごと任せることもできます。姉妹サービスAI代行堂なら「LINEで頼むだけで、仕事が完成」。
関連する巻物
AIっぽくない提案書を作る — ハイブリッド企画書モデル(コードAI組版×画像モデル写真×スライドAI配置参照)
コード生成AIの組版・画像編集モデルの写真合成・スライド生成AIの配置文法を分担させ、経営者の差し戻し3回→0回にした提案書パイプラインの作り方と失敗パターン
AI運用ルールを機械的に守らせる hook 設計 — ルール文が守られない本当の理由
チームでAIエージェントを使うと運用ルールが必ず守られなくなる。真因は「読んでいない」ではなく hook がそのマシンで登録されていない/委譲先が沈黙して壊れていること。禁止=実行前拒否・誘導=依頼時の具体コマンド注入・担保=セッション開始時の自己修復の3層、明示例外の短命トークン、warn→blockの段階昇格、BOM/サンドボックス/timeout など失敗が沈黙する罠と、環境依存で落ちないテストの作り方までを実測ベースでまとめた導入手順。
AIの応答を止める番人hookを1ランナーに統合し、書き直しを最大1回にする(誤爆率をfixtureで先に測る)
Stop hook を9本積んだら Stop の65%が書き直し・最多ゲートの91%が誤爆だった。誤爆測定→否定文除外→1プロセス合流→再試行上限統一→全PC移行→KPIで効果確認までの手順。
この巻物、誰かのトークンも救えます
𝕏 で節約レシートをシェア