Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "vidseeds",
"version": "1.9.2",
"description": "VidSeeds.ai connector pre-upload video SEO/metadata optimization + multi-platform publishing (222 tools). Workflow skills for efficient MCP use. Paid connector with a 14-day free trial. Requires a free Personal Access Token from https://vidseeds.ai/settings/mcp-settings.",
"description": "VidSeeds.ai connector for pre-upload video SEO/metadata optimization + multi-platform publishing (247 tools). Workflow skills for efficient MCP use. Paid connector with a 14-day free trial. Requires a free Personal Access Token from https://vidseeds.ai/settings/mcp-settings.",
"author": {
"name": "VidSeeds.ai",
"url": "https://vidseeds.ai"
Expand All @@ -27,14 +27,20 @@
"type": "cli",
"displayName": "VidSeeds.ai",
"shortDescription": "Pre-upload video SEO/metadata optimization and multi-platform publishing.",
"longDescription": "VidSeeds.ai analyzes your existing video and generates optimized titles, descriptions, tags, thumbnails, and chapters for YouTube, TikTok, Instagram, Facebook, LinkedIn, and Xthen publishes. Hosted MCP connector (222 tools) with workflow skills and a 14-day free trial; requires a free Personal Access Token from https://vidseeds.ai/settings/mcp-settings.",
"longDescription": "VidSeeds.ai analyzes your existing video and generates optimized titles, descriptions, tags, thumbnails, and chapters for YouTube, TikTok, Instagram, Facebook, LinkedIn, and X, then publishes. Hosted MCP connector (247 tools) with workflow skills and a 14-day free trial; requires a free Personal Access Token from https://vidseeds.ai/settings/mcp-settings.",
"developerName": "VidSeeds.ai",
"category": "Productivity",
"capabilities": [
"Interactive",
"Write"
],
"websiteURL": "https://vidseeds.ai",
"composerIcon": "./assets/icon.png"
"privacyPolicyURL": "https://vidseeds.ai/privacy-policy",
"termsOfServiceURL": "https://vidseeds.ai/terms-of-service",
"composerIcon": "./assets/icon.png",
"logo": "./assets/icon.png",
"screenshots": [
"./assets/icon.png"
]
}
}
18 changes: 18 additions & 0 deletions plugins/CarrotGamesStudios/vidseeds-mcp/.codexignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Local Codex scanner ignore list for the public connector package.

.DS_Store
.env
.env.*
!.env.example
*.log
*.pem
*.key
*.p12
*.pfx
node_modules/
.next/
dist/
build/
coverage/
tmp/
temp/
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "monthly"
124 changes: 73 additions & 51 deletions plugins/CarrotGamesStudios/vidseeds-mcp/README.md

Large diffs are not rendered by default.

23 changes: 23 additions & 0 deletions plugins/CarrotGamesStudios/vidseeds-mcp/SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Security Policy

## Supported Versions

The public VidSeeds.ai MCP connector package tracks the hosted connector version in `.claude-plugin/plugin.json`, `.codex-plugin/plugin.json`, `server.json`, and `README.md`. Only the latest published package is supported.

## Reporting a Vulnerability

Report security issues privately:

- Email: security@vidseeds.ai
- Security contact file: https://vidseeds.ai/.well-known/security.txt
- Contact form: https://vidseeds.ai/contact/

Do not open a public GitHub issue for vulnerabilities, leaked credentials, auth bypasses, or account-data exposure.

## Connector Security Notes

This package contains no VidSeeds.ai credentials. It references the user-provided `VIDSEEDS_PAT` environment variable so MCP clients can send `Authorization: Bearer ...` to `https://vidseeds.ai/api/mcp`.

If a Personal Access Token is exposed, revoke it at https://vidseeds.ai/settings/mcp-settings and create a new token.

The hosted MCP server rejects cookie/session auth for this connector path. Access is enforced server-side on every call.
21 changes: 21 additions & 0 deletions plugins/CarrotGamesStudios/vidseeds-mcp/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
name: vidseeds
description: Registry fallback entry point for the VidSeeds.ai MCP connector. Use the bundled domain skills for setup, efficiency, thumbnails, projects, analytics, local video, and publishing workflows.
license: MIT
---

# VidSeeds.ai MCP Connector

VidSeeds.ai is a pre-upload video SEO, metadata optimization, AI thumbnail, and multi-platform publishing connector for existing videos.

Use the focused skills in `skills/` for real workflows:

- `vidseeds-setup`
- `vidseeds-efficiency`
- `vidseeds-projects`
- `vidseeds-thumbnails`
- `vidseeds-analytics`
- `vidseeds-local-video`
- `vidseeds-publishing`

The hosted endpoint is `https://vidseeds.ai/api/mcp`. The connector uses a user-provided `VIDSEEDS_PAT` token and does not ship credentials.
2 changes: 1 addition & 1 deletion plugins/CarrotGamesStudios/vidseeds-mcp/codex.mcp.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"mcp_servers": {
"vidseeds": {
"url": "https://vidseeds.ai/api/mcp",
"url": "https://vidseeds.ai/api/mcp?toolset=core",
"bearer_token_env_var": "VIDSEEDS_PAT"
}
}
Expand Down
13 changes: 13 additions & 0 deletions plugins/CarrotGamesStudios/vidseeds-mcp/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 15 additions & 0 deletions plugins/CarrotGamesStudios/vidseeds-mcp/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"name": "vidseeds-mcp",
"version": "1.9.2",
"private": true,
"description": "Public VidSeeds.ai MCP connector package for Codex, Claude Code, and registry-compatible MCP catalogs.",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/CarrotGamesStudios/vidseeds-mcp.git"
},
"scripts": {
"scan": "plugin-scanner scan . --profile public-marketplace",
"verify": "plugin-scanner verify ."
}
}
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
---
name: vidseeds-analytics
description: Use for VidSeeds MCP analytics and research — YouTube analytics, channel intelligence, video autopsy, outliers, competitors, trending/breakout discovery, keyword research, comment sentiment, and best-practices tools. Outcomes only; not internal scoring details.
description: Use for VidSeeds MCP analytics and research - YouTube analytics, channel intelligence, video autopsy, outliers, competitors, trending/breakout discovery, keyword research, comment sentiment, and best-practices tools. Outcomes only; not internal scoring details.
license: MIT
---

# Analytics & intelligence (MCP)

Map the user's question to a tool then read the tool `description` for inputs and seed cost.
Map the user's question to a tool - then read the tool `description` for inputs and seed cost.

## YouTube account data

Expand Down Expand Up @@ -65,12 +66,12 @@ Pass `channelId` when multiple YouTube connections exist.

## SEO experiments

- `vidseeds_generate_seo_title_experiments` title variants for testing.
- `vidseeds_generate_seo_title_experiments` - title variants for testing.

## Copilot / assistant (Q&A)

- `vidseeds_get_copilot_response` channel-aware answers.
- Assistant threads: `vidseeds_list_assistant_conversations`, `vidseeds_get_assistant_conversation`, `vidseeds_send_assistant_message`, `vidseeds_confirm_assistant_suggestion` see tool descriptions for collab flows.
- `vidseeds_get_copilot_response` - channel-aware answers.
- Assistant threads: `vidseeds_list_assistant_conversations`, `vidseeds_get_assistant_conversation`, `vidseeds_send_assistant_message`, `vidseeds_confirm_assistant_suggestion` - see tool descriptions for collab flows.

## After research → action

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
name: vidseeds-efficiency
description: Use before expensive VidSeeds MCP workflows — seeds, daily MCP call quotas, async jobId polling, when to call vidseeds_get_seed_balance, and avoiding retry loops on MCP_QUOTA_EXCEEDED or insufficient seeds.
description: Use before expensive VidSeeds MCP workflows - seeds, daily MCP call quotas, async jobId polling, when to call vidseeds_get_seed_balance, and avoiding retry loops on MCP_QUOTA_EXCEEDED or insufficient seeds.
license: MIT
---

# VidSeeds MCP efficiency
Expand All @@ -9,12 +10,12 @@ Read this before multi-step or charge-bearing workflows.

## Orient first (free)

New to this server, or unsure which tool does the job? Call **`vidseeds_guide`** it returns the capability map, the recommended tool chain for a stated `goal`, and what VidSeeds does not do. It is free and quota-exempt, so it never costs seeds or a call-bucket token. The server's `initialize` instructions and the `vidseeds://guide` resource carry the same orientation; workflow **prompts** (e.g. `optimize-youtube-video`, `make-thumbnail`) hand you the ready-made tool chain. Reach for these before concluding a capability is missing. **Parameter-level field docs are intentionally omitted from `tools/list` JSON schemas to save context** use `vidseeds_guide` (with a `goal`) or read `vidseeds://guide` when you need argument semantics beyond types/enums.
New to this server, or unsure which tool does the job? Call **`vidseeds_guide`** - it returns the capability map, the recommended tool chain for a stated `goal`, and what VidSeeds does not do. It is free and quota-exempt, so it never costs seeds or a call-bucket token. The server's `initialize` instructions and the `vidseeds://guide` resource carry the same orientation; workflow **prompts** (e.g. `optimize-youtube-video`, `make-thumbnail`) hand you the ready-made tool chain. Reach for these before concluding a capability is missing. **Parameter-level field docs are intentionally omitted from `tools/list` JSON schemas to save context** - use `vidseeds_guide` (with a `goal`) or read `vidseeds://guide` when you need argument semantics beyond types/enums.

## Two cost layers

1. **Per-tool seeds** Some tools spend seeds (thumbnails, intelligence, translation, etc.). Read-only tools are free. Charge-bearing tools state their seed cost in the first sentence of their compressed `tools/list` description; when it is not there, call `vidseeds_guide` with the tool name for the confirmed cost. Confirm with the user before charge-bearing calls. (2026-06: use `fields: ["description","tags"]` on regenerate for light/correct-price partials; thumbnail edits cost more than generation when using input reference image.)
2. **Daily MCP call quota** Almost every tool call counts toward a plan bucket (continuous refill, not midnight reset). When the bucket is empty, each extra call costs **1 seed** on top of any per-tool cost.
1. **Per-tool seeds** - Some tools spend seeds (thumbnails, intelligence, translation, etc.). Read-only tools are free. Charge-bearing tools state their seed cost in the first sentence of their compressed `tools/list` description; when it is not there, call `vidseeds_guide` with the tool name for the confirmed cost. Confirm with the user before charge-bearing calls. (2026-06: use `fields: ["description","tags"]` on regenerate for light/correct-price partials; thumbnail edits cost more than generation when using input reference image.)
2. **Daily MCP call quota** - Almost every tool call counts toward a plan bucket (continuous refill, not midnight reset). When the bucket is empty, each extra call costs **1 seed** on top of any per-tool cost.

| Plan | Refill / day | Bucket cap |
| ------- | ------------ | ---------- |
Expand All @@ -28,10 +29,12 @@ New to this server, or unsure which tool does the job? Call **`vidseeds_guide`**

## Before expensive work

1. `vidseeds_get_seed_balance` seeds, remaining included MCP calls, overage rate (free).
1. `vidseeds_get_seed_balance` - seeds, remaining included MCP calls, overage rate (free).
2. Tell the user expected per-tool seed cost (from the tool's compressed description, or `vidseeds_guide` when the description omits it).
3. Prefer **async + poll** for long jobs instead of hammering sync tools that may time out at the edge.

Promo campaign note: `vidseeds_generate_promo_campaign_pack` is seed-charged on successful AI generation; conversion to drafts with `vidseeds_create_social_posts_from_campaign_pack` is not the billable AI step.

## Async job pattern

Many writes return immediately with `jobId` (and often `pollTool` or a named poll tool in the response):
Expand All @@ -49,14 +52,14 @@ Examples:
| `vidseeds_create_project_metadata_async` | `vidseeds_get_create_project_metadata_job` |
| `vidseeds_optimize_marketing_metadata_async` | `vidseeds_get_optimize_marketing_metadata_job` |

Thumbnail generation is typically **70–100s**. Project metadata regeneration can be **60–130s** prefer async variants for production.
Thumbnail generation is typically **70–100s**. Project metadata regeneration can be **60–130s** - prefer async variants for production.

## Errors do not spin
## Errors - do not spin

| Code / message | Action |
| ----------------------------- | ------------------------------------------------------------------------------- |
| `AUTH_REQUIRED` / 401 | PAT missing see `vidseeds-setup` |
| `SUBSCRIPTION_REQUIRED` / 402 | Trial ended user must subscribe |
| `AUTH_REQUIRED` / 401 | PAT missing - see `vidseeds-setup` |
| `SUBSCRIPTION_REQUIRED` / 402 | Trial ended - user must subscribe |
| `MCP_QUOTA_EXCEEDED` | Stop retrying; show top-up link from error; wait for bucket refill or add seeds |
| Insufficient seeds | `vidseeds_get_seed_balance`; user tops up at <https://vidseeds.ai/seeds> |

Expand All @@ -65,7 +68,7 @@ Thumbnail generation is typically **70–100s**. Project metadata regeneration c
- Use `vidseeds_get_project_snapshot` when you need project + platform rows in one call instead of many `get_project` loops.
- For connections, `vidseeds_list_platform_connections` before per-id fetches unless you already have `connectionId`.
- Batch discovery: `vidseeds_get_bulk_video_metadata` when comparing many videos.
- Reuse the same `requestId` / idempotency keys on retries the tool docs allow avoids double billing.
- Reuse the same `requestId` / idempotency keys on retries the tool docs allow - avoids double billing.

## When `tools/list` is enough

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
name: vidseeds-local-video
description: Use when the user's video is on disk — VidSeeds MCP probe, frame/clip extraction, ffmpeg recipes, precision trim, and midroll analysis. Hosted tools return commands/recipes to run locally; media stays on the user's machine.
description: Use when the user's video is on disk - VidSeeds MCP probe, frame/clip extraction, ffmpeg recipes, precision trim, and midroll analysis. Hosted tools return commands/recipes to run locally; media stays on the user's machine.
license: MIT
---

# Local video media (MCP)
Expand All @@ -9,7 +10,7 @@ VidSeeds.ai follows **client-first** media: the hosted MCP server does not read

## Probe a file

- `vidseeds_probe_local_video` duration, resolution, codecs; use before trim or thumbnail frame picks.
- `vidseeds_probe_local_video` - duration, resolution, codecs; use before trim or thumbnail frame picks.

## Frames and clips

Expand All @@ -24,23 +25,40 @@ Run returned shell commands on the **user's machine** (requires ffmpeg/ffprobe i

## Precision trim

1. `vidseeds_analyze_precision_trim` — suggested cut points.
2. `vidseeds_plan_precision_trim` — plan from analysis.
3. `vidseeds_execute_precision_trim` — export recipe/commands for local ffmpeg.
1. `vidseeds_analyze_precision_trim` - suggested cut points, segment catalog, seed cost preview.
2. `vidseeds_plan_precision_trim` - AI edit plan (CritiquePlan) with genre-aware processing.
3. `vidseeds_execute_precision_trim` - export recipe/commands for local ffmpeg.

### V3 Genre-Aware Processing (2026-06-27)

Precision Trim V3 adds **genre classification** + **soundscape analysis** + **motion profile** + **hook detection** + **semantic boundaries** as parallel client-side signals. These are passed as optional metadata in `vidseeds_analyze_precision_trim` / `vidseeds_plan_precision_trim` inputs:

- `detectedGenre` - overrides automatic genre detection (speech_driven, action_dynamic, ambient_relax, visual_primary, mixed_narrative, tutorial)
- `soundscape` - spectral classification from PCM (silence/speech/music/ambient/noise)
- `motionProfile` - frame-by-frame pixel diff analysis (static/slow/action/scene_change)

**How it affects plans:**

- **ambient_relax**: high silence tolerance (15s+), preserves zero-word scenes, < 20% cut ratio
- **action_dynamic**: aggressive pause trimming (500ms+), up to 40% cut ratio
- **speech_driven**: cut at semantic boundaries, moderate trimming
- **visual_primary**: preserves scenes without speech, cut only on true silence
- **mixed_narrative**: uses all signals - only cuts when multiple agree
- **tutorial**: precision trimming, no speed around instructions

## Midroll placement

- `vidseeds_analyze_midroll_opportunities` suggested mid-roll times from transcript/context (analysis only; user edits in their editor).
- `vidseeds_analyze_midroll_opportunities` - suggested mid-roll times from transcript/context (analysis only; user edits in their editor).

## Thumbnails from local file

Prefer the **vidseeds-local** stdio MCP tool `vidseeds_generate_thumbnail_from_video` when the whole pipeline should run on-disk (see `vidseeds-thumbnails`).

## YouTube-hosted source (not local path)

- `vidseeds_get_youtube_video_transcript`, `vidseeds_get_youtube_video_captions` text from YouTube without downloading video to the server.
- `vidseeds_get_youtube_video_transcript`, `vidseeds_get_youtube_video_captions` - text from YouTube without downloading video to the server.

## Do not

- Expect hosted tools to accept arbitrary filesystem paths for upload/processing.
- Re-run probe/extract in a loop cache probe results for the session.
- Re-run probe/extract in a loop - cache probe results for the session.
Loading
Loading