@instavar/mcp-server 0.2.1 → 0.2.2

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.
Files changed (3) hide show
  1. package/README.md +1 -1
  2. package/dist/index.js +10 -10
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![CI](https://github.com/instavar/mcp-server/actions/workflows/ci.yml/badge.svg)](https://github.com/instavar/mcp-server/actions/workflows/ci.yml)
4
4
  [![npm](https://img.shields.io/npm/v/%40instavar%2Fmcp-server)](https://www.npmjs.com/package/@instavar/mcp-server)
5
- [![MCP server on Glama](https://glama.ai/mcp/servers/instavar/mcp-server/badge)](https://glama.ai/mcp/servers/instavar/mcp-server)
5
+ [![Glama score](https://glama.ai/mcp/servers/instavar/mcp-server/badges/score.svg)](https://glama.ai/mcp/servers/instavar/mcp-server)
6
6
 
7
7
  Drive the full [Instavar Studio](https://instavar.com) video workflow —
8
8
  **create → render → approve → publish → metrics** — from Claude Code or Codex,
package/dist/index.js CHANGED
@@ -258,7 +258,7 @@ function registerTools(server) {
258
258
  "list_jobs",
259
259
  {
260
260
  title: "List jobs",
261
- description: "List recent video jobs for the current organization (newest first).",
261
+ description: "List recent video jobs for the current organization (newest first). Start here to discover job IDs; for one job's full detail use get_job_status.",
262
262
  inputSchema: {
263
263
  limit: z2.number().int().min(1).max(50).default(10).describe("Number of jobs to return (default 10, max 50)"),
264
264
  status: z2.enum([
@@ -284,7 +284,7 @@ function registerTools(server) {
284
284
  "get_job_status",
285
285
  {
286
286
  title: "Get job status",
287
- description: "Get detailed status for a job: runs, artifacts, verifications, plus the current video and thumbnail URLs.",
287
+ description: "Get detailed status for a job: runs, artifacts, verifications, plus the current video and thumbnail URLs. The main polling target after create_video_brief or edit_video_brief; for post-publish engagement numbers use get_job_metrics instead.",
288
288
  inputSchema: { jobId: uuid("The job ID to check") },
289
289
  annotations: READ_ONLY
290
290
  },
@@ -294,7 +294,7 @@ function registerTools(server) {
294
294
  "get_video_state",
295
295
  {
296
296
  title: "Get video state",
297
- description: "Get the materialized video state for a job (composition decisions: scenes, duration, aspect ratio, etc.).",
297
+ description: "Get the materialized video state for a job (composition decisions: scenes, duration, aspect ratio, etc.). Use it to inspect what the video contains; for pipeline progress and video URLs use get_job_status.",
298
298
  inputSchema: { jobId: uuid("The job ID") },
299
299
  annotations: READ_ONLY
300
300
  },
@@ -306,7 +306,7 @@ function registerTools(server) {
306
306
  "get_job_metrics",
307
307
  {
308
308
  title: "Get job metrics",
309
- description: "Get the latest platform engagement metric snapshots for a published job (newest first). Read-only.",
309
+ description: "Get the latest platform engagement metric snapshots for a published job (newest first). Read-only. Only meaningful after publish_job; for render progress use get_job_status.",
310
310
  inputSchema: {
311
311
  jobId: uuid("The job ID"),
312
312
  limit: z2.number().int().min(1).max(20).default(10).describe("Max metric snapshots (default 10, max 20)")
@@ -323,7 +323,7 @@ function registerTools(server) {
323
323
  "get_cost_summary",
324
324
  {
325
325
  title: "Get cost summary",
326
- description: "Query production infrastructure costs (Lambda, RunPod, R2, WaveSpeed, PoYo), optionally with reconciliation drift.",
326
+ description: "Query production infrastructure costs (Lambda, RunPod, R2, WaveSpeed, PoYo), optionally with reconciliation drift. This is spend data, not engagement \u2014 for a published job's audience numbers use get_job_metrics.",
327
327
  inputSchema: {
328
328
  since: z2.string().optional().describe("ISO date \u2014 only include events after this date"),
329
329
  provider: z2.enum(["runpod", "lambda", "r2", "wavespeed", "poyo", "all"]).default("all").describe("Filter by provider"),
@@ -343,7 +343,7 @@ function registerTools(server) {
343
343
  "create_video_brief",
344
344
  {
345
345
  title: "Create video brief",
346
- description: "Create a new video job from a structured brief and trigger the render pipeline. Returns the job and run IDs.",
346
+ description: "Create a new video job from a structured brief and trigger the render pipeline. Returns the job and run IDs immediately; rendering continues asynchronously (typically a few minutes) \u2014 poll get_job_status until draft_ready. Requires a key with write scope. To change an existing job, use edit_video_brief instead of creating a duplicate.",
347
347
  inputSchema: createBriefShape,
348
348
  annotations: SAFE_WRITE
349
349
  },
@@ -353,7 +353,7 @@ function registerTools(server) {
353
353
  "edit_video_brief",
354
354
  {
355
355
  title: "Edit video brief",
356
- description: "Edit an existing job's brief (only provided fields change). Changing the script, caption, title, lessonTitle, objective, steps, scenes or aspectRatio triggers a re-render and returns the new run ID; objective also re-routes the composition. Changing only publishTarget updates the job's target platform without re-rendering.",
356
+ description: "Edit an existing job's brief (only provided fields change). Changing the script, caption, title, lessonTitle, objective, steps, scenes or aspectRatio triggers a re-render and returns the new run ID; objective also re-routes the composition. Changing only publishTarget updates the job's target platform without re-rendering. For a brand-new video use create_video_brief.",
357
357
  inputSchema: editBriefShape,
358
358
  annotations: SAFE_WRITE
359
359
  },
@@ -368,7 +368,7 @@ function registerTools(server) {
368
368
  "approve_job",
369
369
  {
370
370
  title: "Approve job",
371
- description: "Approve a rendered job so it becomes publishable (draft_ready/awaiting_review/needs_changes -> approved) and revoke active review links.",
371
+ description: "Approve a rendered job so it becomes publishable (draft_ready/awaiting_review/needs_changes -> approved) and revoke active review links. Required before publish_job will accept the job.",
372
372
  inputSchema: { jobId: uuid("The job ID to approve") },
373
373
  annotations: {
374
374
  readOnlyHint: false,
@@ -386,7 +386,7 @@ function registerTools(server) {
386
386
  "publish_job",
387
387
  {
388
388
  title: "Publish job",
389
- description: "Publish an APPROVED job to its connected social destination via the gated publish API. All production gates run (paid plan, ownership, abuse, QA, disclosure, destination, rights, moderation). For YouTube pass youtubePrivacyStatus:'private' for safe runs.",
389
+ description: "Publish an APPROVED job to its connected social destination via the gated publish API. All production gates run (paid plan, ownership, abuse, QA, disclosure, destination, rights, moderation). Requires a key with publish scope; the post goes live on the external platform and cannot be recalled by the API. For YouTube pass youtubePrivacyStatus:'private' for safe runs.",
390
390
  inputSchema: {
391
391
  jobId: uuid("The approved job to publish"),
392
392
  youtubePrivacyStatus: z2.enum(["private", "unlisted", "public"]).optional().describe("YouTube only. Use 'private' for safe dogfood runs."),
@@ -461,7 +461,7 @@ function registerTools(server) {
461
461
  // package.json
462
462
  var package_default = {
463
463
  name: "@instavar/mcp-server",
464
- version: "0.2.1",
464
+ version: "0.2.2",
465
465
  mcpName: "com.instavar/mcp-server",
466
466
  description: "Instavar Studio MCP server \u2014 drive the full video create\u2192render\u2192approve\u2192publish\u2192metrics workflow from Claude Code or Codex with an API key.",
467
467
  type: "module",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@instavar/mcp-server",
3
- "version": "0.2.1",
3
+ "version": "0.2.2",
4
4
  "mcpName": "com.instavar/mcp-server",
5
5
  "description": "Instavar Studio MCP server — drive the full video create→render→approve→publish→metrics workflow from Claude Code or Codex with an API key.",
6
6
  "type": "module",