MCP
MCP(Model Context Protocol)Tool 執行內容已重新整理,而已棄用的用戶端類別亦已移除。
已變更已變更 的直接連結
getMCPServers 改為 listMCPServersgetmcpservers-to-listmcpservers 的直接連結
mastra.getMCPServers() 方法已重新命名為 mastra.listMCPServers()。這項變更配合整個 API 的命名慣例:傳回多個項目的 getter 方法使用 list 前綴。
如要遷移,請將所有 mastra.getMCPServers() 呼叫取代為 mastra.listMCPServers()。
- const servers = await mastra.getMCPServers();
+ const servers = await mastra.listMCPServers();
你可以使用 Mastra 的 codemod CLI 自動更新程式碼:
npx @mastra/codemod@latest v1/mastra-plural-apis .
getTools 改為 listToolsgettools-to-listtools 的直接連結
mcp.getTools() 方法已重新命名為 mcp.listTools()。這項變更配合整個 API 的命名慣例:傳回多個項目的 getter 方法使用 list 前綴。
如要遷移,請將所有 mcp.getTools() 呼叫取代為 mcp.listTools()。
- const tools = await mcp.getTools();
+ const tools = await mcp.listTools();
你可以使用 Mastra 的 codemod CLI 自動更新程式碼:
npx @mastra/codemod@latest v1/mcp-get-tools .
getToolsets 改為 listToolsetsgettoolsets-to-listtoolsets 的直接連結
mcp.getToolsets() 方法已重新命名為 mcp.listToolsets()。這項變更配合整個 API 的命名慣例:傳回多個項目的 getter 方法使用 list 前綴。
如要遷移,請將所有 mcp.getToolsets() 呼叫取代為 mcp.listToolsets()。
- const toolsets = await mcp.getToolsets();
+ const toolsets = await mcp.listToolsets();
你可以使用 Mastra 的 codemod CLI 自動更新程式碼:
npx @mastra/codemod@latest v1/mcp-get-toolsets .
MCP Tool 內容屬性的組織方式MCP Tool 內容屬性的組織方式 的直接連結
MCP Tool 的內容屬性現在整理至 context.mcp 命名空間下。這項變更令 MCP 特定功能的組織更妥善,API 介面亦更清晰。
如要遷移,請透過 context.mcp 存取 elicitation 和 extra 等 MCP 特定屬性,而非直接從 context 參數存取。
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 用戶端類別已棄用的 MCP 用戶端類別 的直接連結
@mastra/mcp 已移除 MastraMCPClient 及相關的已棄用 API。這項變更統一採用新的 MCP 用戶端 API。
如要遷移,請使用新的 MCPClient 類別,而非已棄用的類別。
- 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({ ... });