跳至主要內容

Tool 設定

Editor 會將 Tool 選擇儲存為 Agent 版本的一部分。已儲存的設定可以加入已註冊的 Tool、整合 Provider 提供的 Tool,以及 Model Context Protocol (MCP) 使用者端提供的 Tool。

Studio 工作流程與常見用途請參閱 Editor Tool

Tool 來源
「Tool 來源」的直接連結

來源說明
已註冊的 Tool在 Mastra 執行階段 Tool 登錄表中註冊的 Tool
MCP 使用者端已儲存的本機或遠端 MCP 伺服器設定所公開的 Tool
整合 Tool由舊版整合 Provider 設定解析的 Tool
Tool ProviderMastraEditor 上註冊的 Provider(例如 Composio 或 Arcade)解析的 Tool

在程式碼中定義的 Agent 會保留既有 Tool。editor 覆寫設定會控制 Editor 可新增及移除 Tool,或只能變更說明。

覆寫說明
「覆寫說明」的直接連結

每個已選取的 Tool 都可儲存 Agent 專屬說明。此說明會變更模型看到的內容,而不會修改原始 Tool 定義。

在僅限說明模式中,Editor 只會將覆寫套用至程式碼定義的 Agent 中既有的 Tool。對 MCP Tool 而言,Agent 層級的說明優先於 MCP 使用者端儲存的說明。

如果兩個來源解析出相同的 Tool ID,後面的來源會取代前面的完整 Tool,包括其說明。請參閱解析順序

條件式 Tool 集合
「條件式 Tool 集合」的直接連結

Editor 可為 toolsmcpClientsintegrationToolstoolProviders 欄位儲存條件式變體。在執行階段,系統會依據 request context 值,將符合條件的變體進行淺層合併。

規則語言使用與提示詞區塊顯示條件相同的運算子與巢狀行為。

條件會套用至 Tool 欄位變體或 MCP 使用者端參照。目前的 Editor 解析器不會評估已儲存 Tool 項目中個別 Tool 的 rules 值。

已儲存的 MCP 使用者端
「已儲存的 MCP 使用者端」的直接連結

editor.mcp 命名空間可管理可重複使用的 MCP 使用者端設定。CRUD 方法簽章請參閱 mcp 命名空間

@mastra/mcp@mastra/editor 的選用對等相依套件。設定已儲存的 MCP 使用者端之前請先安裝,讓 Editor 能在執行階段載入其 Tool:

npm install @mastra/mcp

傳輸方式
「傳輸方式」的直接連結

傳輸方式已儲存的設定
stdiocommand,可搭配選用的 argsenvtimeout
HTTPurl,可搭配選用的 timeout

已儲存的 HTTP 定義不接受任意標頭。request context 中存在保留的 mastra__authToken 值時,Editor 會將它以 Authorization: Bearer 標頭轉送。

篩選
「篩選」的直接連結

MCP Tool 可在兩個層級設定允許清單:

  1. 伺服器層級:已儲存伺服器的 tools 對應表會限制每個使用該使用者端的 Agent 可用的 Tool。
  2. Agent 層級:Agent 的 MCP 使用者端參照會進一步限制該 Agent 可用的剩餘 Tool。

Agent 層級的 Tool 名稱可以使用有命名空間或不含命名空間的名稱。明確指定空的 tools 對應表會選取所有 Tool。使用目前的解析器時,若 Agent 層級的 MCP 參照省略 tools,則不會選取任何 Tool。

命名空間
「命名空間」的直接連結

MCP Tool 使用 serverName_toolName ID 以避免衝突。docs 伺服器中的 search Tool 會變成 docs_search

解析順序
「解析順序」的直接連結

Editor 會依下列順序合併 Tool 記錄。後面的記錄會取代 ID 相同的前面記錄。

  1. 程式碼定義的 Tool
  2. 已註冊且已儲存的 Tool
  3. MCP Tool
  4. 舊版整合 Tool
  5. V1 Tool Provider 的 Tool

獨立儲存的 Agent 使用相同順序,但不包含程式碼定義的 Tool。靜態程式碼 Agent 的覆寫會在舊版整合 Tool 之後停止。

請盡可能讓不同來源使用唯一的 Tool ID。若發生衝突,系統會取代前面的完整 Tool,而非合併其欄位。