> Discover all available pages from the documentation index: https://mastra.zisheng.pro/ko/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(); ``` :::tip\[코드모드] 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(); ``` :::tip\[코드모드] 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(); ``` :::tip\[코드모드] Mastra의 codemod CLI를 사용하여 코드를 자동으로 업데이트할 수 있습니다. ```bash npx @mastra/codemod@latest v1/mcp-get-toolsets . ``` ::: ### MCP Tool 컨텍스트 속성 구성 이제 MCP Tool의 컨텍스트 속성은 `context.mcp` 네임스페이스 아래에 구성됩니다. 이 변경으로 MCP 전용 기능이 더 체계적으로 구성되고 API 표면이 명확해집니다. 마이그레이션하려면 컨텍스트 매개변수에서 직접 접근하는 대신 `context.mcp`를 통해 `elicitation`, `extra` 같은 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 클라이언트 클래스 `@mastra/mcp`에서 `MastraMCPClient` 및 관련된 더 이상 사용되지 않는 API가 제거되었습니다. 이 변경으로 새 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({ ... }); ```