vugola-mcp 1.3.0 → 1.3.1
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 +8 -8
- package/dist/caption-styles.d.ts +3 -0
- package/dist/caption-styles.js +12 -0
- package/dist/caption-styles.js.map +1 -0
- package/dist/errors.js +2 -1
- package/dist/errors.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/install.js +1 -1
- package/dist/tools/caption-video.d.ts +6 -6
- package/dist/tools/caption-video.js +2 -7
- package/dist/tools/caption-video.js.map +1 -1
- package/dist/tools/clip-video.d.ts +6 -6
- package/dist/tools/clip-video.js +2 -7
- package/dist/tools/clip-video.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -18,17 +18,17 @@ Let Claude (or any MCP-capable agent) clip videos, check your credits, and sched
|
|
|
18
18
|
### Claude Desktop (one command, auto-configures)
|
|
19
19
|
|
|
20
20
|
```bash
|
|
21
|
-
npx vugola-mcp@1.3.
|
|
21
|
+
npx vugola-mcp@1.3.1 install
|
|
22
22
|
```
|
|
23
23
|
|
|
24
24
|
npx will ask to install the package (type `y`), then the installer prompts for your API key. It edits your Claude Desktop config for you — no JSON to hand-write. **Quit and reopen Claude Desktop** to pick up the change.
|
|
25
25
|
|
|
26
|
-
To skip the key prompt: `npx vugola-mcp@1.3.
|
|
26
|
+
To skip the key prompt: `npx vugola-mcp@1.3.1 install --key vug_sk_yourkey`.
|
|
27
27
|
|
|
28
28
|
### Claude Code
|
|
29
29
|
|
|
30
30
|
```bash
|
|
31
|
-
claude mcp add vugola -- npx -y vugola-mcp@1.3.
|
|
31
|
+
claude mcp add vugola -- npx -y vugola-mcp@1.3.1
|
|
32
32
|
```
|
|
33
33
|
|
|
34
34
|
Then export your key in your shell or `.env`:
|
|
@@ -46,14 +46,14 @@ If your MCP client isn't covered above, drop this block into its config file:
|
|
|
46
46
|
"mcpServers": {
|
|
47
47
|
"vugola": {
|
|
48
48
|
"command": "npx",
|
|
49
|
-
"args": ["-y", "vugola-mcp@1.3.
|
|
49
|
+
"args": ["-y", "vugola-mcp@1.3.1"],
|
|
50
50
|
"env": { "VUGOLA_API_KEY": "vug_sk_your_key_here" }
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
```
|
|
55
55
|
|
|
56
|
-
**Always pin the version** (`vugola-mcp@1.1
|
|
56
|
+
**Always pin the version** (`vugola-mcp@1.3.1`) — never install `latest`.
|
|
57
57
|
|
|
58
58
|
---
|
|
59
59
|
|
|
@@ -63,7 +63,7 @@ If your MCP client isn't covered above, drop this block into its config file:
|
|
|
63
63
|
|
|
64
64
|
Start a clipping job. Takes 10–30 minutes. Vugola emails you when it's done.
|
|
65
65
|
|
|
66
|
-
Inputs: `video_url`, `aspect_ratio` (`9:16` | `16:9` | `1:1`), `caption_style` (`none` | `highlighted` | `scale` | `minimalist` | `box`).
|
|
66
|
+
Inputs: `video_url`, `aspect_ratio` (`9:16` | `16:9` | `1:1`), `caption_style` (`none` | `highlighted` | `scale` | `minimalist` | `box` | `staticbox` | `glow` | `hormozi`).
|
|
67
67
|
|
|
68
68
|
### `get_clip_status`
|
|
69
69
|
|
|
@@ -103,14 +103,14 @@ Inputs: `job_id`, `clip_index` (1-based). Max 500 MB.
|
|
|
103
103
|
|
|
104
104
|
Add captions to a short video (up to 5 minutes). No clipping, no reframing — just captions burned on top of the source video at source quality.
|
|
105
105
|
|
|
106
|
-
Inputs: `video_url`, `aspect_ratio` (`9:16` | `16:9` | `1:1`), `caption_style` (`none` | `highlighted` | `scale` | `minimalist` | `box`). Optional: `caption_color` (hex).
|
|
106
|
+
Inputs: `video_url`, `aspect_ratio` (`9:16` | `16:9` | `1:1`), `caption_style` (`none` | `highlighted` | `scale` | `minimalist` | `box` | `staticbox` | `glow` | `hormozi`). Optional: `caption_color` (hex).
|
|
107
107
|
|
|
108
108
|
---
|
|
109
109
|
|
|
110
110
|
## Security
|
|
111
111
|
|
|
112
112
|
- **Never commit your `VUGOLA_API_KEY`.** Your agent's config file contains a secret. Add it to `.gitignore`, or use a secrets manager (1Password CLI, direnv) instead of inline env vars.
|
|
113
|
-
- **Always pin the version** (`vugola-mcp@1.
|
|
113
|
+
- **Always pin the version** (`vugola-mcp@1.3.1`) in your install. Don't install "latest."
|
|
114
114
|
- If you accidentally leak your key, regenerate it at [vugolaai.com/dashboard/api-key](https://www.vugolaai.com/dashboard/api-key) immediately.
|
|
115
115
|
- Download URLs returned by `get_clip_status` require the same `Authorization: Bearer <key>` header and expire in ~1 hour. Save clips promptly or re-fetch the status before downloading.
|
|
116
116
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"caption-styles.js","sourceRoot":"","sources":["../src/caption-styles.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,MAAM;IACN,aAAa;IACb,OAAO;IACP,YAAY;IACZ,KAAK;IACL,WAAW;IACX,MAAM;IACN,SAAS;CACD,CAAC;AAIX,MAAM,CAAC,MAAM,qBAAqB,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC"}
|
package/dist/errors.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { CAPTION_STYLE_OPTIONS } from "./caption-styles.js";
|
|
1
2
|
const DASHBOARD = "https://www.vugolaai.com/dashboard/api-key";
|
|
2
3
|
const PRICING = "https://www.vugolaai.com/pricing";
|
|
3
4
|
const KNOWN_400_CODES = {
|
|
@@ -6,7 +7,7 @@ const KNOWN_400_CODES = {
|
|
|
6
7
|
invalid_url: "That video URL isn't supported.",
|
|
7
8
|
missing_fields: "Vugola rejected the request. A required field was missing.",
|
|
8
9
|
invalid_aspect_ratio: "aspect_ratio must be one of: 9:16, 16:9, 1:1.",
|
|
9
|
-
invalid_caption_style:
|
|
10
|
+
invalid_caption_style: `caption_style must be one of: ${CAPTION_STYLE_OPTIONS}.`,
|
|
10
11
|
no_speech_detected: "No speech detected in this video. Captions require spoken audio. Credits have been refunded.",
|
|
11
12
|
};
|
|
12
13
|
export function translateHttpError(status, body) {
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,SAAS,GAAG,4CAA4C,CAAC;AAC/D,MAAM,OAAO,GAAG,kCAAkC,CAAC;AAEnD,MAAM,eAAe,GAA2B;IAC9C,eAAe,EAAE,yCAAyC;IAC1D,cAAc,EAAE,oCAAoC;IACpD,WAAW,EAAE,iCAAiC;IAC9C,cAAc,EAAE,4DAA4D;IAC5E,oBAAoB,EAAE,+CAA+C;IACrE,qBAAqB,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,MAAM,SAAS,GAAG,4CAA4C,CAAC;AAC/D,MAAM,OAAO,GAAG,kCAAkC,CAAC;AAEnD,MAAM,eAAe,GAA2B;IAC9C,eAAe,EAAE,yCAAyC;IAC1D,cAAc,EAAE,oCAAoC;IACpD,WAAW,EAAE,iCAAiC;IAC9C,cAAc,EAAE,4DAA4D;IAC5E,oBAAoB,EAAE,+CAA+C;IACrE,qBAAqB,EAAE,iCAAiC,qBAAqB,GAAG;IAChF,kBAAkB,EAChB,8FAA8F;CACjG,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,MAAc,EAAE,IAAa;IAC9D,MAAM,MAAM,GAAG,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAE3D,CAAC;IACF,MAAM,IAAI,GAAG,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAElE,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,GAAG;YACN,OAAO,wDAAwD,SAAS,EAAE,CAAC;QAC7E,KAAK,GAAG;YACN,OAAO,oFAAoF,OAAO,EAAE,CAAC;QACvG,KAAK,GAAG;YACN,OAAO,sDAAsD,OAAO,aAAa,CAAC;QACpF,KAAK,GAAG;YACN,OAAO,8EAA8E,CAAC;QACxF,KAAK,GAAG;YACN,OAAO,qDAAqD,CAAC;QAC/D,KAAK,GAAG;YACN,OAAO,qDAAqD,CAAC;QAC/D,KAAK,GAAG;YACN,OAAO,sFAAsF,CAAC;QAChG,KAAK,GAAG,CAAC,CAAC,CAAC;YACT,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;YAC1B,OAAO,6DAA6D,CAAC;QACvE,CAAC;QACD,KAAK,GAAG,CAAC;QACT,KAAK,GAAG,CAAC;QACT,KAAK,GAAG,CAAC;QACT,KAAK,GAAG;YACN,OAAO,mEAAmE,CAAC;QAC7E;YACE,OAAO,kDAAkD,MAAM,uBAAuB,CAAC;IAC3F,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAY;IAChD,IACE,GAAG;QACH,OAAO,GAAG,KAAK,QAAQ;QACvB,MAAM,IAAI,GAAG;QACZ,GAAyB,CAAC,IAAI,KAAK,YAAY,EAChD,CAAC;QACD,OAAO,qDAAqD,CAAC;IAC/D,CAAC;IACD,OAAO,wDAAwD,CAAC;AAClE,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/install.js
CHANGED
|
@@ -2,7 +2,7 @@ import { readFileSync, writeFileSync, mkdirSync, existsSync, } from "node:fs";
|
|
|
2
2
|
import { dirname, join } from "node:path";
|
|
3
3
|
import { homedir } from "node:os";
|
|
4
4
|
import { createInterface } from "node:readline/promises";
|
|
5
|
-
const VERSION = "1.3.
|
|
5
|
+
const VERSION = "1.3.1";
|
|
6
6
|
function configPathFor(client) {
|
|
7
7
|
if (client !== "claude-desktop") {
|
|
8
8
|
throw new Error(`Unsupported client: ${client}`);
|
|
@@ -8,17 +8,17 @@ export interface ToolDeps {
|
|
|
8
8
|
declare const InputSchema: z.ZodObject<{
|
|
9
9
|
video_url: z.ZodString;
|
|
10
10
|
aspect_ratio: z.ZodEnum<["9:16", "16:9", "1:1"]>;
|
|
11
|
-
caption_style: z.ZodEnum<["none", "highlighted", "scale", "minimalist", "box"]>;
|
|
11
|
+
caption_style: z.ZodEnum<["none", "highlighted", "scale", "minimalist", "box", "staticbox", "glow", "hormozi"]>;
|
|
12
12
|
caption_color: z.ZodOptional<z.ZodString>;
|
|
13
13
|
}, "strict", z.ZodTypeAny, {
|
|
14
14
|
video_url: string;
|
|
15
15
|
aspect_ratio: "9:16" | "16:9" | "1:1";
|
|
16
|
-
caption_style: "none" | "highlighted" | "scale" | "minimalist" | "box";
|
|
16
|
+
caption_style: "none" | "highlighted" | "scale" | "minimalist" | "box" | "staticbox" | "glow" | "hormozi";
|
|
17
17
|
caption_color?: string | undefined;
|
|
18
18
|
}, {
|
|
19
19
|
video_url: string;
|
|
20
20
|
aspect_ratio: "9:16" | "16:9" | "1:1";
|
|
21
|
-
caption_style: "none" | "highlighted" | "scale" | "minimalist" | "box";
|
|
21
|
+
caption_style: "none" | "highlighted" | "scale" | "minimalist" | "box" | "staticbox" | "glow" | "hormozi";
|
|
22
22
|
caption_color?: string | undefined;
|
|
23
23
|
}>;
|
|
24
24
|
export declare function createCaptionVideoTool(deps: ToolDeps): {
|
|
@@ -27,17 +27,17 @@ export declare function createCaptionVideoTool(deps: ToolDeps): {
|
|
|
27
27
|
inputSchema: z.ZodObject<{
|
|
28
28
|
video_url: z.ZodString;
|
|
29
29
|
aspect_ratio: z.ZodEnum<["9:16", "16:9", "1:1"]>;
|
|
30
|
-
caption_style: z.ZodEnum<["none", "highlighted", "scale", "minimalist", "box"]>;
|
|
30
|
+
caption_style: z.ZodEnum<["none", "highlighted", "scale", "minimalist", "box", "staticbox", "glow", "hormozi"]>;
|
|
31
31
|
caption_color: z.ZodOptional<z.ZodString>;
|
|
32
32
|
}, "strict", z.ZodTypeAny, {
|
|
33
33
|
video_url: string;
|
|
34
34
|
aspect_ratio: "9:16" | "16:9" | "1:1";
|
|
35
|
-
caption_style: "none" | "highlighted" | "scale" | "minimalist" | "box";
|
|
35
|
+
caption_style: "none" | "highlighted" | "scale" | "minimalist" | "box" | "staticbox" | "glow" | "hormozi";
|
|
36
36
|
caption_color?: string | undefined;
|
|
37
37
|
}, {
|
|
38
38
|
video_url: string;
|
|
39
39
|
aspect_ratio: "9:16" | "16:9" | "1:1";
|
|
40
|
-
caption_style: "none" | "highlighted" | "scale" | "minimalist" | "box";
|
|
40
|
+
caption_style: "none" | "highlighted" | "scale" | "minimalist" | "box" | "staticbox" | "glow" | "hormozi";
|
|
41
41
|
caption_color?: string | undefined;
|
|
42
42
|
}>;
|
|
43
43
|
handler(input: z.infer<typeof InputSchema>): Promise<{
|
|
@@ -1,17 +1,12 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { sanitize } from "../sanitize.js";
|
|
3
3
|
import { translateHttpError, translateNetworkError } from "../errors.js";
|
|
4
|
+
import { CAPTION_STYLES } from "../caption-styles.js";
|
|
4
5
|
const InputSchema = z
|
|
5
6
|
.object({
|
|
6
7
|
video_url: z.string().min(1).max(2048),
|
|
7
8
|
aspect_ratio: z.enum(["9:16", "16:9", "1:1"]),
|
|
8
|
-
caption_style: z.enum(
|
|
9
|
-
"none",
|
|
10
|
-
"highlighted",
|
|
11
|
-
"scale",
|
|
12
|
-
"minimalist",
|
|
13
|
-
"box",
|
|
14
|
-
]),
|
|
9
|
+
caption_style: z.enum(CAPTION_STYLES),
|
|
15
10
|
caption_color: z.string().regex(/^#[0-9A-Fa-f]{6}$/).optional(),
|
|
16
11
|
})
|
|
17
12
|
.strict();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"caption-video.js","sourceRoot":"","sources":["../../src/tools/caption-video.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"caption-video.js","sourceRoot":"","sources":["../../src/tools/caption-video.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,15 +8,15 @@ export interface ToolDeps {
|
|
|
8
8
|
declare const InputSchema: z.ZodObject<{
|
|
9
9
|
video_url: z.ZodString;
|
|
10
10
|
aspect_ratio: z.ZodEnum<["9:16", "16:9", "1:1"]>;
|
|
11
|
-
caption_style: z.ZodEnum<["none", "highlighted", "scale", "minimalist", "box"]>;
|
|
11
|
+
caption_style: z.ZodEnum<["none", "highlighted", "scale", "minimalist", "box", "staticbox", "glow", "hormozi"]>;
|
|
12
12
|
}, "strict", z.ZodTypeAny, {
|
|
13
13
|
video_url: string;
|
|
14
14
|
aspect_ratio: "9:16" | "16:9" | "1:1";
|
|
15
|
-
caption_style: "none" | "highlighted" | "scale" | "minimalist" | "box";
|
|
15
|
+
caption_style: "none" | "highlighted" | "scale" | "minimalist" | "box" | "staticbox" | "glow" | "hormozi";
|
|
16
16
|
}, {
|
|
17
17
|
video_url: string;
|
|
18
18
|
aspect_ratio: "9:16" | "16:9" | "1:1";
|
|
19
|
-
caption_style: "none" | "highlighted" | "scale" | "minimalist" | "box";
|
|
19
|
+
caption_style: "none" | "highlighted" | "scale" | "minimalist" | "box" | "staticbox" | "glow" | "hormozi";
|
|
20
20
|
}>;
|
|
21
21
|
export declare function createClipVideoTool(deps: ToolDeps): {
|
|
22
22
|
name: string;
|
|
@@ -24,15 +24,15 @@ export declare function createClipVideoTool(deps: ToolDeps): {
|
|
|
24
24
|
inputSchema: z.ZodObject<{
|
|
25
25
|
video_url: z.ZodString;
|
|
26
26
|
aspect_ratio: z.ZodEnum<["9:16", "16:9", "1:1"]>;
|
|
27
|
-
caption_style: z.ZodEnum<["none", "highlighted", "scale", "minimalist", "box"]>;
|
|
27
|
+
caption_style: z.ZodEnum<["none", "highlighted", "scale", "minimalist", "box", "staticbox", "glow", "hormozi"]>;
|
|
28
28
|
}, "strict", z.ZodTypeAny, {
|
|
29
29
|
video_url: string;
|
|
30
30
|
aspect_ratio: "9:16" | "16:9" | "1:1";
|
|
31
|
-
caption_style: "none" | "highlighted" | "scale" | "minimalist" | "box";
|
|
31
|
+
caption_style: "none" | "highlighted" | "scale" | "minimalist" | "box" | "staticbox" | "glow" | "hormozi";
|
|
32
32
|
}, {
|
|
33
33
|
video_url: string;
|
|
34
34
|
aspect_ratio: "9:16" | "16:9" | "1:1";
|
|
35
|
-
caption_style: "none" | "highlighted" | "scale" | "minimalist" | "box";
|
|
35
|
+
caption_style: "none" | "highlighted" | "scale" | "minimalist" | "box" | "staticbox" | "glow" | "hormozi";
|
|
36
36
|
}>;
|
|
37
37
|
handler(input: z.infer<typeof InputSchema>): Promise<{
|
|
38
38
|
content: {
|
package/dist/tools/clip-video.js
CHANGED
|
@@ -1,17 +1,12 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { sanitize } from "../sanitize.js";
|
|
3
3
|
import { translateHttpError, translateNetworkError } from "../errors.js";
|
|
4
|
+
import { CAPTION_STYLES } from "../caption-styles.js";
|
|
4
5
|
const InputSchema = z
|
|
5
6
|
.object({
|
|
6
7
|
video_url: z.string().min(1).max(2048),
|
|
7
8
|
aspect_ratio: z.enum(["9:16", "16:9", "1:1"]),
|
|
8
|
-
caption_style: z.enum(
|
|
9
|
-
"none",
|
|
10
|
-
"highlighted",
|
|
11
|
-
"scale",
|
|
12
|
-
"minimalist",
|
|
13
|
-
"box",
|
|
14
|
-
]),
|
|
9
|
+
caption_style: z.enum(CAPTION_STYLES),
|
|
15
10
|
})
|
|
16
11
|
.strict();
|
|
17
12
|
const RATE_LIMIT_MSG = "You're calling Vugola too quickly. Wait a moment and try again.";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clip-video.js","sourceRoot":"","sources":["../../src/tools/clip-video.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"clip-video.js","sourceRoot":"","sources":["../../src/tools/clip-video.ts"],"names":[],"mappings":"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"}
|