import { Mastra } from "@mastra/core/mastra";
import { z } from 'zod';
import { createStep, createWorkflow } from '@mastra/core/workflows';
import { MCPClient } from '@mastra/mcp';
import { Step, Tool } from '@mastra/core';
export const mcpPlaywright = new MCPClient({
id: "mcp",
servers: {
playwright: {
"command": "pnpm",
"args": ["dlx","@playwright/mcp@latest"]
}
}
})
export const tools: Record<string, Tool> = await mcpPlaywright.getTools();
export const navigateStep: Step = createStep(tools["playwright_browser_navigate"] as any);
export const workflow = createWorkflow({
id: "browser-search-workflow",
inputSchema: z.object({
url: z.string()
}),
outputSchema: z.object({}),
})
.then(navigateStep as any)
.commit();
export const mastra = new Mastra({
workflows: { workflow },
})
import { Mastra } from "@mastra/core/mastra";
import { z } from 'zod';
import { createStep, createWorkflow } from '@mastra/core/workflows';
import { MCPClient } from '@mastra/mcp';
import { Step, Tool } from '@mastra/core';
export const mcpPlaywright = new MCPClient({
id: "mcp",
servers: {
playwright: {
"command": "pnpm",
"args": ["dlx","@playwright/mcp@latest"]
}
}
})
export const tools: Record<string, Tool> = await mcpPlaywright.getTools();
export const navigateStep: Step = createStep(tools["playwright_browser_navigate"] as any);
export const workflow = createWorkflow({
id: "browser-search-workflow",
inputSchema: z.object({
url: z.string()
}),
outputSchema: z.object({}),
})
.then(navigateStep as any)
.commit();
export const mastra = new Mastra({
workflows: { workflow },
})