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 +24 -24
- package/dist/generated/version.d.ts +1 -1
- package/dist/generated/version.js +1 -1
- package/dist/tools/extractFrames.d.ts.map +1 -1
- package/dist/tools/extractFrames.js +23 -2
- package/dist/tools/extractFrames.js.map +1 -1
- package/dist/tools/schemas.d.ts +6 -0
- package/dist/tools/schemas.d.ts.map +1 -1
- package/dist/tools/schemas.js +13 -0
- package/dist/tools/schemas.js.map +1 -1
- package/package.json +1 -1
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
|
-
|
|
330
|
+
vmcp cache status
|
|
331
331
|
|
|
332
332
|
# Print the cache directory path (useful for scripting)
|
|
333
|
-
|
|
334
|
-
cd "$(
|
|
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
|
-
|
|
337
|
+
vmcp cache copy
|
|
338
338
|
|
|
339
339
|
# macOS / Linux — absolute path
|
|
340
|
-
|
|
341
|
-
|
|
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
|
-
|
|
345
|
-
|
|
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
|
-
|
|
349
|
-
|
|
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
|
-
|
|
353
|
-
|
|
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
|
-
|
|
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
|
|
360
|
+
VIDEO_MCP_CACHE_TTL_MINUTES=10 vmcp cache clear:expired
|
|
361
361
|
|
|
362
362
|
# Delete ALL cache entries — prompts for confirmation
|
|
363
|
-
|
|
364
|
-
|
|
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.
|
|
1
|
+
export declare const VERSION = "0.36.0-beta";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.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,
|
|
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 ${
|
|
99
|
+
text: `Extracted ${totalFrames} frame(s) from ${videoPath} using ${mode} mode. Showing ${rangeLabel} inline.`,
|
|
86
100
|
},
|
|
87
|
-
...
|
|
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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"}
|
package/dist/tools/schemas.d.ts
CHANGED
|
@@ -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
|
|
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"}
|
package/dist/tools/schemas.js
CHANGED
|
@@ -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.
|
|
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",
|