@lmcc-dev/mult-fetch-mcp-server 1.2.1 → 1.3.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 (81) hide show
  1. package/README.md +80 -29
  2. package/README.zh.md +80 -29
  3. package/dist/i18n-test-report.json +2 -2
  4. package/dist/i18n-unused-keys-report.json +4 -4
  5. package/dist/src/client.js +522 -131
  6. package/dist/src/index.js +0 -0
  7. package/dist/src/lib/fetch.js +8 -0
  8. package/dist/src/lib/fetchers/browser/BrowserFetcher.js +139 -199
  9. package/dist/src/lib/fetchers/common/BaseFetcher.js +203 -0
  10. package/dist/src/lib/fetchers/common/types.js +4 -0
  11. package/dist/src/lib/fetchers/common/utils.js +1 -1
  12. package/dist/src/lib/fetchers/index.js +11 -0
  13. package/dist/src/lib/fetchers/node/NodeFetcher.js +91 -66
  14. package/dist/src/lib/i18n/keys/browser.js +40 -2
  15. package/dist/src/lib/i18n/keys/chunkManager.js +43 -0
  16. package/dist/src/lib/i18n/keys/client.js +53 -1
  17. package/dist/src/lib/i18n/keys/contentSize.js +20 -0
  18. package/dist/src/lib/i18n/keys/fetcher.js +88 -79
  19. package/dist/src/lib/i18n/keys/index.js +4 -0
  20. package/dist/src/lib/i18n/keys/node.js +7 -1
  21. package/dist/src/lib/i18n/keys/processor.js +30 -0
  22. package/dist/src/lib/i18n/keys/tools.js +5 -1
  23. package/dist/src/lib/i18n/keys/url.js +45 -0
  24. package/dist/src/lib/i18n/keys.js +25 -0
  25. package/dist/src/lib/i18n/locales/en/browser.js +52 -14
  26. package/dist/src/lib/i18n/locales/en/chunkManager.js +41 -0
  27. package/dist/src/lib/i18n/locales/en/client.js +62 -9
  28. package/dist/src/lib/i18n/locales/en/contentSize.js +17 -0
  29. package/dist/src/lib/i18n/locales/en/fetcher.js +50 -30
  30. package/dist/src/lib/i18n/locales/en/index.js +9 -1
  31. package/dist/src/lib/i18n/locales/en/node.js +26 -20
  32. package/dist/src/lib/i18n/locales/en/processor.js +28 -0
  33. package/dist/src/lib/i18n/locales/en/tools.js +5 -1
  34. package/dist/src/lib/i18n/locales/en/url.js +40 -0
  35. package/dist/src/lib/i18n/locales/en.js +51 -0
  36. package/dist/src/lib/i18n/locales/zh/browser.js +85 -47
  37. package/dist/src/lib/i18n/locales/zh/chunkManager.js +41 -0
  38. package/dist/src/lib/i18n/locales/zh/client.js +53 -1
  39. package/dist/src/lib/i18n/locales/zh/contentSize.js +17 -0
  40. package/dist/src/lib/i18n/locales/zh/fetcher.js +67 -47
  41. package/dist/src/lib/i18n/locales/zh/index.js +9 -1
  42. package/dist/src/lib/i18n/locales/zh/node.js +50 -44
  43. package/dist/src/lib/i18n/locales/zh/processor.js +28 -0
  44. package/dist/src/lib/i18n/locales/zh/tools.js +5 -1
  45. package/dist/src/lib/i18n/locales/zh/url.js +40 -0
  46. package/dist/src/lib/i18n/locales/zh.js +51 -0
  47. package/dist/src/lib/logger.js +11 -2
  48. package/dist/src/lib/server/fetcher.js +15 -5
  49. package/dist/src/lib/server/tools.js +202 -52
  50. package/dist/src/lib/types.js +5 -0
  51. package/dist/src/lib/utils/ChunkManager.js +177 -0
  52. package/dist/src/lib/utils/ContentProcessor.js +134 -0
  53. package/dist/src/lib/utils/ContentSizeManager.js +123 -0
  54. package/dist/src/lib/utils/TemplateUtils.js +71 -0
  55. package/dist/src/lib/utils/errors.js +2 -8
  56. package/dist/src/mcp-server.js +0 -0
  57. package/dist/src/test-i18n.js +0 -0
  58. package/dist/tests/BrowserFetcher.test.js +0 -0
  59. package/dist/tests/NodeFetcher.test.js +0 -0
  60. package/dist/tests/client.test.js +0 -0
  61. package/dist/tests/fetch.test.js +0 -0
  62. package/dist/tests/fetchers/plain-text.test.js +146 -0
  63. package/dist/tests/i18n-missing-keys.js +0 -0
  64. package/dist/tests/i18n-remove-unused-keys.js +0 -0
  65. package/dist/tests/i18n-unused-keys.js +0 -0
  66. package/dist/tests/i18n.test.js +0 -0
  67. package/dist/tests/logger.test.js +0 -0
  68. package/dist/tests/mcp-server.test.js +0 -0
  69. package/dist/tests/server/fetcher.test.js +69 -15
  70. package/dist/tests/server/tools.test.js +165 -16
  71. package/dist/tests/setup.js +0 -0
  72. package/dist/tests/test-direct-client.js +113 -5
  73. package/dist/tests/test-i18n.js +0 -0
  74. package/dist/tests/test-mcp-methods.js +67 -1
  75. package/dist/tests/test-mcp.js +83 -3
  76. package/dist/tests/test-mini4k.js +90 -3
  77. package/dist/tests/types.test.js +0 -0
  78. package/dist/tests/utils/ChunkManager.test.js +163 -0
  79. package/dist/tests/utils/ContentSizeManager.test.js +170 -0
  80. package/dist/vitest.config.js +0 -0
  81. package/package.json +27 -23
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lmcc-dev/mult-fetch-mcp-server",
3
- "version": "1.2.1",
3
+ "version": "1.3.0",
4
4
  "description": "An MCP protocol-based web content fetching tool that supports multiple modes and formats, can be integrated with AI assistants like Claude",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -20,6 +20,28 @@
20
20
  "engines": {
21
21
  "node": ">=18"
22
22
  },
23
+ "scripts": {
24
+ "build": "tsc && shx chmod +x dist/src/*.js dist/tests/*.js || true && shx chmod +x dist/*.js || true",
25
+ "prepare": "pnpm run build",
26
+ "dev": "tsc --watch",
27
+ "start": "node dist/index.js",
28
+ "test:mcp": "node dist/tests/test-mcp.js",
29
+ "test:mini4k": "node dist/tests/test-mini4k.js",
30
+ "test:direct": "node dist/tests/test-direct-client.js",
31
+ "test:methods": "node dist/tests/test-mcp-methods.js",
32
+ "test:i18n": "pnpm run build && node dist/tests/test-i18n.js",
33
+ "test:i18n:unused": "pnpm run build && node dist/tests/i18n-unused-keys.js",
34
+ "test:i18n:missing": "pnpm run build && node --loader ts-node/esm tests/i18n-missing-keys.ts",
35
+ "test": "vitest run",
36
+ "test:watch": "vitest",
37
+ "test:coverage": "vitest run --coverage",
38
+ "client": "node dist/src/client.js",
39
+ "server": "node dist/index.js",
40
+ "prepublishOnly": "pnpm run build",
41
+ "release": "pnpm publish --access public",
42
+ "codecov": "vitest run --coverage && codecov",
43
+ "test:ci": "vitest run --coverage && codecov"
44
+ },
23
45
  "keywords": [
24
46
  "mcp",
25
47
  "model-context-protocol",
@@ -37,6 +59,8 @@
37
59
  ],
38
60
  "dependencies": {
39
61
  "@modelcontextprotocol/sdk": "^1.7.0",
62
+ "@types/html-to-text": "^9.0.4",
63
+ "html-to-text": "^9.0.5",
40
64
  "http-proxy-agent": "^7.0.2",
41
65
  "https-proxy-agent": "^7.0.6",
42
66
  "i18next": "^24.2.2",
@@ -69,25 +93,5 @@
69
93
  "README.zh.md",
70
94
  "LICENSE",
71
95
  "images"
72
- ],
73
- "scripts": {
74
- "build": "tsc && shx chmod +x dist/src/*.js dist/tests/*.js || true && shx chmod +x dist/*.js || true",
75
- "dev": "tsc --watch",
76
- "start": "node dist/index.js",
77
- "test:mcp": "node dist/tests/test-mcp.js",
78
- "test:mini4k": "node dist/tests/test-mini4k.js",
79
- "test:direct": "node dist/tests/test-direct-client.js",
80
- "test:methods": "node dist/tests/test-mcp-methods.js",
81
- "test:i18n": "pnpm run build && node dist/tests/test-i18n.js",
82
- "test:i18n:unused": "pnpm run build && node dist/tests/i18n-unused-keys.js",
83
- "test:i18n:missing": "pnpm run build && node --loader ts-node/esm tests/i18n-missing-keys.ts",
84
- "test": "vitest run",
85
- "test:watch": "vitest",
86
- "test:coverage": "vitest run --coverage",
87
- "client": "node dist/src/client.js",
88
- "server": "node dist/index.js",
89
- "release": "pnpm publish --access public",
90
- "codecov": "vitest run --coverage && codecov",
91
- "test:ci": "vitest run --coverage && codecov"
92
- }
93
- }
96
+ ]
97
+ }