跳到主要内容

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