video-context-mcp-server 0.46.0-beta → 0.47.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
@@ -288,24 +288,24 @@ When an audio key is missing or an audio API call fails at runtime, tools automa
288
288
 
289
289
  ### Video Providers
290
290
 
291
- | Feature | GLM-4.6V (default) | Gemini 3 Flash Preview | Qwen3.5 | Kimi K2.5 |
292
- | -------------- | ------------------------------------ | ---------------------------------------------- | ------------------------------------ | ---------------------------------------------- |
293
- | 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 |
294
- | 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 |
295
- | Context window | 128K tokens | 1M tokens | 1M tokens | 256K tokens |
296
- | Max file size | ~12 MB base64 / **unlimited w/ S3↓** | 2 GB | ~10 MB base64 / **unlimited w/ S3↓** | 100 MB |
297
- | Best for | **Default** — free, no card required | Free fallback, no card (less accurate) | Free credits (card required) | Paid — broadest format support |
291
+ | Feature | GLM-4.6V (default) | Gemini 3 Flash Preview | Qwen3.5 | Kimi K2.5 |
292
+ | -------------- | ------------------------------------------------------ | ---------------------------------------------- | ------------------------------------------------------ | ---------------------------------------------- |
293
+ | 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 |
294
+ | 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 |
295
+ | Context window | 128K tokens | 1M tokens | 1M tokens | 256K tokens |
296
+ | Max file size | ~12 MB base64 / frames fallback / **unlimited w/ S3↓** | 2 GB | ~10 MB base64 / frames fallback / **unlimited w/ S3↓** | 100 MB |
297
+ | Best for | **Default** — free, no card required | Free fallback, no card (less accurate) | Free credits (card required) | Paid — broadest format support |
298
298
 
299
299
  **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.
300
300
 
301
301
  Set `VIDEO_MCP_DEFAULT_PROVIDER=gemini`, `qwen`, or `kimi` to change the default.
302
302
 
303
- > **⚠️ Recommended for local files with GLM or Qwen:** Both providers have a 10–12 MB base64 limit for local files. Without S3, large local videos will fail on GLM/Qwen and fall back to Gemini (less accurate) or Kimi (paid). **Setting up the S3 relay (one-time, free tier)** removes this limit entirely — GLM and Qwen receive a presigned URL instead of base64 data, enabling analysis of arbitrarily large local videos.
303
+ > **ℹ️ Large local files with GLM or Qwen:** Both providers have a 10–12 MB base64 limit for local files. When a file exceeds this limit, the server **automatically falls back to frame-based analysis** (extracts evenly-spaced keyframes and sends them as images) no configuration needed. For the highest quality with large local videos, set up the optional **S3 relay** (below) — GLM and Qwen will receive a presigned URL to the full video instead of extracted frames.
304
304
 
305
305
  <details open>
306
306
  <summary><strong>Automatic S3 relay: bypass the 10 MB local file limit with Qwen and GLM</strong></summary>
307
307
 
308
- **GLM-4.6V** and **Qwen3.5** both accept direct video URLs, but base64-encoding a local file caps out at **10–12 MB**. Set `AWS_S3_BUCKET` to have the server automatically upload local videos (and platform downloads from YouTube, Bilibili, etc.) to S3 and pass a presigned URL to GLM/Qwen no manual upload step needed.
308
+ **GLM-4.6V** and **Qwen3.5** both accept direct video URLs, but base64-encoding a local file caps out at **10–12 MB**. Above that limit, the server automatically falls back to **frame-based analysis** (good quality). For the best results on large local videos, set `AWS_S3_BUCKET` — the server uploads the full video to S3 and passes a presigned URL to GLM/Qwen, bypassing the base64 limit entirely. No manual upload step needed.
309
309
 
310
310
  **Why it works**: Qwen and GLM require the server to serve `Content-Length` and `Content-Type` headers alongside the video. AWS S3 provides these automatically.
311
311
 
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.46.0-beta";
1
+ export declare const VERSION = "0.47.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.46.0-beta';
2
+ export const VERSION = '0.47.0-beta';
3
3
  //# sourceMappingURL=version.js.map
@@ -67,6 +67,25 @@ export declare function getRuntimeFallbackChain(provider: VideoProvider, hasKimi
67
67
  * Explicit values are clamped to the 5–50 range.
68
68
  */
69
69
  export declare function getMaxFrames(): number;
70
+ /**
71
+ * Returns the maximum base64 payload size in bytes for a given provider.
72
+ * Used to determine whether a local video must be sent as extracted frames
73
+ * instead of a raw base64-encoded file.
74
+ *
75
+ * GLM cap: ~12 MB (Z.AI hard reject above this)
76
+ * Qwen cap: ~10 MB (DashScope hard reject above this)
77
+ * Kimi cap: ~80 MB (Kimi file upload limit)
78
+ * Gemini: no base64 path — always uses the Files API
79
+ */
80
+ export declare function getProviderBase64SizeLimit(provider: VideoProvider): number;
81
+ /**
82
+ * Returns true when the given raw file size would exceed the provider's
83
+ * base64 payload limit after encoding.
84
+ *
85
+ * Base64 expands binary data by a factor of 4/3. The data-URI prefix
86
+ * ("data:<mime>;base64,") adds ~25 chars, which is negligible.
87
+ */
88
+ export declare function exceedsProviderBase64Limit(fileSizeBytes: number, provider: VideoProvider): boolean;
70
89
  /**
71
90
  * Returns true when the user is not on pro and their `VIDEO_MCP_MAX_FRAMES`
72
91
  * setting was silently capped (set to a value outside the free 5–50 range
@@ -1 +1 @@
1
- {"version":3,"file":"providerRouter.d.ts","sourceRoot":"","sources":["../../src/services/providerRouter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAA;AAE9D;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,aAAa,EACvB,UAAU,EAAE,OAAO,EACnB,SAAS,EAAE,OAAO,EAClB,YAAY,GAAE,OAAe,EAC7B,UAAU,GAAE,OAAe,GAC1B,aAAa,CAyBf;AAED;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,aAAa,CAAA;IACvB,YAAY,CAAC,EAAE,aAAa,CAAA;CAC7B,CAAA;AAUD;;;;;;;;;;;;GAYG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,aAAa,EACvB,UAAU,EAAE,OAAO,EACnB,SAAS,EAAE,OAAO,EAClB,YAAY,GAAE,OAAe,EAC7B,UAAU,GAAE,OAAe,GAC1B,cAAc,CAsBhB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,aAAa,CAWlD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,aAAa,EACvB,UAAU,EAAE,OAAO,EACnB,SAAS,EAAE,OAAO,EAClB,YAAY,GAAE,OAAe,EAC7B,UAAU,GAAE,OAAe,GAC1B,aAAa,EAAE,CAejB;AAQD;;;;;;;;;GASG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAerC;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAQzC"}
1
+ {"version":3,"file":"providerRouter.d.ts","sourceRoot":"","sources":["../../src/services/providerRouter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAA;AAE9D;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,aAAa,EACvB,UAAU,EAAE,OAAO,EACnB,SAAS,EAAE,OAAO,EAClB,YAAY,GAAE,OAAe,EAC7B,UAAU,GAAE,OAAe,GAC1B,aAAa,CAyBf;AAED;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,aAAa,CAAA;IACvB,YAAY,CAAC,EAAE,aAAa,CAAA;CAC7B,CAAA;AAUD;;;;;;;;;;;;GAYG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,aAAa,EACvB,UAAU,EAAE,OAAO,EACnB,SAAS,EAAE,OAAO,EAClB,YAAY,GAAE,OAAe,EAC7B,UAAU,GAAE,OAAe,GAC1B,cAAc,CAsBhB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,aAAa,CAWlD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,aAAa,EACvB,UAAU,EAAE,OAAO,EACnB,SAAS,EAAE,OAAO,EAClB,YAAY,GAAE,OAAe,EAC7B,UAAU,GAAE,OAAe,GAC1B,aAAa,EAAE,CAejB;AAQD;;;;;;;;;GASG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAerC;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAK1E;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,aAAa,GACtB,OAAO,CAGT;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAQzC"}
@@ -147,6 +147,36 @@ export function getMaxFrames() {
147
147
  return FREE_MAX_FRAMES;
148
148
  return Math.max(5, Math.min(FREE_MAX_FRAMES, envValue));
149
149
  }
150
+ /**
151
+ * Returns the maximum base64 payload size in bytes for a given provider.
152
+ * Used to determine whether a local video must be sent as extracted frames
153
+ * instead of a raw base64-encoded file.
154
+ *
155
+ * GLM cap: ~12 MB (Z.AI hard reject above this)
156
+ * Qwen cap: ~10 MB (DashScope hard reject above this)
157
+ * Kimi cap: ~80 MB (Kimi file upload limit)
158
+ * Gemini: no base64 path — always uses the Files API
159
+ */
160
+ export function getProviderBase64SizeLimit(provider) {
161
+ if (provider === 'glm')
162
+ return 12 * 1024 * 1024;
163
+ if (provider === 'qwen')
164
+ return 10 * 1024 * 1024;
165
+ if (provider === 'kimi')
166
+ return 80 * 1024 * 1024;
167
+ return Infinity; // gemini uses Files API
168
+ }
169
+ /**
170
+ * Returns true when the given raw file size would exceed the provider's
171
+ * base64 payload limit after encoding.
172
+ *
173
+ * Base64 expands binary data by a factor of 4/3. The data-URI prefix
174
+ * ("data:<mime>;base64,") adds ~25 chars, which is negligible.
175
+ */
176
+ export function exceedsProviderBase64Limit(fileSizeBytes, provider) {
177
+ const encodedSize = Math.ceil(fileSizeBytes * (4 / 3));
178
+ return encodedSize > getProviderBase64SizeLimit(provider);
179
+ }
150
180
  /**
151
181
  * Returns true when the user is not on pro and their `VIDEO_MCP_MAX_FRAMES`
152
182
  * setting was silently capped (set to a value outside the free 5–50 range
@@ -1 +1 @@
1
- {"version":3,"file":"providerRouter.js","sourceRoot":"","sources":["../../src/services/providerRouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"providerRouter.js","sourceRoot":"","sources":["../../src/services/providerRouter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"analyzeVideo.d.ts","sourceRoot":"","sources":["../../src/tools/analyzeVideo.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAEjD,KAAK,kBAAkB,GAAG,OAAO,KAAK,EAAE,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAuDxE,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,kBAAkB,KACzB,OAAO,CAAC,cAAc,CA0ExB,CAAA"}
1
+ {"version":3,"file":"analyzeVideo.d.ts","sourceRoot":"","sources":["../../src/tools/analyzeVideo.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAuBH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAEjD,KAAK,kBAAkB,GAAG,OAAO,KAAK,EAAE,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AA8GxE,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,kBAAkB,KACzB,OAAO,CAAC,cAAc,CA4FxB,CAAA"}
@@ -2,8 +2,12 @@
2
2
  * Tool: analyze_video
3
3
  * Ask questions about video content and get AI-powered answers
4
4
  */
5
+ import { stat as fsStat } from 'fs/promises';
6
+ import { extractFramesEvenly } from '../services/ffmpeg.js';
7
+ import { exceedsProviderBase64Limit, getMaxFrames, getProviderBase64SizeLimit, } from '../services/providerRouter.js';
5
8
  import { logProgress } from '../utils/logger.js';
6
- import { getCachedProviderFileId, registerProviderFileId, } from '../utils/artifactCache.js';
9
+ import { buildFrameSubdir, getCachedFrames, getCachedProviderFileId, isCachingEnabled, registerCachedFrames, registerProviderFileId, } from '../utils/artifactCache.js';
10
+ import { trimFramesToFitSize } from './summarizeVideo.js';
7
11
  import { runWithProviderFallback, } from './orchestrator.js';
8
12
  async function resolveGeminiFileForAnalyze(ctx) {
9
13
  const { geminiClient } = ctx.clients;
@@ -25,6 +29,52 @@ async function resolveGeminiFileForAnalyze(ctx) {
25
29
  registerProviderFileId(ctx.videoId, 'gemini', uploaded.name);
26
30
  return uploaded;
27
31
  }
32
+ /**
33
+ * Extract evenly-spaced JPEG frames from a local video and send them to the
34
+ * provider's image-analysis endpoint. Used as a last-resort fallback when
35
+ * the video file would exceed the provider's base64 payload limit and no S3
36
+ * relay is configured.
37
+ */
38
+ async function analyzeWithFrames(ctx, videoId, question) {
39
+ const sizeLimit = getProviderBase64SizeLimit(ctx.provider);
40
+ const extractionCap = Math.ceil((sizeLimit / (100 * 1024)) * 1.5);
41
+ const framesToExtract = Math.min(getMaxFrames(), extractionCap);
42
+ const frameSubdir = buildFrameSubdir('even', { count: framesToExtract });
43
+ let rawFrames;
44
+ if (isCachingEnabled()) {
45
+ const cached = await getCachedFrames(videoId, frameSubdir);
46
+ if (cached) {
47
+ await logProgress(`Using ${cached.buffers.length} cached keyframe(s)...`);
48
+ rawFrames = cached.buffers;
49
+ }
50
+ else {
51
+ await logProgress('Extracting keyframes...');
52
+ rawFrames = await extractFramesEvenly(ctx.localPath, framesToExtract);
53
+ await registerCachedFrames(videoId, frameSubdir, rawFrames);
54
+ }
55
+ }
56
+ else {
57
+ await logProgress('Extracting keyframes...');
58
+ rawFrames = await extractFramesEvenly(ctx.localPath, framesToExtract);
59
+ }
60
+ const frames = rawFrames.map((buf) => ({
61
+ data: ctx.bufferToBase64String(buf),
62
+ mimeType: 'image/jpeg',
63
+ }));
64
+ const trimmed = trimFramesToFitSize(frames, sizeLimit);
65
+ if (trimmed > 0) {
66
+ await logProgress(`Size guard: dropped ${trimmed} frame(s) to fit within provider limit`);
67
+ }
68
+ if (ctx.provider === 'glm') {
69
+ const glmClient = ctx.clients.glmClient;
70
+ await logProgress('Analyzing video...');
71
+ return { text: await glmClient.analyzeImages(frames, ctx.promptToUse) };
72
+ }
73
+ // qwen
74
+ const qwenClient = ctx.clients.qwenClient;
75
+ await logProgress('Analyzing video...');
76
+ return { text: await qwenClient.analyzeImages(frames, ctx.promptToUse) };
77
+ }
28
78
  async function resolveKimiFileId(ctx) {
29
79
  const { kimiClient } = ctx.clients;
30
80
  if (!kimiClient)
@@ -61,27 +111,41 @@ export const analyzeVideoTool = async (params) => {
61
111
  if (p === 'glm') {
62
112
  if (!glmClient)
63
113
  throw new Error('GLM client unavailable. Set Z_AI_API_KEY.');
64
- await logProgress('Analyzing video...');
65
- if (isDirectUrl)
114
+ if (isDirectUrl) {
115
+ await logProgress('Analyzing video...');
66
116
  return {
67
117
  text: await glmClient.analyzeVideoUrl(effectivePath, promptToUse),
68
118
  };
69
- const buf = await ctx.fs.readFile(ctx.localPath);
119
+ }
120
+ const glmStat = await fsStat(ctx.localPath);
121
+ if (exceedsProviderBase64Limit(glmStat.size, 'glm')) {
122
+ await logProgress('Video too large for base64 encoding, extracting keyframes...');
123
+ return analyzeWithFrames(ctx, ctx.videoId, question);
124
+ }
125
+ await logProgress('Analyzing video...');
126
+ const glmBuf = await ctx.fs.readFile(ctx.localPath);
70
127
  return {
71
- text: await glmClient.analyzeVideoBase64(ctx.bufferToBase64String(buf), promptToUse, ctx.getVideoMimeType(ctx.localPath)),
128
+ text: await glmClient.analyzeVideoBase64(ctx.bufferToBase64String(glmBuf), promptToUse, ctx.getVideoMimeType(ctx.localPath)),
72
129
  };
73
130
  }
74
131
  if (p === 'qwen') {
75
132
  if (!qwenClient)
76
133
  throw new Error('Qwen client unavailable. Set DASHSCOPE_API_KEY.');
77
- await logProgress('Analyzing video...');
78
- if (isDirectUrl)
134
+ if (isDirectUrl) {
135
+ await logProgress('Analyzing video...');
79
136
  return {
80
137
  text: await qwenClient.analyzeVideoUrl(effectivePath, promptToUse),
81
138
  };
82
- const buf = await ctx.fs.readFile(ctx.localPath);
139
+ }
140
+ const qwenStat = await fsStat(ctx.localPath);
141
+ if (exceedsProviderBase64Limit(qwenStat.size, 'qwen')) {
142
+ await logProgress('Video too large for base64 encoding, extracting keyframes...');
143
+ return analyzeWithFrames(ctx, ctx.videoId, question);
144
+ }
145
+ await logProgress('Analyzing video...');
146
+ const qwenBuf = await ctx.fs.readFile(ctx.localPath);
83
147
  return {
84
- text: await qwenClient.analyzeVideoBase64(ctx.bufferToBase64String(buf), promptToUse, ctx.getVideoMimeType(ctx.localPath)),
148
+ text: await qwenClient.analyzeVideoBase64(ctx.bufferToBase64String(qwenBuf), promptToUse, ctx.getVideoMimeType(ctx.localPath)),
85
149
  };
86
150
  }
87
151
  // kimi
@@ -1 +1 @@
1
- {"version":3,"file":"analyzeVideo.js","sourceRoot":"","sources":["../../src/tools/analyzeVideo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analyzeVideo.js","sourceRoot":"","sources":["../../src/tools/analyzeVideo.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,14 @@
5
5
  import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
6
6
  import { summarizeVideoSchema } from './schemas.js';
7
7
  type SummarizeVideoParams = import('zod').infer<typeof summarizeVideoSchema>;
8
+ /**
9
+ * Trim trailing frames until the total base64 payload fits within maxBytes.
10
+ * Always keeps at least 1 frame. Returns the number of frames removed.
11
+ */
12
+ export declare function trimFramesToFitSize(frames: {
13
+ data: string;
14
+ mimeType: string;
15
+ }[], maxBytes: number): number;
8
16
  export declare const summarizeVideoTool: (params: SummarizeVideoParams) => Promise<CallToolResult>;
9
17
  export {};
10
18
  //# sourceMappingURL=summarizeVideo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"summarizeVideo.d.ts","sourceRoot":"","sources":["../../src/tools/summarizeVideo.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAmBH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAEnD,KAAK,oBAAoB,GAAG,OAAO,KAAK,EAAE,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AA0R5E,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,oBAAoB,KAC3B,OAAO,CAAC,cAAc,CAyDxB,CAAA"}
1
+ {"version":3,"file":"summarizeVideo.d.ts","sourceRoot":"","sources":["../../src/tools/summarizeVideo.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwBH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAEnD,KAAK,oBAAoB,GAAG,OAAO,KAAK,EAAE,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAe5E;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAAE,EAC5C,QAAQ,EAAE,MAAM,GACf,MAAM,CASR;AA2PD,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,oBAAoB,KAC3B,OAAO,CAAC,cAAc,CAqExB,CAAA"}
@@ -3,10 +3,11 @@
3
3
  * Generate a structured summary of the video
4
4
  */
5
5
  import { extractFramesEvenly, getVideoMetadata } from '../services/ffmpeg.js';
6
- import { getMaxFrames, wasFramesCapped } from '../services/providerRouter.js';
6
+ import { exceedsProviderBase64Limit, getMaxFrames, wasFramesCapped, } from '../services/providerRouter.js';
7
7
  import { logProgress } from '../utils/logger.js';
8
8
  import { proNotice } from '../utils/license.js';
9
9
  import { isCachingEnabled, buildFrameSubdir, getCachedFrames, registerCachedFrames, getCachedProviderFileId, registerProviderFileId, } from '../utils/artifactCache.js';
10
+ import { stat as fsStat } from 'fs/promises';
10
11
  import { isRemoteUrl, normalizeVideoPath } from '../utils/videoUtils.js';
11
12
  import { runWithProviderFallback, } from './orchestrator.js';
12
13
  const LONG_VIDEO_THRESHOLD_SEC = 5 * 60;
@@ -24,7 +25,7 @@ function buildSummaryPrompt() {
24
25
  * Trim trailing frames until the total base64 payload fits within maxBytes.
25
26
  * Always keeps at least 1 frame. Returns the number of frames removed.
26
27
  */
27
- function trimFramesToFitSize(frames, maxBytes) {
28
+ export function trimFramesToFitSize(frames, maxBytes) {
28
29
  let totalBytes = frames.reduce((sum, f) => sum + f.data.length, 0);
29
30
  let removed = 0;
30
31
  while (frames.length > 1 && totalBytes > maxBytes) {
@@ -228,6 +229,15 @@ export const summarizeVideoTool = async (params) => {
228
229
  await loadLongVideoFrames(ctx, videoId);
229
230
  return summarizeLongVideo(ctx);
230
231
  }
232
+ // Short video that is still too large to base64-encode: fall back to frames
233
+ if (ctx.provider === 'glm' || ctx.provider === 'qwen') {
234
+ const stat = await fsStat(ctx.localPath);
235
+ if (exceedsProviderBase64Limit(stat.size, ctx.provider)) {
236
+ await logProgress('Short video exceeds base64 limit, extracting keyframes...');
237
+ await loadLongVideoFrames(ctx, videoId);
238
+ return summarizeLongVideo(ctx);
239
+ }
240
+ }
231
241
  return summarizeShortVideo(ctx);
232
242
  },
233
243
  extraNotices(s) {
@@ -1 +1 @@
1
- {"version":3,"file":"summarizeVideo.js","sourceRoot":"","sources":["../../src/tools/summarizeVideo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"summarizeVideo.js","sourceRoot":"","sources":["../../src/tools/summarizeVideo.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "video-context-mcp-server",
3
- "version": "0.46.0-beta",
3
+ "version": "0.47.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",