> Discover all available pages from the documentation index: https://mastra.zisheng.pro/ja/llms.txt # MCP MCP(Model Context Protocol)の Tool 実行コンテキストが再構成され、非推奨のクライアントクラスが削除されました。 ## 変更 ### `getMCPServers` から `listMCPServers` へ `mastra.getMCPServers()` メソッドは `mastra.listMCPServers()` に改名されました。この変更は、複数の値を取得する getter メソッドに `list` プレフィックスを使用する API 全体の命名規則に合わせたものです。 移行するには、`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()` に改名されました。この変更は、複数の値を取得する getter メソッドに `list` プレフィックスを使用する API 全体の命名規則に合わせたものです。 移行するには、`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()` に改名されました。この変更は、複数の値を取得する getter メソッドに `list` プレフィックスを使用する API 全体の命名規則に合わせたものです。 移行するには、`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 サーフェスがより明確になります。 移行するには、`elicitation` や `extra` などの MCP 固有プロパティへコンテキストパラメーターから直接アクセスするのではなく、`context.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 クライアントクラス `MastraMCPClient` と関連する非推奨 API が `@mastra/mcp` から削除されました。この変更により、新しい 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({ ... }); ```