Tool 配置
Editor 會將 Tool 選擇儲存為 Agent 版本的一部分。已儲存的配置可加入已註冊 Tool、來自整合 Provider 的 Tool,以及來自 Model Context Protocol(MCP)client 的 Tool。
有關 Studio 工作流程及常見用途,請參閱 Editor Tools。
Tool 來源Tool 來源 的直接連結
| 來源 | 描述 |
|---|---|
| 已註冊 Tool | 在 Mastra 執行階段 Tool registry 中註冊的 Tool |
| MCP client | 由已儲存的本機或遠端 MCP 伺服器配置提供的 Tool |
| 整合 Tool | 透過舊版整合 Provider 配置解析的 Tool |
| Tool Provider | 由已在 MastraEditor 註冊的 Provider(例如 Composio 或 Arcade)解析的 Tool |
以代碼定義的 Agent 會保留現有 Tool。editor 覆寫設定控制 Editor 可加入及移除 Tool,還是只能更改描述。
覆寫描述覆寫描述 的直接連結
每個已選 Tool 都可儲存 Agent 專屬描述。這項描述會更改模型看到的內容,而不會修改原有 Tool 定義。
在僅限描述模式下,Editor 只會對以代碼定義的 Agent 已有的 Tool 套用覆寫。對於 MCP Tool,Agent 層級的描述優先於 MCP client 儲存的描述。
如果兩個來源解析出相同的 Tool ID,較後的來源會取代整個較早的 Tool,包括其描述。請參閱解析次序。
條件式 Tool 集合條件式 Tool 集合 的直接連結
Editor 可為 tools、mcpClients、integrationTools 及 toolProviders 欄位儲存條件式變體。執行階段會根據 request context 值,對相符的變體進行淺層合併。
規則語言使用與 prompt block 顯示條件相同的運算子及巢狀行為。
條件會套用至 Tool 欄位變體或 MCP client 引用。目前的 Editor resolver 不會評估已儲存 Tool 項目中每個 Tool 的 rules 值。
已儲存的 MCP client已儲存的 MCP client 的直接連結
editor.mcp namespace 管理可重用的 MCP client 配置。CRUD 方法簽名請參閱 mcp namespace。
@mastra/mcp 是 @mastra/editor 的選用 peer dependency。配置已儲存的 MCP client 前,請先安裝它,讓 Editor 可在執行階段載入其 Tool:
- npm
- pnpm
- Yarn
- Bun
npm install @mastra/mcp
pnpm add @mastra/mcp
yarn add @mastra/mcp
bun add @mastra/mcp
傳輸方式傳輸方式 的直接連結
| 傳輸方式 | 已儲存配置 |
|---|---|
stdio | command,以及選用的 args、env 和 timeout |
| HTTP | url,以及選用的 timeout |
已儲存的 HTTP 定義不接受任意 header。當 request context 中有保留值 mastra__authToken 時,Editor 會將它作為 Authorization: Bearer header 轉發。
篩選篩選 的直接連結
MCP Tool 可在兩個層級設定允許清單:
- 伺服器層級:已儲存伺服器的
toolsmap 會限制每個使用此 client 的 Agent 可用的 Tool。 - Agent 層級:Agent 的 MCP client 引用會進一步限制該 Agent 可用的 Tool。
Agent 層級 Tool 名稱可使用帶 namespace 或不帶 namespace 的名稱。明確的空 tools map 會選取所有 Tool。使用目前的 resolver 時,如果 Agent 層級 MCP 引用省略 tools,則不會選取任何 Tool。
NamespaceNamespace 的直接連結
MCP Tool 使用 serverName_toolName ID 以避免衝突。docs 伺服器的 search Tool 會變成 docs_search。
解析次序解析次序 的直接連結
Editor 按以下次序合併 Tool 記錄。較後的記錄會取代 ID 相同的較早記錄。
- 以代碼定義的 Tool
- 已註冊的已儲存 Tool
- MCP Tool
- 舊版整合 Tool
- V1 Tool Provider Tool
獨立的已儲存 Agent 使用相同次序,但不包括以代碼定義的 Tool。靜態代碼 Agent 覆寫會在舊版整合 Tool 後停止。
可行情況下,請在不同來源使用不同 Tool ID。發生衝突時,整個較早的 Tool 會被取代,而非合併其欄位。