본문으로 건너뛰기

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();

:::tip[코드모드]

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();

:::tip[코드모드]

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();

:::tip[코드모드]

Mastra의 codemod CLI를 사용하여 코드를 자동으로 업데이트할 수 있습니다.

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

:::

MCP Tool 컨텍스트 속성 구성
MCP Tool 컨텍스트 속성 구성에 대한 직접 링크

이제 MCP Tool의 컨텍스트 속성은 context.mcp 네임스페이스 아래에 구성됩니다. 이 변경으로 MCP 전용 기능이 더 체계적으로 구성되고 API 표면이 명확해집니다. 마이그레이션하려면 컨텍스트 매개변수에서 직접 접근하는 대신 context.mcp를 통해 elicitation, extra 같은 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({ ... });