@twick/mcp-agent 0.15.14 ā 0.15.16
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 +5 -5
- package/dist/stdio-server.js +6 -6
- package/dist/stdio-server.js.map +1 -1
- package/dist/transcriber.d.ts +4 -4
- package/dist/transcriber.js +20 -20
- package/dist/transcriber.js.map +1 -1
- package/dist/utils.d.ts +3 -3
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +9 -9
- package/dist/utils.js.map +1 -1
- package/install.js +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -20,7 +20,7 @@ See [SHIPPING.md](./SHIPPING.md) for distribution options and release informatio
|
|
|
20
20
|
|
|
21
21
|
- š¬ **Video Transcription**: Transcribe videos from public URLs using Google Vertex AI
|
|
22
22
|
- š **Multi-language Support**: Support for multiple languages and fonts
|
|
23
|
-
- š **
|
|
23
|
+
- š **Caption Generation**: Generate timed caption files in Twick Studio format
|
|
24
24
|
- š **Twick Studio Integration**: Direct upload and link generation for Twick Studio
|
|
25
25
|
- š¦ **Claude Desktop Extension**: Easy one-click installation
|
|
26
26
|
|
|
@@ -120,23 +120,23 @@ Edit the `twick-mcp-agent` section in your Claude Desktop config file:
|
|
|
120
120
|
|
|
121
121
|
## Usage
|
|
122
122
|
|
|
123
|
-
Once installed, the `generate-
|
|
123
|
+
Once installed, the `generate-captions` tool will be available in Claude Desktop. You can use it like:
|
|
124
124
|
|
|
125
125
|
```
|
|
126
|
-
Generate
|
|
126
|
+
Generate captionss for this video: https://example.com/video.mp4
|
|
127
127
|
```
|
|
128
128
|
|
|
129
129
|
Or with specific language settings:
|
|
130
130
|
|
|
131
131
|
```
|
|
132
|
-
Generate
|
|
132
|
+
Generate captionss for https://example.com/video.mp4 in Spanish with Spanish font
|
|
133
133
|
```
|
|
134
134
|
|
|
135
135
|
### Tool Parameters
|
|
136
136
|
|
|
137
137
|
- `videoUrl` (required): Publicly accessible video URL
|
|
138
138
|
- `language` (optional): Target language for transcription (default: "english")
|
|
139
|
-
- `language_font` (optional): Font/script for
|
|
139
|
+
- `language_font` (optional): Font/script for captions (default: "english")
|
|
140
140
|
|
|
141
141
|
## Project Structure
|
|
142
142
|
|
package/dist/stdio-server.js
CHANGED
|
@@ -2,7 +2,7 @@ import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
|
2
2
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
3
3
|
import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
4
4
|
import { transcribeVideoUrl } from "./transcriber.js";
|
|
5
|
-
import {
|
|
5
|
+
import { processCaptionsToProject, returnProjectAsFile, returnProjectAsTwickStudioLink, } from "./utils.js";
|
|
6
6
|
import { fileURLToPath } from "node:url";
|
|
7
7
|
import { dirname, resolve } from "node:path";
|
|
8
8
|
import dotenv from "dotenv";
|
|
@@ -26,8 +26,8 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
26
26
|
return {
|
|
27
27
|
tools: [
|
|
28
28
|
{
|
|
29
|
-
name: "generate-
|
|
30
|
-
description: "Generate
|
|
29
|
+
name: "generate-captions",
|
|
30
|
+
description: "Generate captions for an video URL using an external service",
|
|
31
31
|
inputSchema: {
|
|
32
32
|
type: "object",
|
|
33
33
|
properties: {
|
|
@@ -52,7 +52,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
52
52
|
});
|
|
53
53
|
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
54
54
|
try {
|
|
55
|
-
if (request.params.name === "generate-
|
|
55
|
+
if (request.params.name === "generate-captions") {
|
|
56
56
|
const { videoUrl, language, language_font } = request.params
|
|
57
57
|
.arguments;
|
|
58
58
|
if (!videoUrl || typeof videoUrl !== "string") {
|
|
@@ -63,8 +63,8 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
63
63
|
language: language ?? "english",
|
|
64
64
|
languageFont: language_font ?? "english",
|
|
65
65
|
});
|
|
66
|
-
const project = await
|
|
67
|
-
|
|
66
|
+
const project = await processCaptionsToProject({
|
|
67
|
+
captions: data.captions,
|
|
68
68
|
videoUrl: data.videoUrl,
|
|
69
69
|
duration: data.duration,
|
|
70
70
|
videoSize: { width: 720, height: 1280 },
|
package/dist/stdio-server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stdio-server.js","sourceRoot":"","sources":["../stdio-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"stdio-server.js","sourceRoot":"","sources":["../stdio-server.ts"],"names":[],"mappings":"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"}
|
package/dist/transcriber.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Transcribe an audio URL to JSON
|
|
2
|
+
* Transcribe an audio URL to JSON captions using Google GenAI (Vertex AI),
|
|
3
3
|
* mirroring the Python implementation in `playground/vertex/transcript.py`.
|
|
4
4
|
*
|
|
5
5
|
* @param {Object} params
|
|
6
6
|
* @param {string} params.videoUrl - Publicly reachable video URL.
|
|
7
7
|
* @param {string} [params.language="english"] - Target transcription language (human-readable).
|
|
8
|
-
* @param {string} [params.languageFont="english"] - Target font/script for
|
|
9
|
-
* @returns {Promise<{
|
|
8
|
+
* @param {string} [params.languageFont="english"] - Target font/script for captions.
|
|
9
|
+
* @returns {Promise<{ captions: Array<{t: string, s: number, e: number}> }>} Captions array with text, start time, and end time.
|
|
10
10
|
* @throws {Error} When audioUrl is missing or downstream calls fail.
|
|
11
11
|
*/
|
|
12
12
|
export declare const transcribeVideoUrl: (params: {
|
|
@@ -14,7 +14,7 @@ export declare const transcribeVideoUrl: (params: {
|
|
|
14
14
|
language?: string;
|
|
15
15
|
languageFont?: string;
|
|
16
16
|
}) => Promise<{
|
|
17
|
-
|
|
17
|
+
captions: any[];
|
|
18
18
|
duration: number;
|
|
19
19
|
videoUrl: string;
|
|
20
20
|
}>;
|
package/dist/transcriber.js
CHANGED
|
@@ -124,34 +124,34 @@ const extractAudioBufferFromVideo = async (videoUrl) => {
|
|
|
124
124
|
*/
|
|
125
125
|
const buildPrompt = (duration, language, languageFont) => {
|
|
126
126
|
const durationMs = Math.round(duration * 1000);
|
|
127
|
-
return `You are a professional
|
|
127
|
+
return `You are a professional caption and transcription engine.
|
|
128
128
|
|
|
129
129
|
## INPUT
|
|
130
130
|
- Audio duration: ${durationMs} milliseconds
|
|
131
131
|
- Target language: ${language}
|
|
132
|
-
-
|
|
132
|
+
- Caption font script: ${languageFont}
|
|
133
133
|
|
|
134
134
|
## OBJECTIVE
|
|
135
|
-
Transcribe the audio into clear, readable
|
|
135
|
+
Transcribe the audio into clear, readable captions.
|
|
136
136
|
|
|
137
|
-
If the spoken audio is NOT in ${language}, translate it into ${language} before generating
|
|
137
|
+
If the spoken audio is NOT in ${language}, translate it into ${language} before generating captions.
|
|
138
138
|
|
|
139
|
-
##
|
|
139
|
+
## CAPTION SEGMENTATION RULES
|
|
140
140
|
- Split speech into short, natural phrases.
|
|
141
|
-
- Each
|
|
141
|
+
- Each caption phrase MUST contain a maximum of 4 words.
|
|
142
142
|
- Do NOT split words across phrases.
|
|
143
143
|
- Avoid breaking phrases mid-sentence unless required by timing constraints.
|
|
144
144
|
|
|
145
145
|
## TIMING RULES (STRICT ā MUST FOLLOW)
|
|
146
146
|
- All timestamps are in **milliseconds**.
|
|
147
|
-
- Each
|
|
147
|
+
- Each caption object MUST include:
|
|
148
148
|
- 's': start timestamp
|
|
149
149
|
- 'e': end timestamp
|
|
150
150
|
- Duration of each phrase = 'e - s'
|
|
151
151
|
- Minimum phrase duration: **100 ms**
|
|
152
152
|
- 'e' MUST be greater than 's'
|
|
153
153
|
- 'e' MUST be **less than or equal to ${durationMs}**
|
|
154
|
-
-
|
|
154
|
+
- Captions MUST be sequential:
|
|
155
155
|
- 's' of the next phrase MUST be **greater than or equal to** the previous 'e'
|
|
156
156
|
- NO overlapping timestamps
|
|
157
157
|
- Prefer aligning timestamps with natural speech pauses.
|
|
@@ -159,7 +159,7 @@ If the spoken audio is NOT in ${language}, translate it into ${language} before
|
|
|
159
159
|
## TEXT RULES
|
|
160
160
|
- 't' MUST be written using ${languageFont} characters.
|
|
161
161
|
- No emojis.
|
|
162
|
-
- No punctuation-only
|
|
162
|
+
- No punctuation-only captions.
|
|
163
163
|
- Normalize casing according to the target language's writing system.
|
|
164
164
|
- Remove filler sounds (e.g., āumā, āuhā) unless semantically important.
|
|
165
165
|
|
|
@@ -174,7 +174,7 @@ Return ONLY a valid JSON array.
|
|
|
174
174
|
## OUTPUT SCHEMA
|
|
175
175
|
[
|
|
176
176
|
{
|
|
177
|
-
"t": "
|
|
177
|
+
"t": "Caption text",
|
|
178
178
|
"s": 0,
|
|
179
179
|
"e": 1200
|
|
180
180
|
}
|
|
@@ -182,14 +182,14 @@ Return ONLY a valid JSON array.
|
|
|
182
182
|
`.trim();
|
|
183
183
|
};
|
|
184
184
|
/**
|
|
185
|
-
* Transcribe an audio URL to JSON
|
|
185
|
+
* Transcribe an audio URL to JSON captions using Google GenAI (Vertex AI),
|
|
186
186
|
* mirroring the Python implementation in `playground/vertex/transcript.py`.
|
|
187
187
|
*
|
|
188
188
|
* @param {Object} params
|
|
189
189
|
* @param {string} params.videoUrl - Publicly reachable video URL.
|
|
190
190
|
* @param {string} [params.language="english"] - Target transcription language (human-readable).
|
|
191
|
-
* @param {string} [params.languageFont="english"] - Target font/script for
|
|
192
|
-
* @returns {Promise<{
|
|
191
|
+
* @param {string} [params.languageFont="english"] - Target font/script for captions.
|
|
192
|
+
* @returns {Promise<{ captions: Array<{t: string, s: number, e: number}> }>} Captions array with text, start time, and end time.
|
|
193
193
|
* @throws {Error} When audioUrl is missing or downstream calls fail.
|
|
194
194
|
*/
|
|
195
195
|
export const transcribeVideoUrl = async (params) => {
|
|
@@ -257,23 +257,23 @@ export const transcribeVideoUrl = async (params) => {
|
|
|
257
257
|
.replace(/^```\s*/i, "") // Remove opening ```
|
|
258
258
|
.replace(/\s*```$/i, "") // Remove closing ```
|
|
259
259
|
.trim();
|
|
260
|
-
let
|
|
260
|
+
let captions = [];
|
|
261
261
|
try {
|
|
262
262
|
// Try to find JSON array in the text (in case there's extra text)
|
|
263
263
|
const jsonMatch = textPart.match(/\[[\s\S]*\]/);
|
|
264
264
|
const jsonText = jsonMatch ? jsonMatch[0] : textPart;
|
|
265
|
-
|
|
266
|
-
if (!Array.isArray(
|
|
267
|
-
throw new Error("Parsed
|
|
265
|
+
captions = JSON.parse(jsonText);
|
|
266
|
+
if (!Array.isArray(captions)) {
|
|
267
|
+
throw new Error("Parsed captions are not an array");
|
|
268
268
|
}
|
|
269
269
|
}
|
|
270
270
|
catch (err) {
|
|
271
|
-
console.warn("Failed to parse model output as JSON
|
|
271
|
+
console.warn("Failed to parse model output as JSON captions, returning raw text", err);
|
|
272
272
|
console.warn("Raw response text:", textPart.substring(0, 500));
|
|
273
|
-
|
|
273
|
+
captions = [];
|
|
274
274
|
}
|
|
275
275
|
return {
|
|
276
|
-
|
|
276
|
+
captions,
|
|
277
277
|
duration,
|
|
278
278
|
videoUrl
|
|
279
279
|
};
|
package/dist/transcriber.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transcriber.js","sourceRoot":"","sources":["../transcriber.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"transcriber.js","sourceRoot":"","sources":["../transcriber.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,kFAAkF;AAClF,2DAA2D;AAC3D,OAAO,MAAM,MAAM,0BAA0B,CAAC;AAC9C,OAAO,OAAO,MAAM,4BAA4B,CAAC;AAEjD,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,sDAAsD;AACtD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAEnD,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC1C,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;AAC/B,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;AAGjC;;;;;;;;GAQG;AACH,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,YAAqB,EAAE,EAAE;IACxD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC;IAChD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,0CAA0C,IAAI,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAGF,MAAM,iBAAiB,GAAG,GAAG,EAAE;IAC7B,sGAAsG;IACtG,gEAAgE;IAChE,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,8BAA8B;WAC7D,OAAO,CAAC,GAAG,CAAC,eAAe;WAC3B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;IAEhD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,iCAAiC,eAAe,4FAA4F,YAAY,GAAG,CAAC,CAAC;IAC/K,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,8BAA8B,GAAG,eAAe,CAAC;AAC/D,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,iBAAiB,GAAG,KAAK,IAAI,EAAE;IACnC,iBAAiB,EAAE,CAAC;IACpB,MAAM,OAAO,GAAG,SAAS,CAAC,sBAAsB,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,SAAS,CAAC,uBAAuB,EAAE,QAAQ,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC;QAC7B,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,QAAQ;KACnB,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,2BAA2B,GAAG,KAAK,EAAE,QAAgB,EAAE,EAAE;IAC7D,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,6BAA6B,aAAa,CAAC,MAAM,IAAI,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC;IACnG,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IAErD,uFAAuF;IACvF,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QACxB,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IACD,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACzD,MAAM,eAAe,GAAG,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACxD,MAAM,aAAa,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IAElD,qCAAqC;IACrC,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE;YAClD,IAAI,EAAE,OAAO;YACb,eAAe,EAAE,iBAAiB;YAClC,KAAK,EAAE,oCAAoC;YAC3C,SAAS;SACV,CAAC,CAAC;QACH,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,UAAU,EAAE;YAC9B,IAAI;YACJ,IAAI,EAAE,SAAS;YACf,KAAK;YACL,SAAS,EAAE,YAAY;YACvB,MAAM,EAAE,GAAG;YACX,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;QACxD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACzE,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;AACnC,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAE,QAAgB,EAAE,YAAoB,EAAE,EAAE;IAC/E,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAC/C,OAAO;;;oBAGW,UAAU;qBACT,QAAQ;yBACJ,YAAY;;;;;gCAKL,QAAQ,uBAAuB,QAAQ;;;;;;;;;;;;;;;;wCAgB/B,UAAU;;;;;;;8BAOpB,YAAY;;;;;;;;;;;;;;;;;;;;;;CAsBzC,CAAC,IAAI,EAAE,CAAC;AACT,CAAC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,MAAsE,EAAE,EAAE;IACjH,MAAM,EACJ,QAAQ,EACR,QAAQ,GAAG,SAAS,EACpB,YAAY,GAAG,SAAS,GACzB,GAAG,MAAM,IAAI,EAAE,CAAC;IAEjB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,MAAM,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IAC9E,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IAE7D,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC;IACzC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,uBAAuB,CAAC;IAE7E,MAAM,gBAAgB,GAAG;QACvB,eAAe,EAAE,KAAK;QACtB,WAAW,EAAE,CAAC;QACd,IAAI,EAAE,IAAI;QACV,cAAc,EAAE;YACd,cAAc,EAAE,CAAC;SAClB;QACD,cAAc,EAAE;YACd;gBACE,QAAQ,EAAE,2BAA2B;gBACrC,SAAS,EAAE,KAAK;aACjB;YACD;gBACE,QAAQ,EAAE,iCAAiC;gBAC3C,SAAS,EAAE,KAAK;aACjB;YACD;gBACE,QAAQ,EAAE,iCAAiC;gBAC3C,SAAS,EAAE,KAAK;aACjB;YACD;gBACE,QAAQ,EAAE,0BAA0B;gBACpC,SAAS,EAAE,KAAK;aACjB;SACF;KACF,CAAC;IAEF,MAAM,GAAG,GAAG;QACV,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE;oBACL;wBACE,UAAU,EAAE;4BACV,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC;4BACpC,QAAQ,EAAE,YAAY;yBACvB;qBACF;oBACD,EAAE,IAAI,EAAE,MAAM,EAAE;iBACjB;aACF;SACF;QACD,MAAM,EAAE,gBAAgB;KACzB,CAAC;IAEF,YAAY;IACZ,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAE1D,IAAI,QAAQ,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;IAEnC,yEAAyE;IACzE,QAAQ,GAAG,QAAQ;SAChB,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,yBAAyB;SACrD,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,qBAAqB;SAC7C,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,qBAAqB;SAC7C,IAAI,EAAE,CAAC;IAGV,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,CAAC;QACH,kEAAkE;QAClE,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAErD,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CACV,mEAAmE,EACnE,GAAG,CACJ,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC/D,QAAQ,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,OAAO;QACL,QAAQ;QACR,QAAQ;QACR,QAAQ;KACT,CAAC;AACJ,CAAC,CAAC"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export declare const uploadDataToFile: (data: any) => Promise<unknown>;
|
|
2
|
-
export declare const
|
|
3
|
-
export declare const
|
|
4
|
-
|
|
2
|
+
export declare const processCaptions: (project: any) => Promise<unknown>;
|
|
3
|
+
export declare const processCaptionsToProject: ({ captions, videoUrl, duration, videoSize, }: {
|
|
4
|
+
captions: any;
|
|
5
5
|
videoUrl: string;
|
|
6
6
|
duration: number;
|
|
7
7
|
videoSize: {
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../utils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,GAAU,MAAM,GAAG,qBAoB/C,CAAC;AAEF,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../utils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,GAAU,MAAM,GAAG,qBAoB/C,CAAC;AAEF,eAAO,MAAM,eAAe,GAAU,SAAS,GAAG,qBAcjD,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAU,8CAK5C;IACD,QAAQ,EAAE,GAAG,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2DA,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,cAAc,GAAG,uBAanD,CAAC;AAEF,eAAO,MAAM,8BAA8B,GAAU,SAAS,GAAG;;;;;;;;;;;;;;EAYhE,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,SAAS,GAAG;;;;;CAuB/C,CAAC"}
|
package/dist/utils.js
CHANGED
|
@@ -13,7 +13,7 @@ export const uploadDataToFile = async (data) => {
|
|
|
13
13
|
}
|
|
14
14
|
return res.json();
|
|
15
15
|
};
|
|
16
|
-
export const
|
|
16
|
+
export const processCaptions = async (project) => {
|
|
17
17
|
try {
|
|
18
18
|
const uploadResult = await uploadDataToFile(project);
|
|
19
19
|
// Use stderr for logs so stdio JSON-RPC traffic on stdout is not corrupted.
|
|
@@ -21,7 +21,7 @@ export const processSubtitles = async (project) => {
|
|
|
21
21
|
return uploadResult;
|
|
22
22
|
}
|
|
23
23
|
catch (err) {
|
|
24
|
-
console.error("Error processing
|
|
24
|
+
console.error("Error processing captions", err);
|
|
25
25
|
return {
|
|
26
26
|
success: false,
|
|
27
27
|
error: "Error uploading project to file",
|
|
@@ -29,7 +29,7 @@ export const processSubtitles = async (project) => {
|
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
31
|
};
|
|
32
|
-
export const
|
|
32
|
+
export const processCaptionsToProject = async ({ captions, videoUrl, duration, videoSize, }) => {
|
|
33
33
|
return {
|
|
34
34
|
properties: {
|
|
35
35
|
width: videoSize.width || 720,
|
|
@@ -54,7 +54,7 @@ export const processSubtitlesToProject = async ({ subtitles, videoUrl, duration,
|
|
|
54
54
|
],
|
|
55
55
|
},
|
|
56
56
|
{
|
|
57
|
-
id: "
|
|
57
|
+
id: "caption",
|
|
58
58
|
type: "caption",
|
|
59
59
|
props: {
|
|
60
60
|
capStyle: "highlight_bg",
|
|
@@ -77,12 +77,12 @@ export const processSubtitlesToProject = async ({ subtitles, videoUrl, duration,
|
|
|
77
77
|
y: 200,
|
|
78
78
|
applyToAll: true,
|
|
79
79
|
},
|
|
80
|
-
elements:
|
|
81
|
-
id: `
|
|
80
|
+
elements: captions.map((caption, index) => ({
|
|
81
|
+
id: `caption-${index}`,
|
|
82
82
|
type: "caption",
|
|
83
|
-
s:
|
|
84
|
-
e:
|
|
85
|
-
t:
|
|
83
|
+
s: caption.s / 1000,
|
|
84
|
+
e: caption.e / 1000,
|
|
85
|
+
t: caption.t,
|
|
86
86
|
})),
|
|
87
87
|
},
|
|
88
88
|
],
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../utils.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,IAAS,EAAE,EAAE;IAClD,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;IAChC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;QACrD,IAAI,EAAE,kBAAkB;KACzB,CAAC,CAAC;IAEH,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IAE3C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,EAAE;QACxD,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,QAAQ;KACf,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,kCAAkC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,CACjE,CAAC;IACJ,CAAC;IAED,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../utils.ts"],"names":[],"mappings":"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"}
|
package/install.js
CHANGED
|
@@ -131,7 +131,7 @@ function main() {
|
|
|
131
131
|
console.log(" - UPLOAD_API_URL: Your upload API endpoint (optional)");
|
|
132
132
|
console.log(" - TWICK_STUDIO_URL: Your Twick Studio URL (optional)");
|
|
133
133
|
console.log(" 3. Restart Claude Desktop to load the new MCP server");
|
|
134
|
-
console.log("\n⨠The 'generate-
|
|
134
|
+
console.log("\n⨠The 'generate-captions' tool will be available in Claude Desktop!\n");
|
|
135
135
|
} catch (error) {
|
|
136
136
|
console.error("\nā Installation failed:");
|
|
137
137
|
console.error(error.message);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@twick/mcp-agent",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.16",
|
|
4
4
|
"description": "MCP server for Claude Desktop that generates video captions using Google Vertex AI and integrates with Twick Studio",
|
|
5
5
|
"main": "dist/stdio-server.js",
|
|
6
6
|
"type": "module",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"claude-desktop",
|
|
31
31
|
"video-transcription",
|
|
32
32
|
"captions",
|
|
33
|
-
"
|
|
33
|
+
"caption",
|
|
34
34
|
"google-vertex-ai",
|
|
35
35
|
"gemini",
|
|
36
36
|
"twick-studio"
|