@lmcc-dev/mult-fetch-mcp-server 1.0.2 → 1.1.0

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.
Files changed (115) hide show
  1. package/README.md +14 -2
  2. package/README.zh.md +3 -2
  3. package/dist/src/client.d.ts +6 -0
  4. package/dist/src/client.js +26 -28
  5. package/dist/src/client.js.map +1 -0
  6. package/dist/src/index.d.ts +15 -0
  7. package/dist/src/index.js.map +1 -0
  8. package/dist/src/lib/BrowserFetcher.d.ts +175 -0
  9. package/dist/src/lib/BrowserFetcher.js +99 -65
  10. package/dist/src/lib/BrowserFetcher.js.map +1 -0
  11. package/dist/src/lib/NodeFetcher.d.ts +92 -0
  12. package/dist/src/lib/NodeFetcher.js +150 -86
  13. package/dist/src/lib/NodeFetcher.js.map +1 -0
  14. package/dist/src/lib/i18n/index.js.map +1 -0
  15. package/dist/src/lib/i18n/keys.js +135 -0
  16. package/dist/src/lib/i18n/locales/en/browser.d.ts +61 -0
  17. package/dist/src/lib/i18n/locales/en/browser.js +68 -45
  18. package/dist/src/lib/i18n/locales/en/browser.js.map +1 -0
  19. package/dist/src/lib/i18n/locales/en/client.d.ts +39 -0
  20. package/dist/src/lib/i18n/locales/en/client.js.map +1 -0
  21. package/dist/src/lib/i18n/locales/en/errors.d.ts +17 -0
  22. package/dist/src/lib/i18n/locales/en/errors.js.map +1 -0
  23. package/dist/src/lib/i18n/locales/en/fetcher.d.ts +66 -0
  24. package/dist/src/lib/i18n/locales/en/fetcher.js +60 -59
  25. package/dist/src/lib/i18n/locales/en/fetcher.js.map +1 -0
  26. package/dist/src/lib/i18n/locales/en/index.d.ts +344 -0
  27. package/dist/src/lib/i18n/locales/en/index.js +1 -1
  28. package/dist/src/lib/i18n/locales/en/index.js.map +1 -0
  29. package/dist/src/lib/i18n/locales/en/node.d.ts +41 -0
  30. package/dist/src/lib/i18n/locales/en/node.js.map +1 -0
  31. package/dist/src/lib/i18n/locales/en/prompts.d.ts +65 -0
  32. package/dist/src/lib/i18n/locales/en/prompts.js.map +1 -0
  33. package/dist/src/lib/i18n/locales/en/resources.d.ts +41 -0
  34. package/dist/src/lib/i18n/locales/en/resources.js +30 -15
  35. package/dist/src/lib/i18n/locales/en/resources.js.map +1 -0
  36. package/dist/src/lib/i18n/locales/en/server.d.ts +30 -0
  37. package/dist/src/lib/i18n/locales/en/server.js.map +1 -0
  38. package/dist/src/lib/i18n/locales/en/tools.d.ts +24 -0
  39. package/dist/src/lib/i18n/locales/en/tools.js.map +1 -0
  40. package/dist/src/lib/i18n/locales/zh/browser.d.ts +61 -0
  41. package/dist/src/lib/i18n/locales/zh/browser.js +68 -45
  42. package/dist/src/lib/i18n/locales/zh/browser.js.map +1 -0
  43. package/dist/src/lib/i18n/locales/zh/client.d.ts +38 -0
  44. package/dist/src/lib/i18n/locales/zh/client.js.map +1 -0
  45. package/dist/src/lib/i18n/locales/zh/errors.d.ts +17 -0
  46. package/dist/src/lib/i18n/locales/zh/errors.js.map +1 -0
  47. package/dist/src/lib/i18n/locales/zh/fetcher.d.ts +66 -0
  48. package/dist/src/lib/i18n/locales/zh/fetcher.js +60 -59
  49. package/dist/src/lib/i18n/locales/zh/fetcher.js.map +1 -0
  50. package/dist/src/lib/i18n/locales/zh/index.d.ts +343 -0
  51. package/dist/src/lib/i18n/locales/zh/index.js +1 -1
  52. package/dist/src/lib/i18n/locales/zh/index.js.map +1 -0
  53. package/dist/src/lib/i18n/locales/zh/node.d.ts +41 -0
  54. package/dist/src/lib/i18n/locales/zh/node.js.map +1 -0
  55. package/dist/src/lib/i18n/locales/zh/prompts.d.ts +65 -0
  56. package/dist/src/lib/i18n/locales/zh/prompts.js.map +1 -0
  57. package/dist/src/lib/i18n/locales/zh/resources.d.ts +41 -0
  58. package/dist/src/lib/i18n/locales/zh/resources.js +28 -13
  59. package/dist/src/lib/i18n/locales/zh/resources.js.map +1 -0
  60. package/dist/src/lib/i18n/locales/zh/server.d.ts +30 -0
  61. package/dist/src/lib/i18n/locales/zh/server.js.map +1 -0
  62. package/dist/src/lib/i18n/locales/zh/tools.d.ts +24 -0
  63. package/dist/src/lib/i18n/locales/zh/tools.js.map +1 -0
  64. package/dist/src/lib/i18n/logger.d.ts +38 -0
  65. package/dist/src/lib/i18n/logger.js.map +1 -0
  66. package/dist/src/lib/logger.d.ts +32 -0
  67. package/dist/src/lib/logger.js.map +1 -0
  68. package/dist/src/lib/server/browser.d.ts +34 -0
  69. package/dist/src/lib/server/browser.js +10 -16
  70. package/dist/src/lib/server/browser.js.map +1 -0
  71. package/dist/src/lib/server/fetcher.d.ts +20 -0
  72. package/dist/src/lib/server/fetcher.js.map +1 -0
  73. package/dist/src/lib/server/index.d.ts +10 -0
  74. package/dist/src/lib/server/index.js.map +1 -0
  75. package/dist/src/lib/server/prompts.d.ts +11 -0
  76. package/dist/src/lib/server/prompts.js +6 -6
  77. package/dist/src/lib/server/prompts.js.map +1 -0
  78. package/dist/src/lib/server/resources.d.ts +11 -0
  79. package/dist/src/lib/server/resources.js.map +1 -0
  80. package/dist/src/lib/server/tools.d.ts +12 -0
  81. package/dist/src/lib/server/tools.js +369 -309
  82. package/dist/src/lib/server/tools.js.map +1 -0
  83. package/dist/src/lib/server/types.d.ts +71 -0
  84. package/dist/src/lib/server/types.js.map +1 -0
  85. package/dist/src/lib/types.d.ts +119 -0
  86. package/dist/src/lib/types.js.map +1 -0
  87. package/dist/src/lib/utils/errorDetection.js +41 -0
  88. package/dist/src/lib/utils/errors.js +279 -0
  89. package/dist/src/mcp-server.d.ts +6 -0
  90. package/dist/src/mcp-server.js.map +1 -0
  91. package/dist/tests/BrowserFetcher.test.js +951 -0
  92. package/dist/tests/NodeFetcher.test.js +263 -0
  93. package/dist/tests/client.test.js +250 -0
  94. package/dist/tests/i18n.test.js +179 -0
  95. package/dist/tests/jest.setup.d.ts +6 -0
  96. package/dist/tests/jest.setup.js +30 -0
  97. package/dist/tests/jest.setup.js.map +1 -0
  98. package/dist/tests/logger.test.js +99 -0
  99. package/dist/tests/mcp-server.test.js +113 -0
  100. package/dist/tests/server/browser.test.js +197 -0
  101. package/dist/tests/server/fetcher.test.js +216 -0
  102. package/dist/tests/server/index.test.js +122 -0
  103. package/dist/tests/server/prompts.test.js +243 -0
  104. package/dist/tests/server/resources.test.js +359 -0
  105. package/dist/tests/server/tools.test.js +222 -0
  106. package/dist/tests/test-direct-client.d.ts +6 -0
  107. package/dist/tests/test-direct-client.js.map +1 -0
  108. package/dist/tests/test-mcp-methods.d.ts +6 -0
  109. package/dist/tests/test-mcp-methods.js.map +1 -0
  110. package/dist/tests/test-mcp.d.ts +6 -0
  111. package/dist/tests/test-mcp.js.map +1 -0
  112. package/dist/tests/test-mini4k.d.ts +6 -0
  113. package/dist/tests/test-mini4k.js.map +1 -0
  114. package/dist/tests/types.test.js +57 -0
  115. package/package.json +12 -3
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Author: Martin <lmccc.dev@gmail.com>
3
+ * Co-Author: AI Assistant (Claude)
4
+ * Description: This code was collaboratively developed by Martin and AI Assistant.
5
+ */
6
+ export declare const COMPONENTS: {
7
+ SERVER: string;
8
+ NODE_FETCH: string;
9
+ BROWSER_FETCH: string;
10
+ CLIENT: string;
11
+ RESOURCES: string;
12
+ PROMPTS: string;
13
+ TOOLS: string;
14
+ };
15
+ /**
16
+ * 清除日志文件 (Clear log file)
17
+ */
18
+ export declare function clearLogFile(): void;
19
+ /**
20
+ * 获取日志文件路径 (Get log file path)
21
+ * @returns 日志文件的完整路径 (Full path to the log file)
22
+ */
23
+ export declare function getLogFilePath(): string;
24
+ /**
25
+ * 统一日志函数 (Unified log function)
26
+ * 输出调试信息到标准错误流和日志文件 (Output debug information to standard error stream and log file)
27
+ * @param key 翻译键或消息 (Translation key or message)
28
+ * @param debug 是否为调试模式 (Whether in debug mode)
29
+ * @param options 翻译选项 (Translation options)
30
+ * @param component 组件名称 (Component name)
31
+ */
32
+ export declare function log(key: string, debug?: boolean, options?: any, component?: string): void;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/lib/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Author: Martin <lmccc.dev@gmail.com>
3
+ * Co-Author: AI Assistant (Claude)
4
+ * Description: This code was collaboratively developed by Martin and AI Assistant.
5
+ */
6
+ /**
7
+ * 初始化浏览器实例 (Initialize browser instance)
8
+ * 确保浏览器实例已准备好用于网页获取 (Ensure browser instance is ready for webpage fetching)
9
+ * @param debug 是否为调试模式 (Whether in debug mode)
10
+ * @returns Promise对象 (Promise object)
11
+ */
12
+ export declare function initializeBrowser(debug?: boolean): Promise<void>;
13
+ /**
14
+ * 关闭浏览器实例 (Close browser instance)
15
+ * 释放浏览器资源 (Release browser resources)
16
+ * @param debug 是否为调试模式 (Whether in debug mode)
17
+ * @returns Promise对象 (Promise object)
18
+ */
19
+ export declare function closeBrowserInstance(debug?: boolean): Promise<void>;
20
+ /**
21
+ * 检查是否应该切换到浏览器模式 (Check if should switch to browser mode)
22
+ * 根据错误信息判断是否需要浏览器模式 (Determine if browser mode is needed based on error message)
23
+ * @param error 错误对象 (Error object)
24
+ * @returns 是否应该切换到浏览器模式 (Whether to switch to browser mode)
25
+ */
26
+ export declare function shouldSwitchToBrowser(error: any): boolean;
27
+ /**
28
+ * 检查是否应该使用浏览器模式 (Check if browser mode should be used)
29
+ * 根据响应内容判断是否需要浏览器模式 (Determine if browser mode is needed based on response content)
30
+ * @param response 响应对象 (Response object)
31
+ * @param url 请求URL (Request URL)
32
+ * @returns 是否应该使用浏览器模式 (Whether to use browser mode)
33
+ */
34
+ export declare function shouldUseBrowser(response: any, url: string): boolean;
@@ -5,6 +5,7 @@
5
5
  */
6
6
  import { BrowserFetcher } from '../BrowserFetcher.js';
7
7
  import { log, COMPONENTS } from '../logger.js';
8
+ import { isAccessDeniedError, isNetworkError } from '../utils/errorDetection.js';
8
9
  // 全局浏览器实例 (Global browser instance)
9
10
  let browserInitialized = false;
10
11
  /**
@@ -38,27 +39,20 @@ export async function closeBrowserInstance(debug = false) {
38
39
  }
39
40
  }
40
41
  /**
41
- * 检查是否应该切换到浏览器模式 (Check if should switch to browser mode)
42
- * 根据错误信息判断是否需要浏览器模式 (Determine if browser mode is needed based on error message)
42
+ * 判断是否应该切换到浏览器模式 (Determine if should switch to browser mode)
43
+ * 根据错误信息判断是否需要浏览器模式 (Based on error message to determine if browser mode is needed)
43
44
  * @param error 错误对象 (Error object)
44
- * @returns 是否应该切换到浏览器模式 (Whether to switch to browser mode)
45
+ * @returns 是否应该切换到浏览器模式 (Whether should switch to browser mode)
45
46
  */
46
47
  export function shouldSwitchToBrowser(error) {
47
48
  // 检查错误是否表明需要浏览器模式 (Check if error indicates browser mode is needed)
48
49
  if (error && error.message) {
49
- const errorMessage = error.message.toLowerCase();
50
- return errorMessage.includes('403') ||
51
- errorMessage.includes('forbidden') ||
52
- errorMessage.includes('access denied') ||
53
- errorMessage.includes('cloudflare') ||
54
- errorMessage.includes('captcha') ||
55
- errorMessage.includes('javascript required') ||
56
- errorMessage.includes('timeout') ||
57
- errorMessage.includes('connect timeout') ||
58
- errorMessage.includes('socket') ||
59
- errorMessage.includes('econnrefused') ||
60
- errorMessage.includes('und_err_connect_timeout') ||
61
- errorMessage.includes('fetch failed');
50
+ const errorMessage = error.message;
51
+ return isAccessDeniedError(errorMessage) ||
52
+ isNetworkError(errorMessage) ||
53
+ errorMessage.toLowerCase().includes('javascript required') ||
54
+ errorMessage.toLowerCase().includes('und_err_connect_timeout') ||
55
+ errorMessage.toLowerCase().includes('fetch failed');
62
56
  }
63
57
  return false;
64
58
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../../src/lib/server/browser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,oCAAoC;AACpC,IAAI,kBAAkB,GAAG,KAAK,CAAC;AAE/B;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,QAAiB,KAAK;IAC5D,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,IAAI,KAAK,EAAE,CAAC;YACV,GAAG,CAAC,4BAA4B,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QAClE,CAAC;QACD,wFAAwF;QACxF,kBAAkB,GAAG,IAAI,CAAC;IAC5B,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,QAAiB,KAAK;IAC/D,IAAI,kBAAkB,EAAE,CAAC;QACvB,IAAI,KAAK,EAAE,CAAC;YACV,GAAG,CAAC,uBAAuB,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QAC7D,CAAC;QACD,MAAM,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACxC,kBAAkB,GAAG,KAAK,CAAC;IAC7B,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAU;IAC9C,oEAAoE;IACpE,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAC3B,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACjD,OAAO,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC5B,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC;YAClC,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC;YACtC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC;YACnC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC;YAChC,YAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAC5C,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC;YAChC,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACxC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC/B,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC;YACrC,YAAY,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YAChD,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAa,EAAE,GAAW;IACzD,uEAAuE;IACvE,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACzD,OAAO,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;YACzB,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC/B,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC;YACnC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC;YAChC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC7B,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YACzC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC7B,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Author: Martin <lmccc.dev@gmail.com>
3
+ * Co-Author: AI Assistant (Claude)
4
+ * Description: This code was collaboratively developed by Martin and AI Assistant.
5
+ */
6
+ import { FetchParams } from './types.js';
7
+ /**
8
+ * 辅助函数:根据类型和参数自动选择合适的获取方法 (Helper function: automatically select appropriate fetching method based on type and parameters)
9
+ * 支持自动在标准模式和浏览器模式之间切换 (Supports automatic switching between standard mode and browser mode)
10
+ * @param params 请求参数 (Request parameters)
11
+ * @param type 内容类型 (Content type)
12
+ * @returns 获取结果 (Fetch result)
13
+ */
14
+ export declare function fetchWithAutoDetect(params: FetchParams, type: 'html' | 'json' | 'txt' | 'markdown'): Promise<{
15
+ content: {
16
+ type: string;
17
+ text: any;
18
+ }[];
19
+ isError: boolean;
20
+ }>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetcher.js","sourceRoot":"","sources":["../../../../src/lib/server/fetcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Author: Martin <lmccc.dev@gmail.com>
3
+ * Co-Author: AI Assistant (Claude)
4
+ * Description: This code was collaboratively developed by Martin and AI Assistant.
5
+ */
6
+ /**
7
+ * 启动服务器 (Start the server)
8
+ * 初始化MCP服务器并设置信号处理 (Initialize MCP server and set up signal handling)
9
+ */
10
+ export declare function startServer(): Promise<void>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/server/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,WAAW;AACX,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB;IACE,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,OAAO;CACjB,EACD;IACE,YAAY,EAAE;QACZ,SAAS,EAAE;YACT,WAAW,EAAE,IAAI;SAClB;QACD,KAAK,EAAE,EAAE;QACT,OAAO,EAAE;YACP,WAAW,EAAE,IAAI;SAClB;KACF;CACF,CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,OAAO;IACP,aAAa,CAAC,MAAM,CAAC,CAAC;IAEtB,OAAO;IACP,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAE1B,OAAO;IACP,eAAe,CAAC,MAAM,CAAC,CAAC;IAExB,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACpD,mCAAmC;IACnC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAE7C,yDAAyD;IACzD,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;QACtB,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QACpD,qCAAqC;IACvC,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QAC9B,GAAG,CAAC,gCAAgC,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QACnE,MAAM,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QAC/B,GAAG,CAAC,gCAAgC,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QACnE,MAAM,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,WAAW;IACX,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAC9C,GAAG,CAAC,0BAA0B,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QACnF,MAAM,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QAC1E,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAChC,GAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,wBAAwB,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QAC1H,MAAM,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Author: Martin <lmccc.dev@gmail.com>
3
+ * Co-Author: AI Assistant (Claude)
4
+ * Description: This code was collaboratively developed by Martin and AI Assistant.
5
+ */
6
+ import { Server } from "@modelcontextprotocol/sdk/server/index.js";
7
+ /**
8
+ * 注册提示相关处理程序到服务器 (Register prompt handlers to server)
9
+ * @param server MCP服务器实例 (MCP server instance)
10
+ */
11
+ export declare function registerPrompts(server: Server): void;
@@ -8,7 +8,7 @@ import { log, COMPONENTS } from '../logger.js';
8
8
  import { t } from '../i18n/index.js';
9
9
  // 定义提示模板 (Define prompt templates)
10
10
  const PROMPTS = {
11
- "fetch-website": {
11
+ "mult-fetch-mcp:prompt:fetch-website": {
12
12
  name: "mult-fetch-mcp:prompt:fetch-website",
13
13
  description: t('prompts.fetchWebsite.description'),
14
14
  arguments: [
@@ -29,7 +29,7 @@ const PROMPTS = {
29
29
  }
30
30
  ]
31
31
  },
32
- "extract-content": {
32
+ "mult-fetch-mcp:prompt:extract-content": {
33
33
  name: "mult-fetch-mcp:prompt:extract-content",
34
34
  description: t('prompts.extractContent.description'),
35
35
  arguments: [
@@ -50,7 +50,7 @@ const PROMPTS = {
50
50
  }
51
51
  ]
52
52
  },
53
- "debug-fetch": {
53
+ "mult-fetch-mcp:prompt:debug-fetch": {
54
54
  name: "mult-fetch-mcp:prompt:debug-fetch",
55
55
  description: t('prompts.debugFetch.description'),
56
56
  arguments: [
@@ -99,7 +99,7 @@ export function registerPrompts(server) {
99
99
  }
100
100
  }
101
101
  // 根据提示名称和参数生成消息
102
- if (promptName === "fetch-website") {
102
+ if (promptName === "mult-fetch-mcp:prompt:fetch-website") {
103
103
  const url = args.url;
104
104
  const format = args.format || "html";
105
105
  let useBrowser = false;
@@ -152,7 +152,7 @@ export function registerPrompts(server) {
152
152
  ]
153
153
  };
154
154
  }
155
- else if (promptName === "extract-content") {
155
+ else if (promptName === "mult-fetch-mcp:prompt:extract-content") {
156
156
  const url = args.url;
157
157
  const selector = args.selector || "main";
158
158
  const dataType = args.dataType || "text";
@@ -171,7 +171,7 @@ export function registerPrompts(server) {
171
171
  ]
172
172
  };
173
173
  }
174
- else if (promptName === "debug-fetch") {
174
+ else if (promptName === "mult-fetch-mcp:prompt:debug-fetch") {
175
175
  const url = args.url;
176
176
  const error = args.error;
177
177
  return {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../../src/lib/server/prompts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Author: Martin <lmccc.dev@gmail.com>
3
+ * Co-Author: AI Assistant (Claude)
4
+ * Description: This code was collaboratively developed by Martin and AI Assistant.
5
+ */
6
+ import { Server } from "@modelcontextprotocol/sdk/server/index.js";
7
+ /**
8
+ * 注册资源相关处理程序到服务器 (Register resource handlers to server)
9
+ * @param server MCP服务器实例 (MCP server instance)
10
+ */
11
+ export declare function registerResources(server: Server): void;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.js","sourceRoot":"","sources":["../../../../src/lib/server/resources.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Author: Martin <lmccc.dev@gmail.com>
3
+ * Co-Author: AI Assistant (Claude)
4
+ * Description: This code was collaboratively developed by Martin and AI Assistant.
5
+ */
6
+ import { Server } from "@modelcontextprotocol/sdk/server/index.js";
7
+ /**
8
+ * 注册工具到服务器 (Register tools to server)
9
+ * 设置工具列表和处理程序 (Set up tool list and handlers)
10
+ * @param server MCP服务器实例 (MCP server instance)
11
+ */
12
+ export declare function registerTools(server: Server): void;