From c99565f7eec76b2a46ae769addbe99c404974fbd Mon Sep 17 00:00:00 2001 From: lukasvdberk Date: Mon, 23 Jun 2025 20:47:16 +0200 Subject: [PATCH 1/4] returned base64 image instead of text --- browser-tools-mcp/mcp-server.ts | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/browser-tools-mcp/mcp-server.ts b/browser-tools-mcp/mcp-server.ts index a7a1272..8469e82 100644 --- a/browser-tools-mcp/mcp-server.ts +++ b/browser-tools-mcp/mcp-server.ts @@ -1,9 +1,10 @@ #!/usr/bin/env node -import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; +import { McpServer, ToolCallback } from "@modelcontextprotocol/sdk/server/mcp.js"; import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; import path from "path"; import fs from "fs"; +import { CallToolResult } from "@modelcontextprotocol/sdk/types.js"; // Create the MCP server const server = new McpServer({ @@ -251,7 +252,7 @@ server.tool("getNetworkLogs", "Check ALL our network logs", async () => { server.tool( "takeScreenshot", "Take a screenshot of the current browser tab", - async () => { + async (): Promise => { return await withServerConnection(async () => { try { const response = await fetch( @@ -262,13 +263,17 @@ server.tool( ); const result = await response.json(); - + console.log(result) if (response.ok) { + // base 64 encoded representation of screenshot + const screenshotBase64 = fs.readFileSync(result.path, 'base64'); + return { content: [ { - type: "text", - text: "Successfully saved screenshot", + type: "image", + data: screenshotBase64, + mimeType: "image/png", }, ], }; From 4fc9d0c25a27f43eaaa3a23d7de7c397601a38a0 Mon Sep 17 00:00:00 2001 From: lukasvdberk Date: Mon, 23 Jun 2025 20:51:17 +0200 Subject: [PATCH 2/4] also added previous text response and cleaned up some code --- browser-tools-mcp/mcp-server.ts | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/browser-tools-mcp/mcp-server.ts b/browser-tools-mcp/mcp-server.ts index 8469e82..70f152b 100644 --- a/browser-tools-mcp/mcp-server.ts +++ b/browser-tools-mcp/mcp-server.ts @@ -252,7 +252,7 @@ server.tool("getNetworkLogs", "Check ALL our network logs", async () => { server.tool( "takeScreenshot", "Take a screenshot of the current browser tab", - async (): Promise => { + async () => { return await withServerConnection(async () => { try { const response = await fetch( @@ -263,19 +263,20 @@ server.tool( ); const result = await response.json(); - console.log(result) if (response.ok) { - // base 64 encoded representation of screenshot - const screenshotBase64 = fs.readFileSync(result.path, 'base64'); - return { content: [ + { + type: "text", + text: "Successfully saved screenshot", + }, { type: "image", - data: screenshotBase64, + // base 64 encoded representation of screenshot + data: fs.readFileSync(result.path, 'base64'), mimeType: "image/png", }, - ], + ] }; } else { return { From 7c351a962802972d6dade126758b9e34a2ba5efe Mon Sep 17 00:00:00 2001 From: lukasvdberk Date: Mon, 23 Jun 2025 20:59:52 +0200 Subject: [PATCH 3/4] removed unused imports --- browser-tools-mcp/mcp-server.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/browser-tools-mcp/mcp-server.ts b/browser-tools-mcp/mcp-server.ts index 70f152b..72ec257 100644 --- a/browser-tools-mcp/mcp-server.ts +++ b/browser-tools-mcp/mcp-server.ts @@ -1,10 +1,9 @@ #!/usr/bin/env node -import { McpServer, ToolCallback } from "@modelcontextprotocol/sdk/server/mcp.js"; +import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; import path from "path"; import fs from "fs"; -import { CallToolResult } from "@modelcontextprotocol/sdk/types.js"; // Create the MCP server const server = new McpServer({ From b6a9f191c6f7b08d94f4576f6bf5604927665553 Mon Sep 17 00:00:00 2001 From: lukasvdberk Date: Mon, 23 Jun 2025 21:10:06 +0200 Subject: [PATCH 4/4] used async method --- browser-tools-mcp/mcp-server.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/browser-tools-mcp/mcp-server.ts b/browser-tools-mcp/mcp-server.ts index 72ec257..8d3eb1c 100644 --- a/browser-tools-mcp/mcp-server.ts +++ b/browser-tools-mcp/mcp-server.ts @@ -272,7 +272,7 @@ server.tool( { type: "image", // base 64 encoded representation of screenshot - data: fs.readFileSync(result.path, 'base64'), + data: await fs.promises.readFile(result.path, 'base64'), mimeType: "image/png", }, ]