ai-vision-mcp 0.0.5 → 0.0.6-dev.2

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 (108) hide show
  1. package/README.md +102 -132
  2. package/dist/cli/commands/analyze-image.d.ts +3 -0
  3. package/dist/cli/commands/analyze-image.d.ts.map +1 -0
  4. package/dist/cli/commands/analyze-image.js +30 -0
  5. package/dist/cli/commands/analyze-image.js.map +1 -0
  6. package/dist/cli/commands/analyze-video.d.ts +3 -0
  7. package/dist/cli/commands/analyze-video.d.ts.map +1 -0
  8. package/dist/cli/commands/analyze-video.js +30 -0
  9. package/dist/cli/commands/analyze-video.js.map +1 -0
  10. package/dist/cli/commands/compare-images.d.ts +3 -0
  11. package/dist/cli/commands/compare-images.d.ts.map +1 -0
  12. package/dist/cli/commands/compare-images.js +30 -0
  13. package/dist/cli/commands/compare-images.js.map +1 -0
  14. package/dist/cli/commands/detect-objects.d.ts +3 -0
  15. package/dist/cli/commands/detect-objects.d.ts.map +1 -0
  16. package/dist/cli/commands/detect-objects.js +31 -0
  17. package/dist/cli/commands/detect-objects.js.map +1 -0
  18. package/dist/cli/index.d.ts +3 -0
  19. package/dist/cli/index.d.ts.map +1 -0
  20. package/dist/cli/index.js +63 -0
  21. package/dist/cli/index.js.map +1 -0
  22. package/dist/cli/utils.d.ts +17 -0
  23. package/dist/cli/utils.d.ts.map +1 -0
  24. package/dist/cli/utils.js +85 -0
  25. package/dist/cli/utils.js.map +1 -0
  26. package/dist/file-upload/gemini/GeminiFilesAPI.js +1 -1
  27. package/dist/file-upload/gemini/GeminiFilesAPI.js.map +1 -1
  28. package/dist/file-upload/vertexai/VertexAIStorageStrategy.js +1 -1
  29. package/dist/file-upload/vertexai/VertexAIStorageStrategy.js.map +1 -1
  30. package/dist/index.d.ts +1 -1
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +17 -1
  33. package/dist/index.js.map +1 -1
  34. package/dist/providers/base/VisionProvider.d.ts +9 -0
  35. package/dist/providers/base/VisionProvider.d.ts.map +1 -1
  36. package/dist/providers/base/VisionProvider.js +67 -12
  37. package/dist/providers/base/VisionProvider.js.map +1 -1
  38. package/dist/providers/gemini/GeminiProvider.d.ts +2 -0
  39. package/dist/providers/gemini/GeminiProvider.d.ts.map +1 -1
  40. package/dist/providers/gemini/GeminiProvider.js +88 -9
  41. package/dist/providers/gemini/GeminiProvider.js.map +1 -1
  42. package/dist/providers/vertexai/VertexAIProvider.d.ts +5 -0
  43. package/dist/providers/vertexai/VertexAIProvider.d.ts.map +1 -1
  44. package/dist/providers/vertexai/VertexAIProvider.js +177 -17
  45. package/dist/providers/vertexai/VertexAIProvider.js.map +1 -1
  46. package/dist/server.d.ts +1 -1
  47. package/dist/server.d.ts.map +1 -1
  48. package/dist/server.js +159 -52
  49. package/dist/server.js.map +1 -1
  50. package/dist/services/ConfigService.d.ts +3 -0
  51. package/dist/services/ConfigService.d.ts.map +1 -1
  52. package/dist/services/ConfigService.js +45 -0
  53. package/dist/services/ConfigService.js.map +1 -1
  54. package/dist/services/FileService.d.ts.map +1 -1
  55. package/dist/services/FileService.js +10 -10
  56. package/dist/services/FileService.js.map +1 -1
  57. package/dist/services/LoggerService.d.ts +19 -0
  58. package/dist/services/LoggerService.d.ts.map +1 -0
  59. package/dist/services/LoggerService.js +74 -0
  60. package/dist/services/LoggerService.js.map +1 -0
  61. package/dist/tools/analyze_image.js +3 -3
  62. package/dist/tools/analyze_image.js.map +1 -1
  63. package/dist/tools/analyze_video.d.ts +11 -1
  64. package/dist/tools/analyze_video.d.ts.map +1 -1
  65. package/dist/tools/analyze_video.js +37 -1
  66. package/dist/tools/analyze_video.js.map +1 -1
  67. package/dist/tools/compare_images.js +3 -3
  68. package/dist/tools/compare_images.js.map +1 -1
  69. package/dist/tools/detect_objects_in_image.d.ts.map +1 -1
  70. package/dist/tools/detect_objects_in_image.js +89 -67
  71. package/dist/tools/detect_objects_in_image.js.map +1 -1
  72. package/dist/tools/index.d.ts +1 -1
  73. package/dist/tools/index.d.ts.map +1 -1
  74. package/dist/tools/index.js +1 -1
  75. package/dist/tools/index.js.map +1 -1
  76. package/dist/types/Analysis.d.ts +6 -0
  77. package/dist/types/Analysis.d.ts.map +1 -1
  78. package/dist/types/Config.d.ts +3 -2
  79. package/dist/types/Config.d.ts.map +1 -1
  80. package/dist/utils/credentialsParser.d.ts +7 -3
  81. package/dist/utils/credentialsParser.d.ts.map +1 -1
  82. package/dist/utils/credentialsParser.js +63 -19
  83. package/dist/utils/credentialsParser.js.map +1 -1
  84. package/dist/utils/duration.d.ts +4 -0
  85. package/dist/utils/duration.d.ts.map +1 -0
  86. package/dist/utils/duration.js +65 -0
  87. package/dist/utils/duration.js.map +1 -0
  88. package/dist/utils/imageAnnotator.d.ts +4 -2
  89. package/dist/utils/imageAnnotator.d.ts.map +1 -1
  90. package/dist/utils/imageAnnotator.js +80 -89
  91. package/dist/utils/imageAnnotator.js.map +1 -1
  92. package/dist/utils/index.d.ts +2 -0
  93. package/dist/utils/index.d.ts.map +1 -1
  94. package/dist/utils/index.js +2 -0
  95. package/dist/utils/index.js.map +1 -1
  96. package/dist/utils/validation.d.ts +124 -9
  97. package/dist/utils/validation.d.ts.map +1 -1
  98. package/dist/utils/validation.js +8 -1
  99. package/dist/utils/validation.js.map +1 -1
  100. package/dist/utils/videoTokens.d.ts +23 -0
  101. package/dist/utils/videoTokens.d.ts.map +1 -0
  102. package/dist/utils/videoTokens.js +94 -0
  103. package/dist/utils/videoTokens.js.map +1 -0
  104. package/dist/utils/youtube.d.ts +5 -0
  105. package/dist/utils/youtube.d.ts.map +1 -0
  106. package/dist/utils/youtube.js +62 -0
  107. package/dist/utils/youtube.js.map +1 -0
  108. package/package.json +22 -11
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai-vision-mcp",
3
- "version": "0.0.5",
3
+ "version": "0.0.6-dev.2",
4
4
  "description": "Vision MCP server that provides AI-powered image and video analysis using Google Gemini and Vertex AI",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -12,12 +12,20 @@
12
12
  "lint:fix": "eslint src/**/*.ts --fix",
13
13
  "format": "prettier --write src/**/*.ts",
14
14
  "prepare": "npm run build",
15
+ "check:imagescript": "node -e \"import('imagescript').then(()=>console.error('imagescript:ok')).catch(e=>{console.error('imagescript:fail'); console.error(e&&e.message||e); process.exit(1);})\"",
16
+ "doctor": "npm run check:imagescript",
15
17
  "prepublishOnly": "npm run lint",
16
18
  "preversion": "npm run lint",
17
19
  "version": "npm run format && git add -A src",
18
20
  "postversion": "git push && git push --tags",
19
21
  "publish-registry": "mcp-publisher publish",
20
- "publish-registry:dry-run": "mcp-publisher publish --dry-run"
22
+ "publish-registry:dry-run": "mcp-publisher publish --dry-run",
23
+ "test": "vitest run",
24
+ "test:e2e": "vitest run tests/e2e",
25
+ "test:e2e:protocol": "vitest run tests/e2e/protocol.test.ts",
26
+ "test:e2e:ci": "vitest run tests/e2e/protocol.test.ts tests/e2e/validation.test.ts",
27
+ "test:e2e:cli": "vitest run tests/e2e/cli.test.ts",
28
+ "test:watch": "vitest watch"
21
29
  },
22
30
  "keywords": [
23
31
  "mcp",
@@ -29,10 +37,11 @@
29
37
  "vertex-ai",
30
38
  "google-ai"
31
39
  ],
32
- "author": "Your Name <your.email@example.com>",
40
+ "author": "Tan Yong Sheng <tys203831@gmail.com>",
33
41
  "license": "MIT",
34
42
  "bin": {
35
- "ai-vision-mcp": "dist/index.js"
43
+ "ai-vision-mcp": "dist/index.js",
44
+ "ai-vision": "dist/index.js"
36
45
  },
37
46
  "files": [
38
47
  "dist",
@@ -48,21 +57,18 @@
48
57
  },
49
58
  "homepage": "https://github.com/tan-yong-sheng/ai-vision-mcp#readme",
50
59
  "dependencies": {
51
- "@aws-sdk/client-s3": "^3.901.0",
52
- "@google-cloud/storage": "^7.17.1",
60
+ "@google-cloud/storage": "^7.19.0",
53
61
  "@google/genai": "^1.24.0",
54
- "@modelcontextprotocol/sdk": "^1.0.0",
62
+ "@modelcontextprotocol/sdk": "^1.26.0",
55
63
  "dotenv": "^16.4.5",
64
+ "imagescript": "^1.3.0",
56
65
  "mime-types": "^2.1.35",
57
66
  "node-fetch": "^3.3.2",
58
- "sharp": "^0.33.5",
59
67
  "zod": "^3.23.8"
60
68
  },
61
69
  "devDependencies": {
62
- "@types/glob": "^8.1.0",
63
70
  "@types/html-to-text": "^9.0.4",
64
71
  "@types/http-cache-semantics": "^4.0.4",
65
- "@types/long": "^4.0.2",
66
72
  "@types/mime-types": "^2.1.4",
67
73
  "@types/node": "^20.14.0",
68
74
  "@types/phoenix": "^1.6.6",
@@ -70,11 +76,16 @@
70
76
  "@types/yauzl": "^2.10.3",
71
77
  "@typescript-eslint/eslint-plugin": "^7.18.0",
72
78
  "@typescript-eslint/parser": "^7.18.0",
79
+ "@vitest/coverage-v8": "^4.0.18",
80
+ "depcheck": "^1.4.7",
73
81
  "eslint": "^8.57.0",
74
82
  "eslint-config-prettier": "^9.1.2",
75
83
  "eslint-plugin-prettier": "^5.5.4",
84
+ "knip": "^5.83.1",
76
85
  "prettier": "^3.3.2",
77
- "typescript": "^5.5.0"
86
+ "ts-prune": "^0.10.3",
87
+ "typescript": "^5.5.0",
88
+ "vitest": "^4.0.18"
78
89
  },
79
90
  "engines": {
80
91
  "node": ">=18.0.0"