> Discover all available pages from the documentation index: https://mastra.zisheng.pro/zh-TW/llms.txt # MCP MCP(Model Context Protocol)Tool 的執行內容已重新組織,並移除已棄用的使用者端類別。 ## 已變更 ### `getMCPServers` 改為 `listMCPServers` `mastra.getMCPServers()` 方法已重新命名為 `mastra.listMCPServers()`。這項變更與整個 API 使用的命名慣例一致:回傳多筆資料的 getter 方法會使用 `list` 前綴。 遷移時,請將所有 `mastra.getMCPServers()` 呼叫替換成 `mastra.listMCPServers()`。 ```diff - const servers = await mastra.getMCPServers(); + const servers = await mastra.listMCPServers(); ``` > **Codemod:** 你可以使用 Mastra 的 codemod CLI 自動更新程式碼: > > ```bash > npx @mastra/codemod@latest v1/mastra-plural-apis . > ``` ### `getTools` 改為 `listTools` `mcp.getTools()` 方法已重新命名為 `mcp.listTools()`。這項變更與整個 API 使用的命名慣例一致:回傳多筆資料的 getter 方法會使用 `list` 前綴。 遷移時,請將所有 `mcp.getTools()` 呼叫替換成 `mcp.listTools()`。 ```diff - const tools = await mcp.getTools(); + const tools = await mcp.listTools(); ``` > **Codemod:** 你可以使用 Mastra 的 codemod CLI 自動更新程式碼: > > ```bash > npx @mastra/codemod@latest v1/mcp-get-tools . > ``` ### `getToolsets` 改為 `listToolsets` `mcp.getToolsets()` 方法已重新命名為 `mcp.listToolsets()`。這項變更與整個 API 使用的命名慣例一致:回傳多筆資料的 getter 方法會使用 `list` 前綴。 遷移時,請將所有 `mcp.getToolsets()` 呼叫替換成 `mcp.listToolsets()`。 ```diff - const toolsets = await mcp.getToolsets(); + const toolsets = await mcp.listToolsets(); ``` > **Codemod:** 你可以使用 Mastra 的 codemod CLI 自動更新程式碼: > > ```bash > npx @mastra/codemod@latest v1/mcp-get-toolsets . > ``` ### MCP Tool 內容屬性的組織方式 MCP Tool 中的內容屬性現在整理在 `context.mcp` 命名空間下。這項變更改善組織方式,並讓 MCP 專屬功能的 API 介面更清楚。 遷移時,請透過 `context.mcp` 存取 `elicitation` 和 `extra` 等 MCP 專屬屬性,而不要直接從內容參數存取。 ```diff createTool({ id: 'account-balance', - execute: async ({ context, elicitation, extra }) => { - await checkAuth(extra.authInfo); - const result = await elicitation.sendRequest({ - message: `Is it ok to fetch account ${context.accountId}?`, - }); - }, + execute: async (inputData, context) => { + await checkAuth(context?.mcp?.extra.authInfo); + const result = await context?.mcp?.elicitation.sendRequest({ + message: `Is it ok to fetch account ${inputData.accountId}?`, + }); + }, }); ``` ## 已移除 ### 已棄用的 MCP 使用者端類別 `@mastra/mcp` 已移除 `MastraMCPClient` 與相關的已棄用 API。這項變更統一採用新的 MCP 使用者端 API。 遷移時,請使用新的 `MCPClient` 類別,而非已棄用的類別。 ```diff - import { MastraMCPClient, MCPConfiguration } from '@mastra/mcp/client'; + import { MCPClient } from '@mastra/mcp/client'; - const client = new MastraMCPClient({ ... }); - const config = new MCPConfiguration({ ... }); + const client = new MCPClient({ ... }); ```