Skip to main content
Glama
devskido

Playwright MCP Server

by devskido

playwright_evaluate

Execute JavaScript code directly in a browser console to automate web interactions, scrape content, or test functionality using Playwright's browser automation capabilities.

Instructions

Execute JavaScript in the browser console

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
scriptYesJavaScript code to execute

Implementation Reference

  • The EvaluateTool class implements the core logic for the playwright_evaluate tool. It executes JavaScript using page.evaluate() on the browser page and formats the result for display.
    export class EvaluateTool extends BrowserToolBase { /** * Execute the evaluate tool */ async execute(args: any, context: ToolContext): Promise<ToolResponse> { return this.safeExecute(context, async (page) => { const result = await page.evaluate(args.script); // Convert result to string for display let resultStr: string; try { resultStr = JSON.stringify(result, null, 2); } catch (error) { resultStr = String(result); } return createSuccessResponse([ `Executed JavaScript:`, `${args.script}`, `Result:`, `${resultStr}` ]); }); }
  • Defines the tool name, description, and input schema (requiring a 'script' string) for registration in the MCP tools list.
    { name: "playwright_evaluate", description: "Execute JavaScript in the browser console", inputSchema: { type: "object", properties: { script: { type: "string", description: "JavaScript code to execute" }, }, required: ["script"], },
  • Switch case in the main tool handler that dispatches calls to the EvaluateTool instance.
    case "playwright_evaluate": return await evaluateTool.execute(args, context);
  • Instantiation of the EvaluateTool class instance used for handling tool calls.
    if (!evaluateTool) evaluateTool = new EvaluateTool(server);
  • src/tools.ts:460-460 (registration)
    Inclusion in BROWSER_TOOLS array for conditional browser launch logic.
    "playwright_evaluate",

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/devskido/customed-playwright'

If you have feedback or need assistance with the MCP directory API, please join our Discord server