跳至主要內容

MCP

MCP(Model Context Protocol)Tool 的執行內容已重新組織,並移除已棄用的使用者端類別。

已變更
「已變更」的直接連結

getMCPServers 改為 listMCPServers
「getmcpservers-to-listmcpservers」的直接連結

mastra.getMCPServers() 方法已重新命名為 mastra.listMCPServers()。這項變更與整個 API 使用的命名慣例一致:回傳多筆資料的 getter 方法會使用 list 前綴。

遷移時,請將所有 mastra.getMCPServers() 呼叫替換成 mastra.listMCPServers()

- const servers = await mastra.getMCPServers();
+ const servers = await mastra.listMCPServers();
Codemod

你可以使用 Mastra 的 codemod CLI 自動更新程式碼:

npx @mastra/codemod@latest v1/mastra-plural-apis .

getTools 改為 listTools
「gettools-to-listtools」的直接連結

mcp.getTools() 方法已重新命名為 mcp.listTools()。這項變更與整個 API 使用的命名慣例一致:回傳多筆資料的 getter 方法會使用 list 前綴。

遷移時,請將所有 mcp.getTools() 呼叫替換成 mcp.listTools()

- const tools = await mcp.getTools();
+ const tools = await mcp.listTools();
Codemod

你可以使用 Mastra 的 codemod CLI 自動更新程式碼:

npx @mastra/codemod@latest v1/mcp-get-tools .

getToolsets 改為 listToolsets
「gettoolsets-to-listtoolsets」的直接連結

mcp.getToolsets() 方法已重新命名為 mcp.listToolsets()。這項變更與整個 API 使用的命名慣例一致:回傳多筆資料的 getter 方法會使用 list 前綴。

遷移時,請將所有 mcp.getToolsets() 呼叫替換成 mcp.listToolsets()

- const toolsets = await mcp.getToolsets();
+ const toolsets = await mcp.listToolsets();
Codemod

你可以使用 Mastra 的 codemod CLI 自動更新程式碼:

npx @mastra/codemod@latest v1/mcp-get-toolsets .

MCP Tool 內容屬性的組織方式
「MCP Tool 內容屬性的組織方式」的直接連結

MCP Tool 中的內容屬性現在整理在 context.mcp 命名空間下。這項變更改善組織方式,並讓 MCP 專屬功能的 API 介面更清楚。

遷移時,請透過 context.mcp 存取 elicitationextra 等 MCP 專屬屬性,而不要直接從內容參數存取。

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({ ... });