メインコンテンツへ移動

MCP

MCP(Model Context Protocol)の Tool 実行コンテキストが再構成され、非推奨のクライアントクラスが削除されました。

変更
変更への直接リンク

getMCPServers から listMCPServers
getmcpservers-to-listmcpserversへの直接リンク

mastra.getMCPServers() メソッドは mastra.listMCPServers() に改名されました。この変更は、複数の値を取得する getter メソッドに list プレフィックスを使用する API 全体の命名規則に合わせたものです。

移行するには、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() に改名されました。この変更は、複数の値を取得する getter メソッドに list プレフィックスを使用する API 全体の命名規則に合わせたものです。

移行するには、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() に改名されました。この変更は、複数の値を取得する getter メソッドに list プレフィックスを使用する API 全体の命名規則に合わせたものです。

移行するには、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 サーフェスがより明確になります。

移行するには、elicitationextra などの MCP 固有プロパティへコンテキストパラメーターから直接アクセスするのではなく、context.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 クライアントクラスへの直接リンク

MastraMCPClient と関連する非推奨 API が @mastra/mcp から削除されました。この変更により、新しい 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({ ... });