fastbrowser_cli 1.0.20 → 1.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -149,6 +149,50 @@ class MainHelper {
149
149
  });
150
150
  ///////////////////////////////////////////////////////////////////////////////
151
151
  ///////////////////////////////////////////////////////////////////////////////
152
+ // new_page
153
+ ///////////////////////////////////////////////////////////////////////////////
154
+ ///////////////////////////////////////////////////////////////////////////////
155
+ mcpServer.registerTool(McpTargetHelper.EXTERNAL_TOOL_NAME.newPage, {
156
+ description: "Open a new browser page/tab at the given URL",
157
+ inputSchema: z.object({
158
+ url: z.string().describe("The URL to open in the new page"),
159
+ }),
160
+ }, async ({ url }) => {
161
+ // NOTE: when running on playwright MCP, we use the navigate_page tool instead of new_page, because
162
+ // playwright MCP's new_page tool open a new tab but not in the tag-group... so we cant controls it
163
+ // it is happening even when using playwright mcp directly
164
+ //
165
+ // const toolConfig = await McpTargetHelper.targetToolNewPage(mcpTarget, url);
166
+ // const callToolResult = await mcpClient.callTool(toolConfig.toolName, toolConfig.toolArgs);
167
+ // let outputStr = await ResponseFormatter.formatNewPage(mcpTarget, callToolResult, url);
168
+ // so working around this by calling the navigate_page tool instead of new_page when the target is playwright
169
+ const toolConfig = await McpTargetHelper.targetToolNavigatePage(mcpTarget, url);
170
+ const callToolResult = await mcpClient.callTool(toolConfig.toolName, toolConfig.toolArgs);
171
+ let outputStr = await ResponseFormatter.formatNavigatePage(mcpTarget, callToolResult);
172
+ return {
173
+ content: [{ type: "text", text: outputStr }],
174
+ };
175
+ });
176
+ ///////////////////////////////////////////////////////////////////////////////
177
+ ///////////////////////////////////////////////////////////////////////////////
178
+ // close_page
179
+ ///////////////////////////////////////////////////////////////////////////////
180
+ ///////////////////////////////////////////////////////////////////////////////
181
+ mcpServer.registerTool(McpTargetHelper.EXTERNAL_TOOL_NAME.closePage, {
182
+ description: "Close a browser page/tab by its id (as listed by list_pages)",
183
+ inputSchema: z.object({
184
+ pageId: z.number().describe("The id of the page to close"),
185
+ }),
186
+ }, async ({ pageId }) => {
187
+ const toolConfig = await McpTargetHelper.targetToolClosePage(mcpTarget, pageId);
188
+ const callToolResult = await mcpClient.callTool(toolConfig.toolName, toolConfig.toolArgs);
189
+ let outputStr = await ResponseFormatter.formatClosePage(mcpTarget, callToolResult, pageId);
190
+ return {
191
+ content: [{ type: "text", text: outputStr }],
192
+ };
193
+ });
194
+ ///////////////////////////////////////////////////////////////////////////////
195
+ ///////////////////////////////////////////////////////////////////////////////
152
196
  // navigate_page
153
197
  ///////////////////////////////////////////////////////////////////////////////
154
198
  ///////////////////////////////////////////////////////////////////////////////
@@ -1 +1 @@
1
- {"version":3,"file":"fastbrowser_mcp.js","sourceRoot":"","sources":["../../src/fastbrowser_mcp/fastbrowser_mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fastbrowser_mcp.js","sourceRoot":"","sources":["../../src/fastbrowser_mcp/fastbrowser_mcp.ts"],"names":[],"mappings":"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"}
@@ -8,8 +8,8 @@ export declare class McpTargetHelper {
8
8
  listPages: string;
9
9
  newPage: string;
10
10
  closePage: string;
11
- takeSnapshot: string;
12
11
  navigatePage: string;
12
+ takeSnapshot: string;
13
13
  querySelectorsAll: string;
14
14
  querySelectors: string;
15
15
  pressKeys: string;
@@ -23,6 +23,8 @@ export declare class McpTargetHelper {
23
23
  };
24
24
  static toolsToProxy(mcpTarget: FastBrowserMcpTarget): Promise<string[]>;
25
25
  static targetToolListPages(mcpTarget: FastBrowserMcpTarget): Promise<TargetToolConfig>;
26
+ static targetToolNewPage(mcpTarget: FastBrowserMcpTarget, url: string): Promise<TargetToolConfig>;
27
+ static targetToolClosePage(mcpTarget: FastBrowserMcpTarget, pageId: number): Promise<TargetToolConfig>;
26
28
  static targetToolNavigatePage(mcpTarget: FastBrowserMcpTarget, url: string): Promise<TargetToolConfig>;
27
29
  static targetToolTakeSnapshot(mcpTarget: FastBrowserMcpTarget): Promise<TargetToolConfig>;
28
30
  static targetToolPressKey(mcpTarget: FastBrowserMcpTarget, key: string): Promise<TargetToolConfig>;
@@ -1 +1 @@
1
- {"version":3,"file":"mcp_target_helper.d.ts","sourceRoot":"","sources":["../../../src/fastbrowser_mcp/libs/mcp_target_helper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D,MAAM,MAAM,gBAAgB,GAAG;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,qBAAa,eAAe;IAC3B,MAAM,CAAC,kBAAkB;;;;;;;;;;;;MAYxB;IAQD,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE;WAsBvE,YAAY,CAAC,SAAS,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;WA6BhE,mBAAmB,CAAC,SAAS,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC;WAkB/E,sBAAsB,CAAC,SAAS,EAAE,oBAAoB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;WAkB/F,sBAAsB,CAAC,SAAS,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC;WAUlF,kBAAkB,CAAC,SAAS,EAAE,oBAAoB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;WAkB3F,eAAe,CAAC,SAAS,EAAE,oBAAoB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;WAUxF,kBAAkB,CAAC,SAAS,EAAE,oBAAoB,EAAE,QAAQ,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;CASvI"}
1
+ {"version":3,"file":"mcp_target_helper.d.ts","sourceRoot":"","sources":["../../../src/fastbrowser_mcp/libs/mcp_target_helper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D,MAAM,MAAM,gBAAgB,GAAG;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,qBAAa,eAAe;IAC3B,MAAM,CAAC,kBAAkB;;;;;;;;;;;;MAYxB;IAQD,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE;WAsBvE,YAAY,CAAC,SAAS,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;WA6BhE,mBAAmB,CAAC,SAAS,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC;WAkB/E,iBAAiB,CAAC,SAAS,EAAE,oBAAoB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;WAmB1F,mBAAmB,CAAC,SAAS,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;WAmB/F,sBAAsB,CAAC,SAAS,EAAE,oBAAoB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;WAkB/F,sBAAsB,CAAC,SAAS,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC;WAUlF,kBAAkB,CAAC,SAAS,EAAE,oBAAoB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;WAkB3F,eAAe,CAAC,SAAS,EAAE,oBAAoB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;WAUxF,kBAAkB,CAAC,SAAS,EAAE,oBAAoB,EAAE,QAAQ,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;CASvI"}
@@ -73,6 +73,46 @@ export class McpTargetHelper {
73
73
  throw new Error(`Unsupported MCP target: ${mcpTarget}`);
74
74
  }
75
75
  }
76
+ static async targetToolNewPage(mcpTarget, url) {
77
+ if (mcpTarget === 'chrome_devtools') {
78
+ return {
79
+ toolName: 'new_page', toolArgs: {
80
+ url,
81
+ }
82
+ };
83
+ }
84
+ else if (mcpTarget === 'playwright') {
85
+ return {
86
+ toolName: 'browser_tabs', toolArgs: {
87
+ action: 'new',
88
+ url,
89
+ }
90
+ };
91
+ }
92
+ else {
93
+ throw new Error(`Unsupported MCP target: ${mcpTarget}`);
94
+ }
95
+ }
96
+ static async targetToolClosePage(mcpTarget, pageId) {
97
+ if (mcpTarget === 'chrome_devtools') {
98
+ return {
99
+ toolName: 'close_page', toolArgs: {
100
+ pageId,
101
+ }
102
+ };
103
+ }
104
+ else if (mcpTarget === 'playwright') {
105
+ return {
106
+ toolName: 'browser_tabs', toolArgs: {
107
+ action: 'close',
108
+ index: pageId,
109
+ }
110
+ };
111
+ }
112
+ else {
113
+ throw new Error(`Unsupported MCP target: ${mcpTarget}`);
114
+ }
115
+ }
76
116
  static async targetToolNavigatePage(mcpTarget, url) {
77
117
  if (mcpTarget === 'chrome_devtools') {
78
118
  return {
@@ -149,8 +189,8 @@ McpTargetHelper.EXTERNAL_TOOL_NAME = {
149
189
  listPages: "list_pages",
150
190
  newPage: "new_page",
151
191
  closePage: "close_page",
152
- takeSnapshot: "take_snapshot",
153
192
  navigatePage: "navigate_page",
193
+ takeSnapshot: "take_snapshot",
154
194
  querySelectorsAll: "querySelectorsAll",
155
195
  querySelectors: "querySelectors",
156
196
  pressKeys: "pressKeys",
@@ -1 +1 @@
1
- {"version":3,"file":"mcp_target_helper.js","sourceRoot":"","sources":["../../../src/fastbrowser_mcp/libs/mcp_target_helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp_target_helper.js","sourceRoot":"","sources":["../../../src/fastbrowser_mcp/libs/mcp_target_helper.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ import { FastBrowserMcpTarget } from "../fastbrowser_types.js";
3
3
  export declare class ResponseFormatter {
4
4
  static formatListPages(mcpTarget: FastBrowserMcpTarget, callToolResult: CallToolResult): Promise<string>;
5
5
  static formatNavigatePage(mcpTarget: FastBrowserMcpTarget, callToolResult: CallToolResult): Promise<string>;
6
+ static formatNewPage(mcpTarget: FastBrowserMcpTarget, callToolResult: CallToolResult, url: string): Promise<string>;
7
+ static formatClosePage(mcpTarget: FastBrowserMcpTarget, callToolResult: CallToolResult, pageId: number): Promise<string>;
6
8
  static formatTakeSnapshot(mcpTarget: FastBrowserMcpTarget, callToolResult: CallToolResult): Promise<string>;
7
9
  static formatPressKeys(mcpTarget: FastBrowserMcpTarget, keysToSend: string[]): Promise<string>;
8
10
  static formatClick(mcpTarget: FastBrowserMcpTarget, callToolResult: CallToolResult): Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"response_formatter.d.ts","sourceRoot":"","sources":["../../../src/fastbrowser_mcp/libs/response_formatter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAGjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAG/D,qBAAa,iBAAiB;WAChB,eAAe,CAAC,SAAS,EAAE,oBAAoB,EAAE,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;WA+CjG,kBAAkB,CAAC,SAAS,EAAE,oBAAoB,EAAE,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;WA6CpG,kBAAkB,CAAC,SAAS,EAAE,oBAAoB,EAAE,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;WAqBpG,eAAe,CAAC,SAAS,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;WAKvF,WAAW,CAAC,SAAS,EAAE,oBAAoB,EAAE,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;CAgC1G"}
1
+ {"version":3,"file":"response_formatter.d.ts","sourceRoot":"","sources":["../../../src/fastbrowser_mcp/libs/response_formatter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAGjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAG/D,qBAAa,iBAAiB;WAChB,eAAe,CAAC,SAAS,EAAE,oBAAoB,EAAE,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;WA+CjG,kBAAkB,CAAC,SAAS,EAAE,oBAAoB,EAAE,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;WA6CpG,aAAa,CAAC,SAAS,EAAE,oBAAoB,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;WA2C5G,eAAe,CAAC,SAAS,EAAE,oBAAoB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;WASjH,kBAAkB,CAAC,SAAS,EAAE,oBAAoB,EAAE,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;WAqBpG,eAAe,CAAC,SAAS,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;WAKvF,WAAW,CAAC,SAAS,EAAE,oBAAoB,EAAE,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;CAgC1G"}
@@ -93,6 +93,55 @@ export class ResponseFormatter {
93
93
  throw new Error(`Unsupported MCP target: ${mcpTarget}`);
94
94
  }
95
95
  }
96
+ static async formatNewPage(mcpTarget, callToolResult, url) {
97
+ const resultContent = callToolResult.content[0];
98
+ if (resultContent.type !== "text")
99
+ throw new Error("Unexpected content type");
100
+ const resultText = resultContent.text;
101
+ // Target format example:
102
+ // Successfully opened new page at https://example.com
103
+ if (mcpTarget === 'chrome_devtools') {
104
+ // EXAMPLE:
105
+ // # new_page response
106
+ // Opened new page <id> with URL: https://example.com
107
+ // ## Pages
108
+ // 0: about:blank
109
+ // 1: https://example.com/ [selected]
110
+ // Best-effort: extract URL from the first non-empty line; fall back to the requested URL.
111
+ const lines = resultText.split('\n').map(line => line.trim()).filter(line => line.length > 0);
112
+ const firstLine = lines.length > 0 ? lines[0] : '';
113
+ const urlMatch = firstLine.match(/(https?:\/\/\S+)/);
114
+ const extractedUrl = urlMatch !== null ? urlMatch[1] : url;
115
+ return `Successfully opened new page at ${extractedUrl}`;
116
+ }
117
+ else if (mcpTarget === 'playwright') {
118
+ // EXAMPLE:
119
+ // ### Ran Playwright code
120
+ // ```js
121
+ // await context.newPage();
122
+ // ```
123
+ // ### Page
124
+ // - Page URL: https://example.com/
125
+ // - Page Title: Example Domain
126
+ // ### Snapshot
127
+ // - [Snapshot](.playwright-mcp/page-...yml)
128
+ const lines = resultText.split('\n');
129
+ const pageUrlLine = lines.find(line => line.trim().startsWith('- Page URL:'));
130
+ const pageUrl = pageUrlLine !== undefined ? pageUrlLine.replace('- Page URL:', '').trim() : url;
131
+ return `Successfully opened new page at ${pageUrl}`;
132
+ }
133
+ else {
134
+ throw new Error(`Unsupported MCP target: ${mcpTarget}`);
135
+ }
136
+ }
137
+ static async formatClosePage(mcpTarget, callToolResult, pageId) {
138
+ const resultContent = callToolResult.content[0];
139
+ if (resultContent.type !== "text")
140
+ throw new Error("Unexpected content type");
141
+ // Target format example:
142
+ // Successfully closed page 1
143
+ return `Successfully closed page ${pageId}`;
144
+ }
96
145
  static async formatTakeSnapshot(mcpTarget, callToolResult) {
97
146
  // extract the snapshot text from the tool response, which has different formats for chrome_devtools and playwright MCP targets
98
147
  if (mcpTarget === 'chrome_devtools') {
@@ -1 +1 @@
1
- {"version":3,"file":"response_formatter.js","sourceRoot":"","sources":["../../../src/fastbrowser_mcp/libs/response_formatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"response_formatter.js","sourceRoot":"","sources":["../../../src/fastbrowser_mcp/libs/response_formatter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ # Ai Workflow to Shell Scripts
2
+
3
+ ## Introduction
4
+ This document explains how to use SKILL.md files to create shell scripts from AI-assisted workflows.
5
+
6
+ ### What SKILL.md files are
7
+ - SKILL.md files contain knowledge — that's why they're called *skills*.
8
+ - To interact with the outside world, a skill launches shell commands from the command line.
9
+
10
+ ### The AI-to-script workflow
11
+ - You collaborate with an AI agent that uses a skill, which in turn runs a sequence of shell commands to accomplish a task.
12
+ - Once the workflow is proven, you ask the agent to extract those commands into a standalone shell script — a *recipe* that reproduces the same workflow without an agent in the loop.
13
+
14
+ ### Why this matters
15
+ - **First run (with AI):** expensive and relatively slow, since every step goes through the agent.
16
+ - **Subsequent runs (script only):** faster and cheaper — no AI calls, just the recorded recipe doing the same work.
17
+ - **Reproducibility:** same input produces the same output every time; the run-to-run variance of an agent disappears.
18
+ - **Auditability:** the script is a plain, reviewable artifact — you can read it, diff it, and commit it, instead of trusting opaque agent reasoning.
19
+ - **Automation-friendly:** the recipe drops cleanly into cron, CI/CD, Makefiles, or other scripts — places where keeping an agent in the loop isn't practical.
20
+ - **Offline / air-gapped:** runs with no internet access and no API key, which matters for restricted or disconnected environments.
21
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fastbrowser_cli",
3
- "version": "1.0.20",
3
+ "version": "1.0.21",
4
4
  "description": "",
5
5
  "main": "dist/fastbrowser_cli/fastbrowser_cli.js",
6
6
  "bin": {
@@ -8,9 +8,9 @@
8
8
  "fastbrowser_mcp": "./dist/fastbrowser_mcp/fastbrowser_mcp.js"
9
9
  },
10
10
  "scripts": {
11
- "start:fastbrowser_mcp": "npx tsx ./src/fastbrowser_mcp/fastbrowser_mcp.ts",
12
- "start:httpd": "npx tsx ./src/fastbrowser_httpd/fastbrowser_httpd.ts",
13
- "start:cli": "npx tsx ./src/fastbrowser_cli/fastbrowser_cli.ts",
11
+ "dev:fastbrowser_mcp": "npx tsx ./src/fastbrowser_mcp/fastbrowser_mcp.ts",
12
+ "dev:httpd": "npx tsx ./src/fastbrowser_httpd/fastbrowser_httpd.ts",
13
+ "dev:cli": "npx tsx ./src/fastbrowser_cli/fastbrowser_cli.ts",
14
14
  "inspect:fastbrowser_mcp:chrome_devtools": "npx @modelcontextprotocol/inspector npx tsx ./src/fastbrowser_mcp/fastbrowser_mcp.ts mcp_server --mcp_target chrome_devtools",
15
15
  "inspect:fastbrowser_mcp:playwright": "npx @modelcontextprotocol/inspector npx tsx ./src/fastbrowser_mcp/fastbrowser_mcp.ts mcp_server -v --mcp_target playwright",
16
16
  "inspect:chrome_devtools": "npx @modelcontextprotocol/inspector npx chrome-devtools-mcp@latest --autoconnect",
@@ -200,6 +200,65 @@ class MainHelper {
200
200
  }
201
201
  );
202
202
 
203
+ ///////////////////////////////////////////////////////////////////////////////
204
+ ///////////////////////////////////////////////////////////////////////////////
205
+ // new_page
206
+ ///////////////////////////////////////////////////////////////////////////////
207
+ ///////////////////////////////////////////////////////////////////////////////
208
+
209
+ mcpServer.registerTool(
210
+ McpTargetHelper.EXTERNAL_TOOL_NAME.newPage,
211
+ {
212
+ description: "Open a new browser page/tab at the given URL",
213
+ inputSchema: z.object({
214
+ url: z.string().describe("The URL to open in the new page"),
215
+ }),
216
+ },
217
+ async ({ url }: { url: string }) => {
218
+ // NOTE: when running on playwright MCP, we use the navigate_page tool instead of new_page, because
219
+ // playwright MCP's new_page tool open a new tab but not in the tag-group... so we cant controls it
220
+ // it is happening even when using playwright mcp directly
221
+ //
222
+ // const toolConfig = await McpTargetHelper.targetToolNewPage(mcpTarget, url);
223
+ // const callToolResult = await mcpClient.callTool(toolConfig.toolName, toolConfig.toolArgs);
224
+ // let outputStr = await ResponseFormatter.formatNewPage(mcpTarget, callToolResult, url);
225
+
226
+ // so working around this by calling the navigate_page tool instead of new_page when the target is playwright
227
+ const toolConfig = await McpTargetHelper.targetToolNavigatePage(mcpTarget, url);
228
+ const callToolResult = await mcpClient.callTool(toolConfig.toolName, toolConfig.toolArgs);
229
+ let outputStr = await ResponseFormatter.formatNavigatePage(mcpTarget, callToolResult);
230
+
231
+ return {
232
+ content: [{ type: "text", text: outputStr }],
233
+ };
234
+ }
235
+ );
236
+
237
+ ///////////////////////////////////////////////////////////////////////////////
238
+ ///////////////////////////////////////////////////////////////////////////////
239
+ // close_page
240
+ ///////////////////////////////////////////////////////////////////////////////
241
+ ///////////////////////////////////////////////////////////////////////////////
242
+
243
+ mcpServer.registerTool(
244
+ McpTargetHelper.EXTERNAL_TOOL_NAME.closePage,
245
+ {
246
+ description: "Close a browser page/tab by its id (as listed by list_pages)",
247
+ inputSchema: z.object({
248
+ pageId: z.number().describe("The id of the page to close"),
249
+ }),
250
+ },
251
+ async ({ pageId }: { pageId: number }) => {
252
+ const toolConfig = await McpTargetHelper.targetToolClosePage(mcpTarget, pageId);
253
+ const callToolResult = await mcpClient.callTool(toolConfig.toolName, toolConfig.toolArgs);
254
+ let outputStr = await ResponseFormatter.formatClosePage(mcpTarget, callToolResult, pageId);
255
+
256
+ return {
257
+ content: [{ type: "text", text: outputStr }],
258
+ };
259
+ }
260
+ );
261
+
203
262
  ///////////////////////////////////////////////////////////////////////////////
204
263
  ///////////////////////////////////////////////////////////////////////////////
205
264
  // navigate_page
@@ -11,8 +11,8 @@ export class McpTargetHelper {
11
11
  listPages: "list_pages",
12
12
  newPage: "new_page",
13
13
  closePage: "close_page",
14
- takeSnapshot: "take_snapshot",
15
14
  navigatePage: "navigate_page",
15
+ takeSnapshot: "take_snapshot",
16
16
  querySelectorsAll: "querySelectorsAll",
17
17
  querySelectors: "querySelectors",
18
18
  pressKeys: "pressKeys",
@@ -96,6 +96,44 @@ export class McpTargetHelper {
96
96
  }
97
97
  }
98
98
 
99
+ static async targetToolNewPage(mcpTarget: FastBrowserMcpTarget, url: string): Promise<TargetToolConfig> {
100
+ if (mcpTarget === 'chrome_devtools') {
101
+ return {
102
+ toolName: 'new_page', toolArgs: {
103
+ url,
104
+ }
105
+ };
106
+ } else if (mcpTarget === 'playwright') {
107
+ return {
108
+ toolName: 'browser_tabs', toolArgs: {
109
+ action: 'new',
110
+ url,
111
+ }
112
+ };
113
+ } else {
114
+ throw new Error(`Unsupported MCP target: ${mcpTarget}`);
115
+ }
116
+ }
117
+
118
+ static async targetToolClosePage(mcpTarget: FastBrowserMcpTarget, pageId: number): Promise<TargetToolConfig> {
119
+ if (mcpTarget === 'chrome_devtools') {
120
+ return {
121
+ toolName: 'close_page', toolArgs: {
122
+ pageId,
123
+ }
124
+ };
125
+ } else if (mcpTarget === 'playwright') {
126
+ return {
127
+ toolName: 'browser_tabs', toolArgs: {
128
+ action: 'close',
129
+ index: pageId,
130
+ }
131
+ };
132
+ } else {
133
+ throw new Error(`Unsupported MCP target: ${mcpTarget}`);
134
+ }
135
+ }
136
+
99
137
  static async targetToolNavigatePage(mcpTarget: FastBrowserMcpTarget, url: string): Promise<TargetToolConfig> {
100
138
  if (mcpTarget === 'chrome_devtools') {
101
139
  return {
@@ -101,6 +101,58 @@ export class ResponseFormatter {
101
101
  }
102
102
  }
103
103
 
104
+ static async formatNewPage(mcpTarget: FastBrowserMcpTarget, callToolResult: CallToolResult, url: string): Promise<string> {
105
+ const resultContent = callToolResult.content[0];
106
+ if (resultContent.type !== "text") throw new Error("Unexpected content type");
107
+ const resultText: string = resultContent.text;
108
+
109
+ // Target format example:
110
+ // Successfully opened new page at https://example.com
111
+
112
+ if (mcpTarget === 'chrome_devtools') {
113
+ // EXAMPLE:
114
+ // # new_page response
115
+ // Opened new page <id> with URL: https://example.com
116
+ // ## Pages
117
+ // 0: about:blank
118
+ // 1: https://example.com/ [selected]
119
+
120
+ // Best-effort: extract URL from the first non-empty line; fall back to the requested URL.
121
+ const lines = resultText.split('\n').map(line => line.trim()).filter(line => line.length > 0);
122
+ const firstLine = lines.length > 0 ? lines[0] : '';
123
+ const urlMatch = firstLine.match(/(https?:\/\/\S+)/);
124
+ const extractedUrl = urlMatch !== null ? urlMatch[1] : url;
125
+ return `Successfully opened new page at ${extractedUrl}`;
126
+ } else if (mcpTarget === 'playwright') {
127
+ // EXAMPLE:
128
+ // ### Ran Playwright code
129
+ // ```js
130
+ // await context.newPage();
131
+ // ```
132
+ // ### Page
133
+ // - Page URL: https://example.com/
134
+ // - Page Title: Example Domain
135
+ // ### Snapshot
136
+ // - [Snapshot](.playwright-mcp/page-...yml)
137
+
138
+ const lines = resultText.split('\n');
139
+ const pageUrlLine = lines.find(line => line.trim().startsWith('- Page URL:'));
140
+ const pageUrl = pageUrlLine !== undefined ? pageUrlLine.replace('- Page URL:', '').trim() : url;
141
+ return `Successfully opened new page at ${pageUrl}`;
142
+ } else {
143
+ throw new Error(`Unsupported MCP target: ${mcpTarget}`);
144
+ }
145
+ }
146
+
147
+ static async formatClosePage(mcpTarget: FastBrowserMcpTarget, callToolResult: CallToolResult, pageId: number): Promise<string> {
148
+ const resultContent = callToolResult.content[0];
149
+ if (resultContent.type !== "text") throw new Error("Unexpected content type");
150
+
151
+ // Target format example:
152
+ // Successfully closed page 1
153
+ return `Successfully closed page ${pageId}`;
154
+ }
155
+
104
156
  static async formatTakeSnapshot(mcpTarget: FastBrowserMcpTarget, callToolResult: CallToolResult): Promise<string> {
105
157
  // extract the snapshot text from the tool response, which has different formats for chrome_devtools and playwright MCP targets
106
158
  if (mcpTarget === 'chrome_devtools') {