video-context-mcp-server 0.49.2-beta → 0.50.0-beta

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/README.md CHANGED
@@ -25,7 +25,7 @@ An MCP server that gives coding assistants (GitHub Copilot, Cursor, Claude Code)
25
25
 
26
26
  ### Prerequisites
27
27
 
28
- - **Node.js 18+**
28
+ - **Node.js 20+**
29
29
  - A supported MCP client (VS Code + GitHub Copilot Chat, Cursor, or Claude Code)
30
30
  - At least one API key — see [API Keys](#api-keys) below
31
31
 
@@ -266,8 +266,8 @@ Set all keys to get the full fallback chain. The server will try GLM first, then
266
266
  | **GLM-4.6V** (default, free-tier) | `Z_AI_API_KEY` | [Get key](https://z.ai/manage-apikey/apikey-list) |
267
267
  | **Gemini 3 Flash Preview** (free-tier) | `GEMINI_API_KEY` | [Get key](https://aistudio.google.com/app/apikey) |
268
268
  | **Qwen3.5** (free credits) | `DASHSCOPE_API_KEY` | [Get key](https://modelstudio.console.alibabacloud.com/ap-southeast-1?tab=dashboard#/api-key) |
269
- | **Kimi K2.5** | `MOONSHOT_API_KEY` | [Get key](https://platform.moonshot.ai) |
270
- | **MiMo-V2 Omni** (free launch promo) | `MIMO_API_KEY` | [Get key](https://platform.xiaomimimo.com/#/console/api-keys) |
269
+ | **Kimi K2.5** (paid) | `MOONSHOT_API_KEY` | [Get key](https://platform.moonshot.ai) |
270
+ | **MiMo-V2 Omni** (paid) | `MIMO_API_KEY` | [Get key](https://platform.xiaomimimo.com/#/console/api-keys) |
271
271
 
272
272
  When a provider's API key is missing or its API call fails at runtime, tools automatically fall back through the remaining providers in priority order, starting from the configured default:
273
273
 
@@ -298,13 +298,13 @@ When an audio key is missing or an audio API call fails at runtime, tools automa
298
298
 
299
299
  | Feature | GLM-4.6V (default) | Gemini 3 Flash Preview | Qwen3.5 | Kimi K2.5 | MiMo-V2 Omni |
300
300
  | -------------- | ------------------------------------------------------ | ---------------------------------------------- | ------------------------------------------------------ | ---------------------------------------------- | ------------------------------------------------------ |
301
- | Price | Free tier available (GLM-4.6V-Flash) | Free tier available | Free credits (1M tokens, 90 days) | $0.60 input / $3.00 output per 1M tokens | Free launch promo |
301
+ | Price | Free tier available (GLM-4.6V-Flash) | Free tier available | Free credits (1M tokens, 90 days) | $0.60 input / $3.00 output per 1M tokens | $0.40 input / $2.00 output per 1M tokens |
302
302
  | Video formats | mp4, avi, mov, wmv, webm, m4v | mp4, mpeg, mov, avi, flv, mpg, webm, wmv, 3gpp | mp4, avi, mov, wmv, webm, m4v | mp4, mpeg, mov, avi, flv, mpg, webm, wmv, 3gpp | mp4, mov, avi, wmv |
303
303
  | Context window | 128K tokens | 1M tokens | 1M tokens | 256K tokens | 256K tokens |
304
304
  | Max file size | ~12 MB base64 / frames fallback / **unlimited w/ S3↓** | 2 GB | ~10 MB base64 / frames fallback / **unlimited w/ S3↓** | 100 MB | ~10 MB base64 / frames fallback / **unlimited w/ S3↓** |
305
- | Best for | **Default** — free, no card required | Free fallback, no card (less accurate) | Free credits (card required) | Paid — broadest format support | Free launch promo; thinking mode |
305
+ | Best for | **Default** — free, no card required | Free fallback, no card (less accurate) | Free credits (card required) | Paid — broadest format support | Paid thinking mode; multimodal |
306
306
 
307
- **GLM-4.6V** is the default — it offers a free tier with no credit card required. **Gemini** is the second fallback — also free with no card required, though it has proven less accurate for video analysis in practice. **Qwen3.5** offers free credits (1M tokens for 90 days) but requires a credit card to sign up. **Kimi K2.5** is a paid provider with the broadest video format support. **MiMo-V2 Omni** is Xiaomi's multimodal model with thinking mode support and a free launch promotion.
307
+ **GLM-4.6V** is the default — it offers a free tier with no credit card required. **Gemini** is the second fallback — also free with no card required, though it has proven less accurate for video analysis in practice. **Qwen3.5** offers free credits (1M tokens for 90 days) but requires a credit card to sign up. **Kimi K2.5** is a paid provider with the broadest video format support. **MiMo-V2 Omni** is Xiaomi's multimodal model with thinking mode support ($0.40 input / $2.00 output per 1M tokens).
308
308
 
309
309
  Set `VIDEO_MCP_DEFAULT_PROVIDER=gemini`, `qwen`, `kimi`, or `mimo` to change the default.
310
310
 
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.49.1-beta";
1
+ export declare const VERSION = "0.50.0-beta";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1,3 +1,3 @@
1
1
  // Auto-generated by scripts/sync-version.ts — do not edit
2
- export const VERSION = '0.49.1-beta';
2
+ export const VERSION = '0.50.0-beta';
3
3
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"deepgramClient.d.ts","sourceRoot":"","sources":["../../../src/services/audio/deepgramClient.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EAGf,MAAM,2BAA2B,CAAA;AASlC,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAqMD,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAQ;gBAEV,MAAM,EAAE,MAAM;IAI1B;;;;OAIG;IACG,UAAU,CACd,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,cAAc,CAAC;CAuB3B"}
1
+ {"version":3,"file":"deepgramClient.d.ts","sourceRoot":"","sources":["../../../src/services/audio/deepgramClient.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EAGf,MAAM,2BAA2B,CAAA;AASlC,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAqMD,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAQ;gBAEV,MAAM,EAAE,MAAM;IAI1B;;;;OAIG;IACG,UAAU,CACd,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,cAAc,CAAC;CAkB3B"}
@@ -1,5 +1,4 @@
1
- import { createClient } from '@deepgram/sdk';
2
- import * as fs from 'fs/promises';
1
+ import { DeepgramClient as DGClient } from '@deepgram/sdk';
3
2
  /**
4
3
  * Deepgram Audio Client
5
4
  * Transcribes audio files using Deepgram's Nova-2 model
@@ -103,12 +102,8 @@ export class DeepgramClient {
103
102
  * @param options - Transcription options
104
103
  */
105
104
  async transcribe(audioPath, options = {}) {
106
- const client = createClient(this.apiKey);
107
- const audioBuffer = await fs.readFile(audioPath);
108
- const { result, error } = await client.listen.prerecorded.transcribeFile(audioBuffer, buildDeepgramRequest(options));
109
- if (error) {
110
- throw new Error(`Deepgram transcription error: ${error.message}`);
111
- }
105
+ const client = new DGClient({ apiKey: this.apiKey });
106
+ const result = (await client.listen.v1.media.transcribeFile({ path: audioPath }, buildDeepgramRequest(options)));
112
107
  const { paragraphs, text } = buildTranscript(result, options);
113
108
  return {
114
109
  text,
@@ -1 +1 @@
1
- {"version":3,"file":"deepgramClient.js","sourceRoot":"","sources":["../../../src/services/audio/deepgramClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deepgramClient.js","sourceRoot":"","sources":["../../../src/services/audio/deepgramClient.ts"],"names":[],"mappings":"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"}
@@ -4,101 +4,87 @@
4
4
  * file (for deriving typed params via z.infer<>).
5
5
  */
6
6
  import { z } from 'zod';
7
- export declare const videoProviderEnum: z.ZodEnum<["glm", "kimi", "gemini", "qwen", "mimo"]>;
8
- export declare const audioProviderEnum: z.ZodEnum<["deepgram", "assemblyai", "groq", "gemini"]>;
7
+ export declare const videoProviderEnum: z.ZodEnum<{
8
+ glm: "glm";
9
+ kimi: "kimi";
10
+ gemini: "gemini";
11
+ qwen: "qwen";
12
+ mimo: "mimo";
13
+ }>;
14
+ export declare const audioProviderEnum: z.ZodEnum<{
15
+ gemini: "gemini";
16
+ deepgram: "deepgram";
17
+ assemblyai: "assemblyai";
18
+ groq: "groq";
19
+ }>;
9
20
  export declare const analyzeVideoSchema: z.ZodObject<{
10
21
  videoPath: z.ZodString;
11
22
  question: z.ZodString;
12
- provider: z.ZodOptional<z.ZodEnum<["glm", "kimi", "gemini", "qwen", "mimo"]>>;
13
- }, "strip", z.ZodTypeAny, {
14
- videoPath: string;
15
- question: string;
16
- provider?: "glm" | "kimi" | "gemini" | "qwen" | "mimo" | undefined;
17
- }, {
18
- videoPath: string;
19
- question: string;
20
- provider?: "glm" | "kimi" | "gemini" | "qwen" | "mimo" | undefined;
21
- }>;
23
+ provider: z.ZodOptional<z.ZodEnum<{
24
+ glm: "glm";
25
+ kimi: "kimi";
26
+ gemini: "gemini";
27
+ qwen: "qwen";
28
+ mimo: "mimo";
29
+ }>>;
30
+ }, z.core.$strip>;
22
31
  export declare const summarizeVideoSchema: z.ZodObject<{
23
32
  videoPath: z.ZodString;
24
- provider: z.ZodOptional<z.ZodEnum<["glm", "kimi", "gemini", "qwen", "mimo"]>>;
25
- }, "strip", z.ZodTypeAny, {
26
- videoPath: string;
27
- provider?: "glm" | "kimi" | "gemini" | "qwen" | "mimo" | undefined;
28
- }, {
29
- videoPath: string;
30
- provider?: "glm" | "kimi" | "gemini" | "qwen" | "mimo" | undefined;
31
- }>;
33
+ provider: z.ZodOptional<z.ZodEnum<{
34
+ glm: "glm";
35
+ kimi: "kimi";
36
+ gemini: "gemini";
37
+ qwen: "qwen";
38
+ mimo: "mimo";
39
+ }>>;
40
+ }, z.core.$strip>;
32
41
  export declare const extractFramesSchema: z.ZodObject<{
33
42
  videoPath: z.ZodString;
34
- mode: z.ZodEnum<["even", "interval", "timestamps", "scene"]>;
43
+ mode: z.ZodEnum<{
44
+ even: "even";
45
+ interval: "interval";
46
+ timestamps: "timestamps";
47
+ scene: "scene";
48
+ }>;
35
49
  count: z.ZodOptional<z.ZodNumber>;
36
50
  intervalSec: z.ZodOptional<z.ZodNumber>;
37
- timestamps: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
51
+ timestamps: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
38
52
  maxImages: z.ZodOptional<z.ZodNumber>;
39
53
  offset: z.ZodOptional<z.ZodNumber>;
40
54
  sceneThreshold: z.ZodOptional<z.ZodNumber>;
41
- }, "strip", z.ZodTypeAny, {
42
- videoPath: string;
43
- mode: "even" | "interval" | "timestamps" | "scene";
44
- timestamps?: number[] | undefined;
45
- count?: number | undefined;
46
- intervalSec?: number | undefined;
47
- maxImages?: number | undefined;
48
- offset?: number | undefined;
49
- sceneThreshold?: number | undefined;
50
- }, {
51
- videoPath: string;
52
- mode: "even" | "interval" | "timestamps" | "scene";
53
- timestamps?: number[] | undefined;
54
- count?: number | undefined;
55
- intervalSec?: number | undefined;
56
- maxImages?: number | undefined;
57
- offset?: number | undefined;
58
- sceneThreshold?: number | undefined;
59
- }>;
55
+ }, z.core.$strip>;
60
56
  export declare const searchTimestampSchema: z.ZodObject<{
61
57
  videoPath: z.ZodString;
62
58
  query: z.ZodString;
63
- provider: z.ZodOptional<z.ZodEnum<["glm", "kimi", "gemini", "qwen", "mimo"]>>;
64
- }, "strip", z.ZodTypeAny, {
65
- videoPath: string;
66
- query: string;
67
- provider?: "glm" | "kimi" | "gemini" | "qwen" | "mimo" | undefined;
68
- }, {
69
- videoPath: string;
70
- query: string;
71
- provider?: "glm" | "kimi" | "gemini" | "qwen" | "mimo" | undefined;
72
- }>;
59
+ provider: z.ZodOptional<z.ZodEnum<{
60
+ glm: "glm";
61
+ kimi: "kimi";
62
+ gemini: "gemini";
63
+ qwen: "qwen";
64
+ mimo: "mimo";
65
+ }>>;
66
+ }, z.core.$strip>;
73
67
  export declare const getVideoInfoSchema: z.ZodObject<{
74
68
  videoPath: z.ZodString;
75
- }, "strip", z.ZodTypeAny, {
76
- videoPath: string;
77
- }, {
78
- videoPath: string;
79
- }>;
69
+ }, z.core.$strip>;
80
70
  export declare const transcribeVideoSchema: z.ZodObject<{
81
71
  videoPath: z.ZodString;
82
- provider: z.ZodOptional<z.ZodEnum<["deepgram", "assemblyai", "groq", "gemini"]>>;
72
+ provider: z.ZodOptional<z.ZodEnum<{
73
+ gemini: "gemini";
74
+ deepgram: "deepgram";
75
+ assemblyai: "assemblyai";
76
+ groq: "groq";
77
+ }>>;
83
78
  language: z.ZodOptional<z.ZodString>;
84
79
  diarize: z.ZodOptional<z.ZodBoolean>;
85
80
  translate: z.ZodOptional<z.ZodBoolean>;
86
- outputFormat: z.ZodOptional<z.ZodEnum<["text", "srt", "vtt", "json"]>>;
87
- }, "strip", z.ZodTypeAny, {
88
- videoPath: string;
89
- language?: string | undefined;
90
- diarize?: boolean | undefined;
91
- provider?: "gemini" | "deepgram" | "assemblyai" | "groq" | undefined;
92
- translate?: boolean | undefined;
93
- outputFormat?: "text" | "json" | "srt" | "vtt" | undefined;
94
- }, {
95
- videoPath: string;
96
- language?: string | undefined;
97
- diarize?: boolean | undefined;
98
- provider?: "gemini" | "deepgram" | "assemblyai" | "groq" | undefined;
99
- translate?: boolean | undefined;
100
- outputFormat?: "text" | "json" | "srt" | "vtt" | undefined;
101
- }>;
81
+ outputFormat: z.ZodOptional<z.ZodEnum<{
82
+ text: "text";
83
+ json: "json";
84
+ srt: "srt";
85
+ vtt: "vtt";
86
+ }>>;
87
+ }, z.core.$strip>;
102
88
  export type AnalyzeVideoParams = z.infer<typeof analyzeVideoSchema>;
103
89
  export type SummarizeVideoParams = z.infer<typeof summarizeVideoSchema>;
104
90
  export type ExtractFramesParams = z.infer<typeof extractFramesSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/tools/schemas.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,eAAO,MAAM,iBAAiB,sDAM5B,CAAA;AACF,eAAO,MAAM,iBAAiB,yDAK5B,CAAA;AAIF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EAQ7B,CAAA;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;EAO/B,CAAA;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwD9B,CAAA;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;EAgBhC,CAAA;AAEF,eAAO,MAAM,kBAAkB;;;;;;EAM7B,CAAA;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;EAmChC,CAAA;AAIF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AACnE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AACvE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AACrE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AACzE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AACnE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AACzE,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAA"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/tools/schemas.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,eAAO,MAAM,iBAAiB;;;;;;EAM5B,CAAA;AACF,eAAO,MAAM,iBAAiB;;;;;EAK5B,CAAA;AAIF,eAAO,MAAM,kBAAkB;;;;;;;;;;iBAQ7B,CAAA;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;iBAO/B,CAAA;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;iBAwD9B,CAAA;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;iBAgBhC,CAAA;AAEF,eAAO,MAAM,kBAAkB;;iBAM7B,CAAA;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;iBAmChC,CAAA;AAIF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AACnE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AACvE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AACrE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AACzE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AACnE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AACzE,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "video-context-mcp-server",
3
- "version": "0.49.2-beta",
3
+ "version": "0.50.0-beta",
4
4
  "description": "A Model Context Protocol server that gives GitHub Copilot the ability to understand and analyze video content",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -39,17 +39,17 @@
39
39
  "dependencies": {
40
40
  "@aws-sdk/client-s3": "^3.1009.0",
41
41
  "@aws-sdk/s3-request-presigner": "^3.1009.0",
42
- "@deepgram/sdk": "^4.11.3",
42
+ "@deepgram/sdk": "^5.0.0",
43
43
  "@ffmpeg-installer/ffmpeg": "^1.1.0",
44
44
  "@ffprobe-installer/ffprobe": "^2.1.0",
45
45
  "@google/genai": "^1.42.0",
46
46
  "@modelcontextprotocol/sdk": "^1.26.0",
47
47
  "assemblyai": "^4.23.1",
48
48
  "fluent-ffmpeg": "^2.1.3",
49
- "openai": "^4.0.0",
49
+ "openai": "^6.32.0",
50
50
  "p-limit": "^7.3.0",
51
51
  "youtube-dl-exec": "^3.1.3",
52
- "zod": "^3.25.0"
52
+ "zod": "^4.3.6"
53
53
  },
54
54
  "devDependencies": {
55
55
  "@eslint/js": "^10.0.1",
@@ -67,9 +67,9 @@
67
67
  "vitest": "^4.0.18"
68
68
  },
69
69
  "engines": {
70
- "node": ">=18.0.0"
70
+ "node": ">=20.0.0"
71
71
  },
72
72
  "overrides": {
73
73
  "minimatch": ">=10.2.1"
74
74
  }
75
- }
75
+ }