video-context-mcp-server 0.35.0-beta → 0.36.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
@@ -167,14 +167,14 @@ claude mcp add \
167
167
 
168
168
  ## Available Tools
169
169
 
170
- | Tool | Description | Key Parameters |
171
- | ------------------ | ------------------------------------ | --------------------------------------------------------------- |
172
- | `analyze_video` | Ask questions about video content | `videoPath`, `question`, `provider?` |
173
- | `summarize_video` | Generate a structured video summary | `videoPath`, `provider?` |
174
- | `extract_frames` | Extract frames from a video | `videoPath`, `mode`, `count/intervalSec/timestamps` |
175
- | `search_timestamp` | Find when something specific happens | `videoPath`, `query`, `provider?` |
176
- | `get_video_info` | Get video metadata | `videoPath` |
177
- | `transcribe_video` | Transcribe audio/speech from a video | `videoPath`, `provider?`, `language?`, `diarize?`, `translate?` |
170
+ | Tool | Description | Key Parameters |
171
+ | ------------------ | ------------------------------------ | ---------------------------------------------------------------------------- |
172
+ | `analyze_video` | Ask questions about video content | `videoPath`, `question`, `provider?` |
173
+ | `summarize_video` | Generate a structured video summary | `videoPath`, `provider?` |
174
+ | `extract_frames` | Extract frames from a video | `videoPath`, `mode`, `count/intervalSec/timestamps`, `maxImages?`, `offset?` |
175
+ | `search_timestamp` | Find when something specific happens | `videoPath`, `query`, `provider?` |
176
+ | `get_video_info` | Get video metadata | `videoPath` |
177
+ | `transcribe_video` | Transcribe audio/speech from a video | `videoPath`, `provider?`, `language?`, `diarize?`, `translate?` |
178
178
 
179
179
  All tools accept local file paths, `file://` URIs, and remote `http(s)` URLs. Remote videos are downloaded automatically.
180
180
 
@@ -327,41 +327,41 @@ The server automatically manages the cache by:
327
327
 
328
328
  ```bash
329
329
  # Show cache location, size, entry count, TTL, and per-entry breakdown
330
- video-context-mcp cache status
330
+ vmcp cache status
331
331
 
332
332
  # Print the cache directory path (useful for scripting)
333
- video-context-mcp cache path
334
- cd "$(video-context-mcp cache path)"
333
+ vmcp cache path
334
+ cd "$(vmcp cache path)"
335
335
 
336
336
  # Copy the entire cache tree to ./video-mcp-cache (or a custom path)
337
- video-context-mcp cache copy
337
+ vmcp cache copy
338
338
 
339
339
  # macOS / Linux — absolute path
340
- video-context-mcp cache copy --dest=/Users/alice/projects/cache-backup
341
- video-context-mcp cache copy --dest=/tmp/cache-backup
340
+ vmcp cache copy --dest=/Users/alice/projects/cache-backup
341
+ vmcp cache copy --dest=/tmp/cache-backup
342
342
 
343
343
  # Windows — absolute path (both \ and / are supported)
344
- video-context-mcp cache copy --dest=C:\Users\alice\projects\cache-backup
345
- video-context-mcp cache copy --dest=C:/Users/alice/projects/cache-backup
344
+ vmcp cache copy --dest=C:\Users\alice\projects\cache-backup
345
+ vmcp cache copy --dest=C:/Users/alice/projects/cache-backup
346
346
 
347
347
  # Relative path (resolved from CWD — works on all platforms)
348
- video-context-mcp cache copy --dest=./backup
349
- video-context-mcp cache copy --dest=../sibling/cache
348
+ vmcp cache copy --dest=./backup
349
+ vmcp cache copy --dest=../sibling/cache
350
350
 
351
351
  # Paths with spaces — wrap the value in quotes
352
- video-context-mcp cache copy --dest="/Users/alice/My Projects/cache-backup"
353
- video-context-mcp cache copy --dest="C:\Users\alice\My Documents\cache-backup"
352
+ vmcp cache copy --dest="/Users/alice/My Projects/cache-backup"
353
+ vmcp cache copy --dest="C:\Users\alice\My Documents\cache-backup"
354
354
 
355
355
  # Remove only entries older than the TTL (defaults to 30 min if not set)
356
- video-context-mcp cache clear:expired
356
+ vmcp cache clear:expired
357
357
 
358
358
  # If you've set a custom TTL in mcp.json, pass it explicitly — CLI commands
359
359
  # run as a separate process and don't inherit env vars from mcp.json
360
- VIDEO_MCP_CACHE_TTL_MINUTES=10 video-context-mcp cache clear:expired
360
+ VIDEO_MCP_CACHE_TTL_MINUTES=10 vmcp cache clear:expired
361
361
 
362
362
  # Delete ALL cache entries — prompts for confirmation
363
- video-context-mcp cache clear:all
364
- video-context-mcp cache clear:all --yes # skip confirmation
363
+ vmcp cache clear:all
364
+ vmcp cache clear:all --yes # skip confirmation
365
365
  ```
366
366
 
367
367
  ### Video Summarization
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.35.0-beta";
1
+ export declare const VERSION = "0.36.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.35.0-beta';
2
+ export const VERSION = '0.36.0-beta';
3
3
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extractFrames.d.ts","sourceRoot":"","sources":["../../src/tools/extractFrames.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA0BH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAElD,KAAK,mBAAmB,GAAG,OAAO,KAAK,EAAE,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAE1E,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,mBAAmB,KAC1B,OAAO,CAAC,cAAc,CA8HxB,CAAA"}
1
+ {"version":3,"file":"extractFrames.d.ts","sourceRoot":"","sources":["../../src/tools/extractFrames.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA0BH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAElD,KAAK,mBAAmB,GAAG,OAAO,KAAK,EAAE,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAE1E,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,mBAAmB,KAC1B,OAAO,CAAC,cAAc,CAuJxB,CAAA"}
@@ -79,12 +79,26 @@ export const extractFramesTool = async (params) => {
79
79
  persistentPaths = await registerCachedFrames(videoId, frameSubdir, frames);
80
80
  }
81
81
  }
82
+ const MAX_IMAGES_DEFAULT = 10;
83
+ const pageSize = Math.max(1, params.maxImages ?? MAX_IMAGES_DEFAULT);
84
+ const pageOffset = Math.max(0, params.offset ?? 0);
85
+ const pageFrames = frames.slice(pageOffset, pageOffset + pageSize);
86
+ const totalFrames = frames.length;
87
+ const pageEnd = pageOffset + pageFrames.length;
88
+ const hasMore = pageEnd < totalFrames;
89
+ const rangeLabel = totalFrames === 0
90
+ ? '0 frame(s)'
91
+ : pageFrames.length === 0
92
+ ? `0 of ${totalFrames} frame(s) (offset ${pageOffset} is past the end)`
93
+ : pageOffset === 0 && pageFrames.length === totalFrames
94
+ ? `all ${totalFrames} frame(s)`
95
+ : `frames ${pageOffset + 1}\u2013${pageEnd} of ${totalFrames}`;
82
96
  const content = [
83
97
  {
84
98
  type: 'text',
85
- text: `Extracted ${frames.length} frame(s) from ${videoPath} using ${mode} mode.`,
99
+ text: `Extracted ${totalFrames} frame(s) from ${videoPath} using ${mode} mode. Showing ${rangeLabel} inline.`,
86
100
  },
87
- ...frames.map((frameBuffer) => ({
101
+ ...pageFrames.map((frameBuffer) => ({
88
102
  type: 'image',
89
103
  data: bufferToBase64String(frameBuffer),
90
104
  mimeType: 'image/jpeg',
@@ -97,6 +111,13 @@ export const extractFramesTool = async (params) => {
97
111
  text: `Cached frame paths (reference as attachments in reports):\n${persistentPaths.map((p) => `- ${p}`).join('\n')}`,
98
112
  });
99
113
  }
114
+ // Pagination notice: tell the LLM how to fetch the next batch
115
+ if (hasMore) {
116
+ content.push({
117
+ type: 'text',
118
+ text: `[Pagination] ${totalFrames - pageEnd} more frame(s) available. To see the next batch, call extract_frames again with the same parameters and offset=${pageEnd}.`,
119
+ });
120
+ }
100
121
  if (wasResolutionCapped()) {
101
122
  content.push({
102
123
  type: 'text',
@@ -1 +1 @@
1
- {"version":3,"file":"extractFrames.js","sourceRoot":"","sources":["../../src/tools/extractFrames.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extractFrames.js","sourceRoot":"","sources":["../../src/tools/extractFrames.ts"],"names":[],"mappings":"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"}
@@ -35,18 +35,24 @@ export declare const extractFramesSchema: z.ZodObject<{
35
35
  count: z.ZodOptional<z.ZodNumber>;
36
36
  intervalSec: z.ZodOptional<z.ZodNumber>;
37
37
  timestamps: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
38
+ maxImages: z.ZodOptional<z.ZodNumber>;
39
+ offset: z.ZodOptional<z.ZodNumber>;
38
40
  }, "strip", z.ZodTypeAny, {
39
41
  videoPath: string;
40
42
  mode: "even" | "interval" | "timestamps";
41
43
  timestamps?: number[] | undefined;
42
44
  count?: number | undefined;
43
45
  intervalSec?: number | undefined;
46
+ maxImages?: number | undefined;
47
+ offset?: number | undefined;
44
48
  }, {
45
49
  videoPath: string;
46
50
  mode: "even" | "interval" | "timestamps";
47
51
  timestamps?: number[] | undefined;
48
52
  count?: number | undefined;
49
53
  intervalSec?: number | undefined;
54
+ maxImages?: number | undefined;
55
+ offset?: number | undefined;
50
56
  }>;
51
57
  export declare const searchTimestampSchema: z.ZodObject<{
52
58
  videoPath: z.ZodString;
@@ -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,sCAAoC,CAAA;AAClE,eAAO,MAAM,iBAAiB,yDAK5B,CAAA;AAIF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EAQ7B,CAAA;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;EAO/B,CAAA;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;EA+B9B,CAAA;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;EAgBhC,CAAA;AAEF,eAAO,MAAM,kBAAkB;;;;;;EAM7B,CAAA;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;EA6BhC,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"}
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,sCAAoC,CAAA;AAClE,eAAO,MAAM,iBAAiB,yDAK5B,CAAA;AAIF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EAQ7B,CAAA;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;EAO/B,CAAA;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;EAgD9B,CAAA;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;EAgBhC,CAAA;AAEF,eAAO,MAAM,kBAAkB;;;;;;EAM7B,CAAA;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;EA6BhC,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"}
@@ -49,6 +49,19 @@ export const extractFramesSchema = z.object({
49
49
  .array(z.number().min(0))
50
50
  .optional()
51
51
  .describe("Array of timestamps in seconds (required for 'timestamps' mode)"),
52
+ maxImages: z
53
+ .number()
54
+ .int()
55
+ .min(1)
56
+ .max(100)
57
+ .optional()
58
+ .describe('Maximum number of frames to embed as inline images in the response (default: 10). Use with offset for batch/paginated access to large frame sets.'),
59
+ offset: z
60
+ .number()
61
+ .int()
62
+ .min(0)
63
+ .optional()
64
+ .describe('Number of frames to skip before embedding inline images (default: 0). Use for paginated access: call again with offset=10, 20, etc. to see subsequent batches.'),
52
65
  });
53
66
  export const searchTimestampSchema = z.object({
54
67
  videoPath: z
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/tools/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/tools/schemas.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.35.0-beta",
3
+ "version": "0.36.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",