エンタープライズ約2分で読めます7 言語

AI エージェントにコードツールを提案させ、管理者として承認する

エージェントが同じ複数ステップのタスクを繰り返し解いている場合、code_propose_tool を使って再利用可能なコードツールを提案できます。提案は何も実行せず、何の権限も付与しません。管理者が AI Skills でプログラムを確認し、ワンクリックでツールを作成します。ツールは読み取り専用で、呼び出し元の権限で動作します。AnythingMCP での仕組みをステップごとに解説します。

HC執筆: HelpCode チーム更新日 2分で読了 GitHub でオープンソース

クレジットカード不要 · 7日間の試用 · セルフホストの選択肢あり

  • 7日間の無料トライアル
    クレジットカード不要
  • GDPR・SOC 2 レディ
    EU データ保管、監査ログ
  • GitHub でオープンソース
    オープンソース · AGPL-3.0
  • ChatGPT、Claude、Gemini に対応
    MCP 対応クライアントすべて

概要

エージェントが同じ複数ステップのタスクを繰り返し解いている場合、code_propose_tool を使って再利用可能なコードツールを提案できます。提案は何も実行せず、何の権限も付与しません。管理者が AI Skills でプログラムを確認し、ワンクリックでツールを作成します。ツールは読み取り専用で、呼び出し元の権限で動作します。AnythingMCP での仕組みをステップごとに解説します。

TL;DR: 「チャネル別の月次売上」という質問に毎週同じプログラムを書いて答えるエージェントは、毎回書き直さずに済むべきです。ただし、自分で勝手にツールを作成できてもいけません。AnythingMCP のコードモードでは、その中間の動作をします。エージェントは名前、説明、プログラム、保存する価値がある理由を指定して code_propose_tool を呼び出します。これは 提案を記録するだけ で、コードは実行されず、ツールも作成されません。管理者は AI Skills → Suggested で提案を見つけ、プログラムを読み、Create tool をクリックします。新しいツールは 読み取り専用で、各呼び出し元自身の権限で実行されます。それ以上の権限は、別途意図的に編集して付与します。セルフホスト版 AnythingMCP では v0.52.0 から利用でき、AnythingMCP Cloud では近日対応予定です。

自作ツールではなく提案にする理由

エージェントは、タスクが機械的であることを見抜くのが得意です。同じ 3 つの呼び出し、同じ結合、同じ合計といったものです。これを保存済みツールにすれば、次の回答はより速く、低コストで、一貫したものになります。しかしツールはワークスペースに残り続ける恒久的な機能でもあり、その裏にあるプログラムは、信頼できないコンテンツを読んだ可能性のあるモデルが書いたものです。そのため、エージェントは 提案 するだけで、決定 は人が行います。これは、AI クライアントが提案するスキルや会社メモリに AnythingMCP が採用しているものと同じ原則です。エージェントが下書きし、管理者が承認します。

必要なもの

  • コードランナーが設定済みの セルフホスト版 AnythingMCP v0.52.1 以降(こちらのステップ 1 でセットアップ)。
  • MCP サーバーで コードモードを inline に設定。code_execute と code_propose_tool が提供されるのは inline です。tools は保存済みのコードツールのみを提供します。サーバーの設定画面で設定します(Code mode → Saved code tools + inline code、v0.52.1 以降)。詳しくはコードツールのチュートリアルのステップ 2 を参照してください。
  • ユーザーのロールに付与された インラインコード権限。ワークスペース管理者は持っています。
  • v0.52 とともに発表されたとおり、インラインコードと提案は Team と Enterprise に含まれます。

ステップ 1 — エージェントがタスクをインラインで解く

ユーザーが、複数の呼び出しを要する質問をします。たとえば「10 月の売上、ショップと B2B の請求書」です。インラインコードが有効な場合、エージェントはプログラムを書いて code_execute で実行します。読み取り専用で、ユーザー自身の権限により、そのサーバー上でユーザーが利用できるコネクタに対して実行されます。このようなプログラムの例は 売上のレシピ を参照してください。

ステップ 2 — エージェントが保存を提案する

エージェントが保存する価値のあるパターンを見つけると(自発的に、またはユーザーが「これをツールとして保存して」と言った場合)、次の項目を指定して code_propose_tool を呼び出します。

フィールドエージェントが入力する内容
name短いツール名(例: monthly_revenue_by_channel)
descriptionツールの動作と戻り値。管理者と今後の呼び出し元に向けたもの
codeプログラム。code_execute と同じ種類の本体
rationale保存する価値がある理由(例:「今月 4 回質問された。約 20 回のツール呼び出しを置き換える」)
inputSchema任意: ツール独自のパラメータ(例: YYYY-MM 形式の month)

エージェントへの応答はシンプルです。提案はレビュー用に記録され、管理者が承認するまで実行されることも、ツールになることもありません。ユーザーにも同じ内容を伝えられます。

ステップ 3 — 管理者がレビューする

サイドバー(Intelligence の下)の AI Skills を開き、Suggested に切り替えます。提案は Code tool proposal と記されたカードとして表示され、次の内容が含まれます。

  • スコープと、エージェントによる提案であり 読み取り専用で、呼び出し元の権限で実行される ことの注記
  • Why: エージェントの理由
  • Does: 説明
  • Program:文字数付きで、全文を読めます
  • ツールがどのコネクタに作成されるかの注記と、書き込みや作成者の権限は後からコネクタのツールページでのみ追加できるという注記
anythingmcp.internal/knowledge-graph
AI Skills page, tab All with one suggested item revenue_by_month marked Code tool proposal: connector Accounting, proposed by an agent, read-only, runs with the caller's permissions; Why and Does texts, the expanded Program of 419 characters, the note that creating it adds a read-only code tool on Accounting, and the buttons Create tool and Dismiss
デモワークスペースでのコードツール提案:エージェントの理由、ツールの動作、プログラム全文と、Create tool および Dismiss ボタン。

小さなプルリクエストをレビューするつもりでプログラムを読みましょう。

  1. どのツールを呼び出しているか? すべての amcp.run('…') を確認します。説明で約束しているものと一致し、すべて読み取りでしょうか。
  2. 何を返すか? 質問に必要なものだけでしょうか。それとも個人データを含むレコード全体でしょうか。
  3. ループは適切か? 終了するページング、並列呼び出しのバッチ、必要もなく大きなテーブルの行ごとに呼び出していないか。実行は 10 秒または 500 回のツール呼び出しで停止します。
  4. 名前と説明は明確か? AI が適切なタイミングで呼び出し、結果を正しく説明できる(税込か税抜か、どの期間か、どのシステムか)だけの明確さがあるでしょうか。

ステップ 4 — ツールを作成する、または却下する

Create tool は通常のツール作成時のチェックを実行します。コネクタは同じワークスペースに属している必要があり、プランの保存済みコードツール数の上限が適用されます。ツールはカードに記載されたコネクタ上に作成されます。

  • 読み取り専用(データを変更しないツールのみ呼び出せます)
  • invoker として実行(内部の各呼び出しは、呼び出し元自身のロールに対してチェックされます)
  • そのサーバー上の 提案者のコネクタを使用。作成後にツールを開き、Uses を実際に呼び出すコネクタとツールに絞り込んでください。

Dismiss は提案を Dismissed タブに移動します。望まないものをエージェントが提案し続ける場合は、サーバーのインストラクションでその旨を伝えてください。

ステップ 5 — 必要な場合のみ: 権限を意図的に追加する

作成されたツールは、コネクタの MCP Tools ページで、他のコードツールと同様に編集できます。次の 2 つの設定は、提案経由では一切変更できません。

  • Allow write tools:プログラムがデータを変更するツールを呼び出せるようにします。Enterprise が必要です。
  • Run as definer:呼び出し元の権限ではなく、作成者のキュレーションでプログラムを実行します。管理者のみ設定できます。

どちらも保存時に再チェックされます。これが設計の要点です。提案は常に読み取り専用で、常に invoker であり、提案ユーザーがすでに利用できるコネクタに限定されるため、エージェントが自分自身の権限を引き上げることはできません。

安全である理由

  • 提案は何も実行しません。 code_propose_tool はコードを実行せず、何も作成しません。
  • 権限昇格なし。 提案されたツールは提案者自身のコネクタのみを参照でき、読み取り専用の invoker として開始します。
  • 決定するのは人です。 提案をツールにできるのは管理者のみで、手書きのツールと同じチェックを通ります。
  • 実行は隔離され、監査されます。 作成後は、すべての実行が隔離されたコードランナーを通り、内部の各ツール呼び出しとともに記録されます。詳しくは AI エージェントのための安全なコード実行 を参照してください。

FAQ

一般ユーザーもツールを提案できますか? ロールにインラインコード権限があり、コードモードが inline のサーバー上であれば、どのユーザーでも提案できます。権限がない場合、そのユーザーには code_execute も code_propose_tool も表示されません。

エージェントは提案が承認されたかどうかを確認できますか? ツールが作成されると、エージェントは他のツールと同様にサーバーのツール一覧で新しいツールを確認でき、以降は呼び出せます。

ツールを作成する前にプログラムを編集できますか? いったん作成してから、コネクタの MCP Tools ページで他のコードツールと同様に、プログラム、説明、パラメータ、Uses を編集できます。

関連記事

このガイドは役に立ちましたか?

60 秒で MCP をあなたのスタックに。

AnythingMCP をマネージドクラウドで起動するか、自社のインフラでセルフホスト。7 日間無料、クレジットカード不要。

関連ガイド

エンタープライズ

AIファイル検索のロール別フォルダ権限: ClaudeとChatGPTで誰がどのフォルダを見られるか

営業・購買・サービスが社内共有に対する1つのAIファイル検索を使い、各ロールには自分のフォルダだけを見せます。AnythingMCP Enterpriseのフォルダ権限の仕組み(許可、拒否、拒否が優先)、ルールの設計方法、Enterpriseなしの代替手段を解説します。

EN
エンタープライズ

ドキュメントとチャットする、RAG、それともファイル検索:社内ファイルサーバーに合うのはどれ?

Claude Projects や ChatGPT へのファイルアップロード、ベクターデータベース上の RAG 構築、ファイルサーバーの全文インデックスを MCP ツールとして AI に渡す方法。この3つのアプローチを、正確なコードや数値、フォルダ構造、鮮度、権限、手間の観点で比較し、それぞれが適しているケースを解説します。

エンタープライズ

PDFとExcelの価格表から品番をAIで検索する(最新の価格表を優先)

ファイルサーバー上の数百のPDF・Excel価格表から、ClaudeやChatGPTに品番を尋ねるだけで、価格の行、仕入先のファイル名、価格表の日付が返ってきます。完全一致検索、列名付きのExcel行、日付の表示によって、AIが最新の価格表を使い続けられる仕組みを解説します。

エンタープライズ

AIで部品番号から技術図面を探す:PDF図面アーカイブを検索する

数千枚のPDF図面を収めたアーカイブから、Claude や ChatGPT に部品番号・図面番号・材質で技術図面を探させ、表題欄を読み取って最新の改訂版を答えさせます。PDF図面で何ができるか、名前だけで見つかるもの(DWG、DXF、STEP)、AnythingMCP File Search でのセットアップ方法を解説します。

エンタープライズ

AIで社内ファイルサーバーを検索する:PDF、Excel、Outlookファイル

ネットワーク共有、NAS、ファイルサーバーを Claude、ChatGPT、Microsoft Copilot、Gemini から検索できるようにします。PDF、Excelシート、Word、Outlook .msg ファイルの全文検索を、常に同期した状態で、ロールごとの権限付きで利用できます。セルフホスト、または AnythingMCP Cloud で利用できます。

エンタープライズ

AIでメールアーカイブを検索する: Outlook の .msg / .eml ファイルと添付ファイル

ファイルサーバーや NAS に保存したメールを Claude や ChatGPT から検索できます。送信者、日付、件名、本文、さらに PDF、Excel、Word 添付ファイルのテキストまで対象です。AnythingMCP File Search が読み取れる形式 (.msg、.eml)、読み取れない形式 (.pst、.mbox)、設定方法を紹介します。