web-fetcher-mcp 1.0.13 → 1.0.14

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.
package/dist/index.js CHANGED
@@ -19,11 +19,13 @@ import { selectOption } from './tools/select-option.js';
19
19
  import { navigateHistory } from './tools/navigate-history.js';
20
20
  import { uploadFile } from './tools/upload-file.js';
21
21
  import { executeJs } from './tools/execute-js.js';
22
+ import { listTabs } from './tools/list-tabs.js';
23
+ import { switchTab as switchTabTool, closeTab as closeTabTool } from './tools/tab-manager.js';
22
24
  // 定义工具列表
23
25
  const tools = [
24
26
  {
25
27
  name: 'fetch-web-page',
26
- description: '获取任意网页的内容(包括文字和图片)。支持需要登录的页面,首次访问需要手动登录时会自动保存登录状态。',
28
+ description: '获取任意网页的内容(包括文字和图片)。支持需要登录的页面,首次访问需要手动登录时会自动保存登录状态。支持多标签页,可通过 tabId 指定在哪个标签页打开。',
27
29
  inputSchema: z.object({
28
30
  url: z.string().describe('网页的完整 URL,例如:https://cloud.tencent.com/document/product/866/43106'),
29
31
  contentSelector: z.string().optional().default('body').describe('内容选择器,用于指定要提取内容的 HTML 元素,默认值为 "body"'),
@@ -32,6 +34,7 @@ const tools = [
32
34
  waitForLogin: z.boolean().optional().default(false).describe('当检测到需要登录时是否等待用户手动登录,默认值为 false'),
33
35
  includeHtmlSkeleton: z.boolean().optional().default(false).describe('是否返回 HTML 骨架结构,默认值为 false(为节省 token,默认不返回,在需要点击元素时请设置为 true)'),
34
36
  includeFormElements: z.boolean().optional().default(false).describe('是否返回页面表单元素信息,默认值为 false(为节省 token,默认不返回,在需要填写表单时请设置为 true)'),
37
+ tabId: z.string().optional().describe('标签页 ID。不提供则创建新标签页;提供已有的 tabId 则在该标签页中打开 URL'),
35
38
  }),
36
39
  },
37
40
  {
@@ -78,7 +81,7 @@ const tools = [
78
81
  },
79
82
  {
80
83
  name: 'get-page-info',
81
- description: '获取当前页面的信息(HTML骨架、文本内容、表单元素等),不刷新页面。适合在点击导航后获取新页面内容。',
84
+ description: '获取当前页面的信息(HTML骨架、文本内容、表单元素等),不刷新页面。适合在点击导航后获取新页面内容。支持多标签页。',
82
85
  inputSchema: z.object({
83
86
  url: z.string().optional().default('current').describe('网页 URL,如果是 current 则使用当前已打开的页面,默认 current'),
84
87
  includeHtmlSkeleton: z.boolean().optional().default(false).describe('是否返回 HTML 骨架结构,默认 false'),
@@ -91,7 +94,7 @@ const tools = [
91
94
  },
92
95
  {
93
96
  name: 'open-devtools',
94
- description: '打开浏览器开发者工具(DevTools)。支持开启手机设备模拟模式,方便进行移动端页面调试。',
97
+ description: '打开浏览器开发者工具(DevTools)。支持开启手机设备模拟模式,方便进行移动端页面调试。支持多标签页。',
95
98
  inputSchema: z.object({
96
99
  url: z.string().optional().default('current').describe('网页 URL,如果是 current 则使用当前已打开的页面'),
97
100
  isMobile: z.boolean().optional().default(false).describe('是否开启手机设备模式,默认 false'),
@@ -110,7 +113,7 @@ const tools = [
110
113
  },
111
114
  {
112
115
  name: 'scroll-page',
113
- description: '滚动页面到指定位置或元素。支持上下左右滚动、按像素量滚动、滚动到指定元素位置。',
116
+ description: '滚动页面到指定位置或元素。支持上下左右滚动、按像素量滚动、滚动到指定元素位置。支持多标签页。',
114
117
  inputSchema: z.object({
115
118
  url: z.string().optional().default('current').describe('网页 URL,如果是 current 则使用当前已打开的页面'),
116
119
  direction: z.enum(['up', 'down', 'left', 'right']).optional().default('down').describe('滚动方向:up(向上) / down(向下) / left(向左) / right(向右),默认 down'),
@@ -121,7 +124,7 @@ const tools = [
121
124
  },
122
125
  {
123
126
  name: 'wait-for-element',
124
- description: '等待指定元素出现在页面上。用于需要等待动态加载内容的场景,确保元素存在后再进行操作。',
127
+ description: '等待指定元素出现在页面上。用于需要等待动态加载内容的场景,确保元素存在后再进行操作。支持多标签页。',
125
128
  inputSchema: z.object({
126
129
  url: z.string().optional().default('current').describe('网页 URL,如果是 current 则使用当前已打开的页面'),
127
130
  selector: z.string().describe('CSS 选择器,等待该选择器匹配的元素出现'),
@@ -132,7 +135,7 @@ const tools = [
132
135
  },
133
136
  {
134
137
  name: 'hover-element',
135
- description: '将鼠标悬停在指定元素上。用于触发悬停菜单、工具提示等需要鼠标悬停才能显示的交互效果。',
138
+ description: '将鼠标悬停在指定元素上。用于触发悬停菜单、工具提示等需要鼠标悬停才能显示的交互效果。支持多标签页。',
136
139
  inputSchema: z.object({
137
140
  url: z.string().optional().default('current').describe('网页 URL,如果是 current 则使用当前已打开的页面'),
138
141
  selector: z.string().describe('CSS 选择器,悬停到该元素上'),
@@ -141,7 +144,7 @@ const tools = [
141
144
  },
142
145
  {
143
146
  name: 'get-element-attributes',
144
- description: '获取页面元素的属性值。可以获取指定属性,也可以获取元素的所有属性。用于检查元素状态、获取数据属性等。',
147
+ description: '获取页面元素的属性值。可以获取指定属性,也可以获取元素的所有属性。用于检查元素状态、获取数据属性等。支持多标签页。',
145
148
  inputSchema: z.object({
146
149
  url: z.string().optional().default('current').describe('网页 URL,如果是 current 则使用当前已打开的页面'),
147
150
  selector: z.string().describe('CSS 选择器'),
@@ -180,13 +183,26 @@ const tools = [
180
183
  },
181
184
  {
182
185
  name: 'execute-js',
183
- description: '在页面中执行任意 JavaScript 代码并返回结果。可以用于执行复杂的 DOM 操作、获取数据、调用页面上的函数等。例如:document.getElementById("btn").click()、document.querySelector(".title").textContent、window.scrollTo(0, document.body.scrollHeight)',
186
+ description: '在页面中执行任意 JavaScript 代码并返回结果。可以用于执行复杂的 DOM 操作、获取数据、调用页面上的函数等。例如:document.getElementById("btn").click()、document.querySelector(".title").textContent、window.scrollTo(0, document.body.scrollHeight)',
184
187
  inputSchema: z.object({
185
188
  url: z.string().optional().default('current').describe('网页 URL,如果是 current 则使用当前已打开的页面'),
186
189
  script: z.string().describe('要执行的 JavaScript 代码。支持完整的 JS 语法,可以访问 DOM 和页面上的全局变量。返回值会被序列化输出'),
187
190
  useExistingPage: z.boolean().optional().default(true).describe('是否使用已存在的页面,默认 true'),
188
191
  }),
189
192
  },
193
+ {
194
+ name: 'list-tabs',
195
+ description: '列出浏览器中当前打开的所有标签页信息,包括 ID、URL、标题和活跃状态。用于多标签页场景下的页面管理和切换。',
196
+ inputSchema: z.object({}),
197
+ },
198
+ {
199
+ name: 'switch-tab',
200
+ description: '切换到指定标签页(将其带到前台)。也可以关闭指定标签页。用于在多个已打开的网页之间切换操作。',
201
+ inputSchema: z.object({
202
+ tabId: z.string().describe('目标标签页的 ID(通过 list-tabs 获取)'),
203
+ action: z.enum(['switch', 'close']).optional().default('switch').describe('操作类型:switch - 切换到该标签页(默认);close - 关闭该标签页'),
204
+ }),
205
+ },
190
206
  ];
191
207
  // 创建 MCP Server
192
208
  const server = new Server({
@@ -215,8 +231,8 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
215
231
  const { name, arguments: args } = request.params;
216
232
  if (name === 'fetch-web-page') {
217
233
  const validatedArgs = tools[0].inputSchema.parse(args);
218
- console.error(`正在获取网页: ${validatedArgs.url}`);
219
- const result = await fetchWebPage(validatedArgs.url, validatedArgs.contentSelector || 'body', validatedArgs.downloadImages !== false, validatedArgs.loginMode || 'skip', validatedArgs.waitForLogin || false, validatedArgs.includeHtmlSkeleton || false, validatedArgs.includeFormElements || false);
234
+ console.error(`正在获取网页: ${validatedArgs.url} (标签页: ${validatedArgs.tabId || '新建'})`);
235
+ const result = await fetchWebPage(validatedArgs.url, validatedArgs.contentSelector || 'body', validatedArgs.downloadImages !== false, validatedArgs.loginMode || 'skip', validatedArgs.waitForLogin || false, validatedArgs.includeHtmlSkeleton || false, validatedArgs.includeFormElements || false, validatedArgs.tabId);
220
236
  if (result.success && result.content) {
221
237
  const contentParts = [];
222
238
  // 添加表单元素信息(仅在请求时返回)
@@ -849,6 +865,86 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
849
865
  };
850
866
  }
851
867
  }
868
+ if (name === 'list-tabs') {
869
+ console.error('正在获取标签页列表...');
870
+ const result = await listTabs();
871
+ if (result.success) {
872
+ let responseText = `📑 浏览器标签页列表\n\n`;
873
+ responseText += `总标签数: ${result.totalTabs}\n`;
874
+ if (result.activeTabId) {
875
+ responseText += `当前活跃: ${result.activeTabId}\n`;
876
+ }
877
+ responseText += `\n`;
878
+ if (result.tabs.length > 0) {
879
+ result.tabs.forEach((tab, i) => {
880
+ const active = tab.isActive ? ' ⬅️ 当前' : '';
881
+ responseText += `${i + 1}. [${tab.id}]${active}\n`;
882
+ responseText += ` 标题: ${tab.title || '(无标题)'}\n`;
883
+ responseText += ` URL: ${tab.url}\n\n`;
884
+ });
885
+ }
886
+ else {
887
+ responseText += `(暂无打开的标签页)\n`;
888
+ }
889
+ return {
890
+ content: [{ type: 'text', text: responseText }],
891
+ };
892
+ }
893
+ else {
894
+ return {
895
+ content: [{
896
+ type: 'text',
897
+ text: `❌ 获取标签页列表失败:${result.error || '未知错误'}`,
898
+ }],
899
+ };
900
+ }
901
+ }
902
+ if (name === 'switch-tab') {
903
+ const validatedArgs = tools[17].inputSchema.parse(args);
904
+ if (validatedArgs.action === 'close') {
905
+ console.error(`正在关闭标签页: ${validatedArgs.tabId}`);
906
+ const result = await closeTabTool(validatedArgs.tabId);
907
+ if (result.success) {
908
+ return {
909
+ content: [{
910
+ type: 'text',
911
+ text: `✅ 标签页已关闭!\n\n关闭的标签页: ${result.closedTabId}\n${result.newActiveTabId ? `当前活跃标签页: ${result.newActiveTabId}` : '当前无活跃标签页'}`,
912
+ }],
913
+ };
914
+ }
915
+ else {
916
+ return {
917
+ content: [{
918
+ type: 'text',
919
+ text: `❌ 关闭标签页失败:${result.error || '未知错误'}`,
920
+ }],
921
+ };
922
+ }
923
+ }
924
+ else {
925
+ console.error(`正在切换到标签页: ${validatedArgs.tabId}`);
926
+ const result = await switchTabTool(validatedArgs.tabId);
927
+ if (result.success && result.tabInfo) {
928
+ return {
929
+ content: [{
930
+ type: 'text',
931
+ text: `✅ 已切换到标签页!\n\n` +
932
+ `- ID: ${result.tabInfo.id}\n` +
933
+ `- 标题: ${result.tabInfo.title}\n` +
934
+ `- URL: ${result.tabInfo.url}`,
935
+ }],
936
+ };
937
+ }
938
+ else {
939
+ return {
940
+ content: [{
941
+ type: 'text',
942
+ text: `❌ 切换标签页失败:${result.error || '未知错误'}`,
943
+ }],
944
+ };
945
+ }
946
+ }
947
+ }
852
948
  throw new Error(`未知工具:${name}`);
853
949
  });
854
950
  // 启动服务器
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"execute-js.js","sourceRoot":"","sources":["../../src/tools/execute-js.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execute-js.js","sourceRoot":"","sources":["../../src/tools/execute-js.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { ListTabsResult } from '../types/index.js';
2
+ /**
3
+ * 列出所有打开的标签页
4
+ */
5
+ export declare function listTabs(): Promise<ListTabsResult>;
6
+ //# sourceMappingURL=list-tabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-tabs.d.ts","sourceRoot":"","sources":["../../src/tools/list-tabs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAInD;;GAEG;AACH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC,CAsBxD"}
@@ -0,0 +1,28 @@
1
+ import { getBrowser } from '../utils/browser.js';
2
+ import { listTabs as listTabsFromManager } from '../utils/tabs.js';
3
+ /**
4
+ * 列出所有打开的标签页
5
+ */
6
+ export async function listTabs() {
7
+ try {
8
+ const browserConnection = await getBrowser();
9
+ const { browser } = browserConnection;
10
+ const tabs = await listTabsFromManager(browser);
11
+ const activeTabId = tabs.find(t => t.isActive)?.id || null;
12
+ return {
13
+ success: true,
14
+ tabs,
15
+ activeTabId,
16
+ totalTabs: tabs.length,
17
+ };
18
+ }
19
+ catch (error) {
20
+ return {
21
+ success: false,
22
+ error: error.message || '获取标签页列表失败',
23
+ tabs: [],
24
+ totalTabs: 0,
25
+ };
26
+ }
27
+ }
28
+ //# sourceMappingURL=list-tabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-tabs.js","sourceRoot":"","sources":["../../src/tools/list-tabs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,QAAQ,IAAI,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEnE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC5B,IAAI,CAAC;QACH,MAAM,iBAAiB,GAAG,MAAM,UAAU,EAAE,CAAC;QAC7C,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC;QAEtC,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC;QAE3D,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI;YACJ,WAAW;YACX,SAAS,EAAE,IAAI,CAAC,MAAM;SACvB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,WAAW;YACnC,IAAI,EAAE,EAAE;YACR,SAAS,EAAE,CAAC;SACb,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { SwitchTabResult, CloseTabResult } from '../types/index.js';
2
+ /**
3
+ * 切换到指定标签页
4
+ */
5
+ export declare function switchTab(tabId: string): Promise<SwitchTabResult>;
6
+ /**
7
+ * 关闭指定标签页
8
+ */
9
+ export declare function closeTab(tabId: string): Promise<CloseTabResult>;
10
+ //# sourceMappingURL=tab-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab-manager.d.ts","sourceRoot":"","sources":["../../src/tools/tab-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAIpE;;GAEG;AACH,wBAAsB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAMvE;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAarE"}
@@ -0,0 +1,31 @@
1
+ import { switchTab as switchTabInManager, closeTab as closeTabInManager, getActiveTabId } from '../utils/tabs.js';
2
+ /**
3
+ * 切换到指定标签页
4
+ */
5
+ export async function switchTab(tabId) {
6
+ try {
7
+ return await switchTabInManager(tabId);
8
+ }
9
+ catch (error) {
10
+ return { success: false, error: error.message };
11
+ }
12
+ }
13
+ /**
14
+ * 关闭指定标签页
15
+ */
16
+ export async function closeTab(tabId) {
17
+ try {
18
+ const result = await closeTabInManager(tabId);
19
+ if (result.success) {
20
+ return {
21
+ ...result,
22
+ newActiveTabId: getActiveTabId(),
23
+ };
24
+ }
25
+ return result;
26
+ }
27
+ catch (error) {
28
+ return { success: false, error: error.message };
29
+ }
30
+ }
31
+ //# sourceMappingURL=tab-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab-manager.js","sourceRoot":"","sources":["../../src/tools/tab-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,IAAI,kBAAkB,EAAE,QAAQ,IAAI,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElH;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,KAAa;IAC3C,IAAI,CAAC;QACH,OAAO,MAAM,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;IAClD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,KAAa;IAC1C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO;gBACL,GAAG,MAAM;gBACT,cAAc,EAAE,cAAc,EAAE;aACjC,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;IAClD,CAAC;AACH,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { FetchPageResult } from '../types/index.js';
2
- export declare function fetchWebPage(url: string, contentSelector?: string, downloadImages?: boolean, loginMode?: 'auto' | 'manual' | 'skip', waitForLogin?: boolean, includeHtmlSkeleton?: boolean, includeFormElements?: boolean): Promise<FetchPageResult>;
2
+ export declare function fetchWebPage(url: string, contentSelector?: string, downloadImages?: boolean, loginMode?: 'auto' | 'manual' | 'skip', waitForLogin?: boolean, includeHtmlSkeleton?: boolean, includeFormElements?: boolean, tabId?: string): Promise<FetchPageResult>;
3
3
  //# sourceMappingURL=web-page-fetcher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"web-page-fetcher.d.ts","sourceRoot":"","sources":["../../src/tools/web-page-fetcher.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAmB,MAAM,mBAAmB,CAAC;AAQrE,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,EACX,eAAe,GAAE,MAAe,EAChC,cAAc,GAAE,OAAc,EAC9B,SAAS,GAAE,MAAM,GAAG,QAAQ,GAAG,MAAe,EAC9C,YAAY,GAAE,OAAe,EAC7B,mBAAmB,GAAE,OAAe,EACpC,mBAAmB,GAAE,OAAe,GACnC,OAAO,CAAC,eAAe,CAAC,CA4G1B"}
1
+ {"version":3,"file":"web-page-fetcher.d.ts","sourceRoot":"","sources":["../../src/tools/web-page-fetcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAmB,MAAM,mBAAmB,CAAC;AAQrE,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,EACX,eAAe,GAAE,MAAe,EAChC,cAAc,GAAE,OAAc,EAC9B,SAAS,GAAE,MAAM,GAAG,QAAQ,GAAG,MAAe,EAC9C,YAAY,GAAE,OAAe,EAC7B,mBAAmB,GAAE,OAAe,EACpC,mBAAmB,GAAE,OAAe,EACpC,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,CAAC,CAgH1B"}
@@ -1,18 +1,22 @@
1
- import { getBrowser, getPage, closeBrowser } from '../utils/browser.js';
1
+ import { getBrowser, getPageWithTab, closeBrowser } from '../utils/browser.js';
2
2
  import { loadCookies, saveCookies } from '../utils/cookies.js';
3
3
  import { checkLoginRequired, waitForManualLogin } from '../utils/login-check.js';
4
4
  import { extractPageContent } from '../utils/page-content.js';
5
5
  import { downloadAndConvertImage } from '../utils/images.js';
6
6
  // 主函数:获取网页内容
7
- export async function fetchWebPage(url, contentSelector = 'body', downloadImages = true, loginMode = 'skip', waitForLogin = false, includeHtmlSkeleton = false, includeFormElements = false) {
7
+ export async function fetchWebPage(url, contentSelector = 'body', downloadImages = true, loginMode = 'skip', waitForLogin = false, includeHtmlSkeleton = false, includeFormElements = false, tabId) {
8
8
  let browserConnection = null;
9
9
  try {
10
10
  // 获取浏览器实例
11
11
  browserConnection = await getBrowser();
12
12
  const { browser, useExistingBrowser } = browserConnection;
13
- // 获取页面
14
- const page = await getPage(browser, useExistingBrowser);
15
- console.error('正在访问网页...');
13
+ // 获取页面(支持多标签页)
14
+ const pageResult = await getPageWithTab(browser, useExistingBrowser, {
15
+ tabId: tabId, // 如果提供 tabId 则使用该标签页,否则新建
16
+ url: url,
17
+ });
18
+ const page = pageResult.page;
19
+ console.error(`正在访问网页 (标签页: ${pageResult.tabId})...`);
16
20
  await page.goto(url, {
17
21
  waitUntil: 'networkidle2',
18
22
  timeout: 60000
@@ -1 +1 @@
1
- {"version":3,"file":"web-page-fetcher.js","sourceRoot":"","sources":["../../src/tools/web-page-fetcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web-page-fetcher.js","sourceRoot":"","sources":["../../src/tools/web-page-fetcher.ts"],"names":[],"mappings":"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"}
@@ -190,4 +190,28 @@ export interface UploadFileResult {
190
190
  accept?: string;
191
191
  };
192
192
  }
193
+ export interface TabInfo {
194
+ id: string;
195
+ url: string;
196
+ title: string;
197
+ isActive: boolean;
198
+ }
199
+ export interface ListTabsResult {
200
+ success: boolean;
201
+ error?: string;
202
+ tabs: TabInfo[];
203
+ activeTabId?: string | null;
204
+ totalTabs: number;
205
+ }
206
+ export interface SwitchTabResult {
207
+ success: boolean;
208
+ error?: string;
209
+ tabInfo?: TabInfo;
210
+ }
211
+ export interface CloseTabResult {
212
+ success: boolean;
213
+ error?: string;
214
+ closedTabId?: string;
215
+ newActiveTabId?: string | null;
216
+ }
193
217
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,22 @@
1
1
  import { Browser, Page } from 'puppeteer';
2
2
  import { BrowserConnection } from '../types/index.js';
3
3
  export declare function getBrowser(): Promise<BrowserConnection>;
4
+ /**
5
+ * 获取或创建页面(保持向后兼容,返回 Page)
6
+ * 用于除 fetch-web-page 外的所有工具
7
+ */
4
8
  export declare function getPage(browser: Browser, useExistingBrowser: boolean, url?: string): Promise<Page>;
9
+ /**
10
+ * 获取或创建标签页(支持多标签页,返回 tabId)
11
+ * 仅用于 fetch-web-page 工具
12
+ */
13
+ export declare function getPageWithTab(browser: Browser, useExistingBrowser: boolean, options?: {
14
+ tabId?: string;
15
+ url?: string;
16
+ createNew?: boolean;
17
+ }): Promise<{
18
+ page: Page;
19
+ tabId: string;
20
+ }>;
5
21
  export declare function closeBrowser(browser: Browser, useExistingBrowser: boolean, keepOpen?: boolean): Promise<void>;
6
22
  //# sourceMappingURL=browser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/utils/browser.ts"],"names":[],"mappings":"AAAA,OAAkB,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AActD,wBAAsB,UAAU,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAiD7D;AAGD,wBAAsB,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BxG;AAGD,wBAAsB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAmB1H"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/utils/browser.ts"],"names":[],"mappings":"AAAA,OAAkB,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAetD,wBAAsB,UAAU,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAoD7D;AAED;;;GAGG;AACH,wBAAsB,OAAO,CAC3B,OAAO,EAAE,OAAO,EAChB,kBAAkB,EAAE,OAAO,EAC3B,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAIf;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,OAAO,EAChB,kBAAkB,EAAE,OAAO,EAC3B,OAAO,CAAC,EAAE;IACR,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GACA,OAAO,CAAC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAExC;AAGD,wBAAsB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAmB1H"}
@@ -1,7 +1,8 @@
1
1
  import puppeteer from 'puppeteer';
2
2
  import * as fs from 'fs';
3
3
  import { CHROME_PATH, DEBUGGING_PORT, USER_DATA_DIR, DATA_DIR } from './config.js';
4
- import { setupConsoleCollector, setupBrowserConsoleCollector } from './console-logger.js';
4
+ import { setupBrowserConsoleCollector } from './console-logger.js';
5
+ import { getOrCreateTab, cleanupClosedTabs } from './tabs.js';
5
6
  // 确保数据目录存在
6
7
  function ensureDataDir() {
7
8
  if (!fs.existsSync(DATA_DIR)) {
@@ -14,6 +15,8 @@ function ensureDataDir() {
14
15
  // 连接到已有 Chrome 实例或启动新实例
15
16
  export async function getBrowser() {
16
17
  ensureDataDir();
18
+ // 先清理已关闭的标签页
19
+ cleanupClosedTabs();
17
20
  // 优先尝试连接已有的 Chrome 实例
18
21
  try {
19
22
  console.error('尝试连接到已有的 Chrome 实例 (端口 9222)...');
@@ -62,29 +65,21 @@ export async function getBrowser() {
62
65
  throw new Error(`无法启动浏览器:${launchError.message}。请确保已安装 Google Chrome 浏览器,并且路径正确。`);
63
66
  }
64
67
  }
65
- // 获取或创建页面
68
+ /**
69
+ * 获取或创建页面(保持向后兼容,返回 Page)
70
+ * 用于除 fetch-web-page 外的所有工具
71
+ */
66
72
  export async function getPage(browser, useExistingBrowser, url) {
67
- let page;
68
- if (useExistingBrowser) {
69
- const pages = await browser.pages();
70
- page = pages.length > 0 ? pages[0] : await browser.newPage();
71
- }
72
- else {
73
- page = await browser.newPage();
74
- }
75
- // 设置控制台日志收集器
76
- setupConsoleCollector(page);
77
- // 设置全屏(不使用固定视口)
78
- await page.setViewport({ width: 0, height: 0 });
79
- // 如果需要导航到指定 URL
80
- if (url && url !== 'current') {
81
- const currentUrl = page.url();
82
- if (currentUrl !== url) {
83
- console.error(`导航到: ${url}`);
84
- await page.goto(url, { waitUntil: 'networkidle2', timeout: 60000 });
85
- }
86
- }
87
- return page;
73
+ // 使用标签页管理器,但对外只暴露 page 对象
74
+ const result = await getOrCreateTab(browser, useExistingBrowser, { url });
75
+ return result.page;
76
+ }
77
+ /**
78
+ * 获取或创建标签页(支持多标签页,返回 tabId)
79
+ * 仅用于 fetch-web-page 工具
80
+ */
81
+ export async function getPageWithTab(browser, useExistingBrowser, options) {
82
+ return getOrCreateTab(browser, useExistingBrowser, options);
88
83
  }
89
84
  // 关闭浏览器或断开连接
90
85
  export async function closeBrowser(browser, useExistingBrowser, keepOpen = false) {
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/utils/browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/utils/browser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import { Browser, Page } from 'puppeteer';
2
+ export interface TabInfo {
3
+ id: string;
4
+ url: string;
5
+ title: string;
6
+ isActive: boolean;
7
+ }
8
+ /**
9
+ * 获取或创建指定标签页
10
+ * @param browser 浏览器实例
11
+ * @param useExistingBrowser 是否使用已有浏览器
12
+ * @param tabId 指定标签页 ID(可选)
13
+ * @param url 导航到的 URL(可选,仅在 fetch-web-page 时使用)
14
+ */
15
+ export declare function getOrCreateTab(browser: Browser, useExistingBrowser: boolean, options?: {
16
+ tabId?: string;
17
+ url?: string;
18
+ createNew?: boolean;
19
+ }): Promise<{
20
+ page: Page;
21
+ tabId: string;
22
+ }>;
23
+ /**
24
+ * 根据 tabId 获取页面
25
+ */
26
+ export declare function getPageByTabId(tabId: string): Page | undefined;
27
+ /**
28
+ * 获取当前活跃标签页 ID
29
+ */
30
+ export declare function getActiveTabId(): string | null;
31
+ /**
32
+ * 获取所有标签页列表
33
+ */
34
+ export declare function listTabs(browser: Browser): Promise<TabInfo[]>;
35
+ /**
36
+ * 切换到指定标签页
37
+ */
38
+ export declare function switchTab(tabId: string): Promise<{
39
+ success: boolean;
40
+ error?: string;
41
+ tabInfo?: TabInfo;
42
+ }>;
43
+ /**
44
+ * 关闭指定标签页
45
+ */
46
+ export declare function closeTab(tabId: string): Promise<{
47
+ success: boolean;
48
+ error?: string;
49
+ closedTabId?: string;
50
+ }>;
51
+ /**
52
+ * 清理已关闭的标签页(从 map 中移除)
53
+ */
54
+ export declare function cleanupClosedTabs(): void;
55
+ //# sourceMappingURL=tabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../src/utils/tabs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAI1C,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;CACnB;AAmBD;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,OAAO,EAChB,kBAAkB,EAAE,OAAO,EAC3B,OAAO,CAAC,EAAE;IACR,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GACA,OAAO,CAAC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CA6DxC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAE9D;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,GAAG,IAAI,CAE9C;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAuBnE;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA6B/G;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAqBjH;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAMxC"}
@@ -0,0 +1,173 @@
1
+ import { setupConsoleCollector } from './console-logger.js';
2
+ // 标签页存储:key=tabId, value=Page
3
+ const tabMap = new Map();
4
+ // 当前活跃的标签页 ID
5
+ let activeTabId = null;
6
+ // 标签页 ID 计数器
7
+ let tabIdCounter = 0;
8
+ /**
9
+ * 生成唯一标签页 ID
10
+ */
11
+ function generateTabId() {
12
+ tabIdCounter++;
13
+ return `tab_${tabIdCounter}`;
14
+ }
15
+ /**
16
+ * 获取或创建指定标签页
17
+ * @param browser 浏览器实例
18
+ * @param useExistingBrowser 是否使用已有浏览器
19
+ * @param tabId 指定标签页 ID(可选)
20
+ * @param url 导航到的 URL(可选,仅在 fetch-web-page 时使用)
21
+ */
22
+ export async function getOrCreateTab(browser, useExistingBrowser, options) {
23
+ const { tabId: targetTabId, url, createNew } = options || {};
24
+ // 如果指定了 tabId 且不要求新建
25
+ if (targetTabId && !createNew) {
26
+ const existingPage = tabMap.get(targetTabId);
27
+ if (existingPage && !existingPage.isClosed()) {
28
+ // 设置为当前活跃标签
29
+ activeTabId = targetTabId;
30
+ console.error(`使用已有标签页: ${targetTabId}`);
31
+ // 如果需要导航到新 URL
32
+ if (url && url !== 'current') {
33
+ const currentUrl = existingPage.url();
34
+ if (currentUrl !== url) {
35
+ console.error(`标签页 ${targetTabId} 导航到: ${url}`);
36
+ await existingPage.goto(url, { waitUntil: 'networkidle2', timeout: 60000 });
37
+ }
38
+ }
39
+ return { page: existingPage, tabId: targetTabId };
40
+ }
41
+ // 页面已关闭,从 map 中移除
42
+ tabMap.delete(targetTabId);
43
+ console.error(`标签页 ${targetTabId} 已关闭或不存在`);
44
+ }
45
+ // 创建新标签页
46
+ let newPage;
47
+ if (useExistingBrowser) {
48
+ // 连接已有浏览器模式:直接新建页面
49
+ newPage = await browser.newPage();
50
+ }
51
+ else {
52
+ // 独立浏览器模式
53
+ newPage = await browser.newPage();
54
+ }
55
+ // 生成新的标签页 ID(如果没指定或指定的已失效)
56
+ const newTabId = targetTabId ? targetTabId : generateTabId();
57
+ // 设置控制台日志收集
58
+ setupConsoleCollector(newPage);
59
+ // 设置全屏视口
60
+ await newPage.setViewport({ width: 0, height: 0 });
61
+ // 存储到 map
62
+ tabMap.set(newTabId, newPage);
63
+ activeTabId = newTabId;
64
+ console.error(`创建新标签页: ${newTabId}`);
65
+ // 如果需要导航到 URL
66
+ if (url && url !== 'current') {
67
+ console.error(`标签页 ${newTabId} 导航到: ${url}`);
68
+ await newPage.goto(url, { waitUntil: 'networkidle2', timeout: 60000 });
69
+ }
70
+ return { page: newPage, tabId: newTabId };
71
+ }
72
+ /**
73
+ * 根据 tabId 获取页面
74
+ */
75
+ export function getPageByTabId(tabId) {
76
+ return tabMap.get(tabId);
77
+ }
78
+ /**
79
+ * 获取当前活跃标签页 ID
80
+ */
81
+ export function getActiveTabId() {
82
+ return activeTabId;
83
+ }
84
+ /**
85
+ * 获取所有标签页列表
86
+ */
87
+ export async function listTabs(browser) {
88
+ const allPages = await browser.pages();
89
+ const tabs = [];
90
+ for (const [tabId, page] of tabMap.entries()) {
91
+ if (!page.isClosed()) {
92
+ try {
93
+ tabs.push({
94
+ id: tabId,
95
+ url: page.url(),
96
+ title: await page.title(),
97
+ isActive: tabId === activeTabId,
98
+ });
99
+ }
100
+ catch (e) {
101
+ // 页面可能已损坏,跳过
102
+ tabMap.delete(tabId);
103
+ }
104
+ }
105
+ else {
106
+ tabMap.delete(tabId);
107
+ }
108
+ }
109
+ return tabs;
110
+ }
111
+ /**
112
+ * 切换到指定标签页
113
+ */
114
+ export async function switchTab(tabId) {
115
+ const page = tabMap.get(tabId);
116
+ if (!page) {
117
+ return { success: false, error: `标签页 ${tabId} 不存在` };
118
+ }
119
+ if (page.isClosed()) {
120
+ tabMap.delete(tabId);
121
+ return { success: false, error: `标签页 ${tabId} 已被关闭` };
122
+ }
123
+ try {
124
+ // 将该标签页带到前台
125
+ await page.bringToFront();
126
+ activeTabId = tabId;
127
+ return {
128
+ success: true,
129
+ tabInfo: {
130
+ id: tabId,
131
+ url: page.url(),
132
+ title: await page.title(),
133
+ isActive: true,
134
+ },
135
+ };
136
+ }
137
+ catch (e) {
138
+ return { success: false, error: e.message };
139
+ }
140
+ }
141
+ /**
142
+ * 关闭指定标签页
143
+ */
144
+ export async function closeTab(tabId) {
145
+ const page = tabMap.get(tabId);
146
+ if (!page) {
147
+ return { success: false, error: `标签页 ${tabId} 不存在` };
148
+ }
149
+ try {
150
+ await page.close();
151
+ tabMap.delete(tabId);
152
+ // 如果关闭的是当前活跃标签,切换到最后一个标签
153
+ if (activeTabId === tabId) {
154
+ const remainingTabs = Array.from(tabMap.keys());
155
+ activeTabId = remainingTabs.length > 0 ? remainingTabs[remainingTabs.length - 1] : null;
156
+ }
157
+ return { success: true, closedTabId: tabId };
158
+ }
159
+ catch (e) {
160
+ return { success: false, error: e.message };
161
+ }
162
+ }
163
+ /**
164
+ * 清理已关闭的标签页(从 map 中移除)
165
+ */
166
+ export function cleanupClosedTabs() {
167
+ for (const [tabId, page] of tabMap.entries()) {
168
+ if (page.isClosed()) {
169
+ tabMap.delete(tabId);
170
+ }
171
+ }
172
+ }
173
+ //# sourceMappingURL=tabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../src/utils/tabs.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "web-fetcher-mcp",
3
- "version": "1.0.13",
3
+ "version": "1.0.14",
4
4
  "description": "MCP Server for fetching any web page content with login support",
5
5
  "main": "dist/index.js",
6
6
  "bin": {