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 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.0 install
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.0 install --key vug_sk_yourkey`.
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.0
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.0"],
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.0`) — never install `latest`.
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.0.0`) in your install. Don't install "latest."
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,3 @@
1
+ export declare const CAPTION_STYLES: readonly ["none", "highlighted", "scale", "minimalist", "box", "staticbox", "glow", "hormozi"];
2
+ export type CaptionStyle = (typeof CAPTION_STYLES)[number];
3
+ export declare const CAPTION_STYLE_OPTIONS: string;
@@ -0,0 +1,12 @@
1
+ export const CAPTION_STYLES = [
2
+ "none",
3
+ "highlighted",
4
+ "scale",
5
+ "minimalist",
6
+ "box",
7
+ "staticbox",
8
+ "glow",
9
+ "hormozi",
10
+ ];
11
+ export const CAPTION_STYLE_OPTIONS = CAPTION_STYLES.join(", ");
12
+ //# sourceMappingURL=caption-styles.js.map
@@ -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: "caption_style must be one of: none, highlighted, scale, minimalist, box.",
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) {
@@ -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,EACnB,0EAA0E;IAC5E,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"}
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
@@ -58,7 +58,7 @@ async function main() {
58
58
  const byName = new Map(tools.map((t) => [t.name, t]));
59
59
  const server = new Server({
60
60
  name: "vugola-mcp",
61
- version: "1.3.0",
61
+ version: "1.3.1",
62
62
  title: "Vugola",
63
63
  icons: [
64
64
  {
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.0";
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":"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"}
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: {
@@ -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":"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"}
1
+ {"version":3,"file":"clip-video.js","sourceRoot":"","sources":["../../src/tools/clip-video.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vugola-mcp",
3
- "version": "1.3.0",
3
+ "version": "1.3.1",
4
4
  "mcpName": "io.github.VCoder25/vugola-mcp",
5
5
  "description": "Official MCP server for Vugola — AI video clipping for agents.",
6
6
  "type": "module",