Skip to main content
Glama

mcp-video-gen

Features

  • 7 video providers — Volcengine Ark Seedance, DashScope/Wan, Kling, SiliconFlow, Vidu, MiniMax, Google Veo (2/3/3.1)

  • Image-to-video — generate videos from reference images (Veo)

  • TTS — text-to-speech via MiniMax (+ Google Chirp 3 HD with ADC)

  • Music generation — MiniMax Music + Google Lyria (instrumental, ~33s, GCP credits)

  • Speech-to-text — transcribe audio with word-level timestamps via Google Chirp 2 (for subtitle generation)

  • Ark migration ready — Volcengine Ark Seedance is available via ARK_API_KEY / ARK_VIDEO_*

  • Provider switching — choose the best provider per request via provider parameter

  • Auto-download — generated videos/audio saved to local disk automatically

Related MCP server: imagine-mcp

Architecture

How It Works

User Prompt → AI Assistant (Claude / Cursor) → MCP Server → Provider API
                                                    ↓
                                        generate_video() → task_id
                                        query_video_status(task_id) → download to disk

All video providers use an async pattern: submit a generation request, get a task ID, then poll until complete. The MCP server handles this transparently — the AI assistant calls generate_video, then query_video_status in a loop until the video is ready.

Supported Providers

Video Providers

Provider

Model

Free Tier

Quality

Duration

Best for

Volcengine Ark Seedance

doubao-seedance-2.0

Paid video API

720p+

5-10s

Ark migration, Doubao/Seedance workflows

DashScope / Wan (通义万相)

wan2.6-t2v

50s free (90 days)

Up to 1080P

5-10s

High quality, Chinese content

Kling AI (可灵)

kling-v2-master

66 credits/day (web only)

720p

5-10s

Good quality, daily free credits

SiliconFlow (硅基流动)

Wan2.1-T2V-14B

$1 signup bonus

720p

varies

Quick testing

Vidu (生数科技)

vidu-2.0

200 promo credits

720p

4s

Short clips

MiniMax Hailuo (海螺)

Hailuo 2.3

Paid

Up to 1080P

6-10s

Highest quality

Google Veo (Vertex AI)

veo-2.0/3.0/3.1

GCP credits

720p-4K

5-8s

Production quality, GCP users

Provider selection guide

Need a video?
  ├─ Using Volcengine Ark?
  │   └─ ark ✅ (Seedance video task API)
  │
  ├─ Need highest quality?
  │   ├─ minimax (best Chinese provider, paid)
  │   └─ veo (best international, GCP credits)
  │
  ├─ Have GCP credits to spend?
  │   ├─ Budget-conscious → veo-3.0-fast ($0.15/sec, 1080p)
  │   └─ Best quality → veo-2.0 ($0.50/sec) or veo-3.0 ($0.75/sec)
  │
  └─ Need long videos (10s)?
      ├─ dashscope / kling / minimax (support 10s)
      └─ veo max 8s

Audio Providers

Provider

Capability

Model

Pricing

Env Var

MiniMax TTS

Text-to-Speech

speech-2.6-hd

~¥0.01/req

MINIMAX_API_KEY

Google TTS

Text-to-Speech

Chirp 3 HD (52 languages)

~$30/1M chars

ADC only

MiniMax Music

Music Generation (with lyrics)

music-2.0

~¥0.1/song

MINIMAX_API_KEY

Google Lyria

Instrumental Music

lyria-002 (~33s WAV)

~$0.06/clip

GCP_PROJECT_ID

Transcription

Provider

Capability

Model

Pricing

Env Var

Google STT

Speech-to-Text + timestamps

Chirp 2

~$0.016/min

GCP_PROJECT_ID

  • MiniMax tools auto-enable when MINIMAX_API_KEY is set

  • Google Lyria and STT auto-enable when GCP_PROJECT_ID is set (uses GEMINI_API_KEY)

  • Google TTS requires ADC (gcloud auth application-default login)

Quick Start

1. Clone & install

git clone https://github.com/kevinten-ai/mcp-video-gen.git
cd mcp-video-gen
uv sync              # basic deps
uv sync --extra gcp  # add this if using Google Veo

2. Configure MCP

Only configure the providers you want to use. At least one API key is required.

# Minimal Ark setup
claude mcp add -s user mcp-video-gen \
  --env ARK_API_KEY=your_key \
  --env ARK_VIDEO_MODEL=doubao-seedance-2-0-fast-260128 \
  -- uv --directory /path/to/mcp-video-gen run video-gen

# Full (all current providers including Veo)
claude mcp add -s user mcp-video-gen \
  --env ARK_API_KEY=your_key \
  --env KLING_ACCESS_KEY=your_ak \
  --env KLING_SECRET_KEY=your_sk \
  --env MINIMAX_API_KEY=your_key \
  --env GCP_PROJECT_ID=your-project-id \
  --env GEMINI_API_KEY=your_gcp_api_key \
  -- uv --directory /path/to/mcp-video-gen run --extra gcp video-gen

Important: --extra gcp must come after run, not before it. This is a uv run option, not a global uv option.

{
  "mcpServers": {
    "mcp-video-gen": {
      "command": "uv",
      "args": ["--directory", "/path/to/mcp-video-gen", "run", "--extra", "gcp", "video-gen"],
      "env": {
        "ARK_API_KEY": "your_key",
        "ARK_VIDEO_MODEL": "doubao-seedance-2-0-fast-260128",
        "GCP_PROJECT_ID": "your-project-id",
        "GEMINI_API_KEY": "your_gcp_api_key"
      }
    }
  }
}

3. Use it

Ask your AI assistant to generate a video:

"Generate a video of a cat playing piano"

The assistant will call generate_video, wait, then call query_video_status to download the result.

Tools (7 total)

Video

  • generate_video — Text-to-video or image-to-video generation. Params: prompt, provider, duration (5/10), aspect_ratio (16:9/9:16/1:1), image_url (for img2vid, Ark/Veo), model (optional provider model ID).

  • query_video_status — Poll generation status and auto-download. Params: task_id, provider.

For Veo image-to-video, reference images may be local files, gs:// URIs, or public HTTP(S) URLs. Localhost, .local, and private/loopback IP-literal URLs are rejected, remote TLS certificates are verified, and reference images are limited to 20 MiB.

Audio

  • generate_speech — Text-to-speech. Params: text, provider (minimax/google-tts), voice_id, speed (0.5-2.0).

  • generate_music — AI music generation. Params: prompt, provider (minimax/google-lyria), lyrics (optional, supports [Verse]/[Chorus]/[Bridge]).

Transcription

  • transcribe_audio — Speech-to-text with word-level timestamps (Google Chirp 2). Params: audio_path, language_code (en-US/cmn-CN/ja-JP/...). Use with ffmpeg add_subtitles for full subtitle pipeline.

Utility

  • list_providers — Show all configured video, TTS, music, and STT providers, including default video models.

  • resources — Read providers://models/<provider> for a provider model catalog and supported model IDs.

API Key Registration Guide

Item

Detail

Platform

Volcengine Ark

URL

https://console.volcengine.com/ark

Pricing

Ark video generation billing; may not be covered by CodingPlan chat quota

Env Var

ARK_API_KEY or ARK_VIDEO_API_KEY

Steps:

  1. Create or reuse a Volcengine Ark API key.

  2. Set ARK_API_KEY for shared Ark credentials, or ARK_VIDEO_API_KEY if you want a video-specific key.

  3. Optional: set ARK_VIDEO_BASE_URL=https://ark.cn-beijing.volces.com/api/v3.

  4. Optional: set ARK_VIDEO_MODEL=doubao-seedance-2-0-fast-260128.

The Ark video provider calls /contents/generations/tasks. It does not use the CodingPlan chat completions endpoint.

Item

Detail

Platform

阿里云百炼 (Alibaba Bailian)

URL

https://bailian.console.aliyun.com

Free Tier

50 seconds free (valid 90 days)

Env Var

DASHSCOPE_API_KEY

Steps:

  1. Register at https://www.aliyun.com (phone/email)

  2. Go to https://bailian.console.aliyun.com → activate DashScope

  3. API-KEY 管理: https://bailian.console.aliyun.com/?apiKey=1#/api-key

  4. Click "创建 API Key" → copy (format: sk-xxxxxxxxxxxxxxxx)

Item

Detail

Platform

Kling AI Developer Platform

URL

https://klingai.com/global/dev

Free Tier

66 credits/day (web only); API requires purchased resource pack

Env Vars

KLING_ACCESS_KEY, KLING_SECRET_KEY

Steps:

  1. Sign up at https://klingai.com

  2. Developer Console: https://app.klingai.com/global/dev/document-api/quickStart/userManual

  3. Settings > API Keys → create key pair (Access Key + Secret Key)

Important: 66 daily credits are web-only, NOT for API. API requires purchasing a resource pack.

Item

Detail

Platform

SiliconFlow

URL

https://siliconflow.cn

Free Tier

$1 bonus (~3 videos at $0.29/video)

Env Var

SILICONFLOW_API_KEY

Steps:

  1. Register at https://cloud.siliconflow.cn/account/login (Chinese phone)

  2. API Keys: https://cloud.siliconflow.cn/account/ak → "新建 API Key"

  3. Copy (format: sk-xxxxxxxxxxxxxxxx)

Video download URLs expire in 10 minutes — the MCP server auto-downloads on query.

Item

Detail

Platform

Vidu Platform

URL

https://platform.vidu.com

Free Tier

Apply for 200 free API credits (promotional)

Env Var

VIDU_API_KEY

Steps:

  1. Sign up at https://www.vidu.com → API Platform: https://platform.vidu.com

  2. Create API key → copy

API credits are separate from web credits (800/month web credits don't apply to API).

Item

Detail

Platform

MiniMax Open Platform

URL

https://platform.minimaxi.com

Free Tier

None. ~¥0.7/video (512P 6s) to ~¥3.7/video (1080P 6s)

Env Vars

MINIMAX_API_KEY, MINIMAX_API_HOST (optional)

Steps:

  1. Register at https://platform.minimaxi.com (Chinese phone)

  2. Complete real-name verification (实名认证)

  3. Create API key (format: sk-api-xxxxxxxxxxxxxxxx)

  4. Top up at billing center (min ~¥10)

Setting MINIMAX_API_KEY also enables TTS and music generation tools.

Item

Detail

Platform

Google Cloud Vertex AI

URL

https://console.cloud.google.com

Free Tier

No free tier. Uses GCP credits/billing.

Env Vars

GCP_PROJECT_ID, GEMINI_API_KEY (recommended)

Prerequisites:

  1. GCP project with billing: https://console.cloud.google.com/projectcreate

  2. Enable Vertex AI API: https://console.cloud.google.com/apis/library/aiplatform.googleapis.com

  3. GCP API Key: https://console.cloud.google.com/apis/credentials

Models:

Model

Resolution

Pricing

Best for

veo-2.0-generate-001

720p

~$0.50/sec

Stable, GA

veo-3.0-generate-001

1080p

~$0.75/sec

High quality

veo-3.0-fast-generate-001

1080p

~$0.15/sec

Cost-effective

veo-3.1-generate-001

4K

~$0.75/sec

Highest quality

veo-3.1-fast-generate-001 (default)

1080p

~$0.10/sec

Best value

Auth options:

  1. GCP API Key (recommended) — set GEMINI_API_KEY=your_gcp_api_key. Simplest setup, no extra deps.

  2. OAuth2 / ADC — run gcloud auth application-default login. Requires --extra gcp for google-auth.

Optional env vars:

Variable

Default

Description

VEO_MODEL

veo-3.1-fast-generate-001

Model to use

VEO_GCS_BUCKET

GCS bucket for output (omit for base64 inline)

GCP_REGION

us-central1

Vertex AI region

GEMINI_API_KEY

GCP API key (shared with mcp-image-gen)

Environment Variables

Variable

Provider

Required

ARK_API_KEY

Volcengine Ark Seedance

At least one provider

ARK_VIDEO_API_KEY

Volcengine Ark Seedance

Optional video-specific override

ARK_VIDEO_BASE_URL

Volcengine Ark Seedance

Optional, default: https://ark.cn-beijing.volces.com/api/v3

ARK_VIDEO_MODEL

Volcengine Ark Seedance

Optional, default: doubao-seedance-2-0-fast-260128

ARK_VIDEO_RESOLUTION

Volcengine Ark Seedance

Optional, default: 720p

DEFAULT_VIDEO_PROVIDER

All providers

Optional, default prefers ark when configured

DASHSCOPE_API_KEY

Wan / DashScope (阿里)

must be configured

KLING_ACCESS_KEY

Kling AI (可灵)

KLING_SECRET_KEY

Kling AI (可灵)

SILICONFLOW_API_KEY

SiliconFlow (硅基流动)

VIDU_API_KEY

Vidu (生数)

MINIMAX_API_KEY

MiniMax (海螺 + TTS + Music)

MINIMAX_API_HOST

MiniMax

Optional, default: https://api.minimax.chat

GCP_PROJECT_ID

Google Veo

Required for Veo

GEMINI_API_KEY

Google Veo

Recommended for Veo (or use ADC)

GCP_REGION

Google Veo

Optional, default: us-central1

VEO_MODEL

Google Veo

Optional, default: veo-3.1-fast-generate-001

VEO_GCS_BUCKET

Google Veo

Optional, GCS bucket for video output

VIDEO_OUTPUT_DIR

All providers

Optional, default: ./output

Troubleshooting

Common Errors

Error

Provider

Root Cause

Solution

No providers configured

All

No API keys set

Set at least one provider's API key in MCP env config

Unknown provider: xxx

All

Typo or provider not configured

Check list_providers for available options

Still processing

All

Video not ready yet

Normal — call query_video_status again in 30 seconds

Provider-Specific Errors

Error

Provider

Solution

JWT token error

Kling

Check both KLING_ACCESS_KEY and KLING_SECRET_KEY are set

base_resp.status_code != 0

MiniMax

Check API key, ensure account has balance

Auth failed: credentials not found

Veo

Set GEMINI_API_KEY or run gcloud auth application-default login

429 quota exceeded

Veo

Vertex AI rate limit (10 RPM). Wait 1 min or switch model via VEO_MODEL

Video blocked by safety filter

Veo

Content flagged — rephrase prompt to avoid restricted content

Veo-Specific Notes

  • API Key vs ADC: GEMINI_API_KEY is the simplest auth method. Same key works for both mcp-image-gen and mcp-video-gen.

  • --extra gcp placement: Must come after run in the uv command: uv --directory /path run --extra gcp video-gen (NOT uv --directory /path --extra gcp run video-gen)

  • Base64 mode: Without VEO_GCS_BUCKET, videos are returned as base64 in the API response and decoded locally. Works well for videos under 8s.

  • Cost control: The default is veo-3.1-fast-generate-001 for lower-cost 1080p output. Override VEO_MODEL or pass model to generate_video for a specific request.

Download Issues

Issue

Solution

Auto-download failed

Video URL may have expired. SiliconFlow URLs expire in 10 min.

Video file is 0 bytes

Provider returned empty response. Retry generation.

SSL verification errors

Server disables SSL verify for downloads (some providers use self-signed certs)

Project Structure

src/video_gen/
├── __init__.py
├── server.py              # MCP server + tool handlers
├── providers/
│   ├── __init__.py        # BaseProvider abstract class + registry
│   ├── dashscope.py       # 阿里 通义万相 Wan 2.6
│   ├── kling.py           # 可灵 Kling AI (JWT auth)
│   ├── siliconflow.py     # 硅基流动 SiliconFlow
│   ├── vidu.py            # 生数 Vidu
│   ├── minimax.py         # MiniMax 海螺
│   └── veo.py             # Google Veo (Vertex AI, API key + ADC)
└── audio/
    ├── __init__.py        # BaseTTSProvider + BaseMusicProvider + registry
    ├── minimax_tts.py     # MiniMax TTS (speech-2.6-hd)
    ├── minimax_music.py   # MiniMax Music (music-2.0)
    ├── google_lyria.py    # Google Lyria 2 instrumental music (Vertex AI)
    ├── google_tts.py      # Google Cloud TTS Chirp 3 HD (ADC only)
    └── google_stt.py      # Google Cloud STT Chirp 2 (transcription)

Adding a New Provider

  1. Create src/video_gen/providers/your_provider.py

  2. Implement BaseProvider (properties: name, description, free_tier_info; methods: generate(), query())

  3. Register in server.py:_init_providers() with env var check

  4. Provider appears automatically in list_providers, providers://models/<provider>, and the generate_video tool schema

Local Development

git clone https://github.com/kevinten-ai/mcp-video-gen.git
cd mcp-video-gen
uv sync --extra gcp  # all deps including google-auth

# Run directly
uv run video-gen

# Debug with MCP Inspector
npx @modelcontextprotocol/inspector uv --directory . run --extra gcp video-gen

License

MIT — see LICENSE for details.

Available Tools

3 tools
generate_videoA

Generate a video from a text prompt (text-to-video) or from an image + prompt (image-to-video, ark/veo). Available providers: none configured. Default: none.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoModel ID to use (optional, uses provider default if omitted). Check 'providers://models' resource for available models.
promptYesText prompt describing the video to generate
durationNoVideo duration in seconds (5 or 10). Default: 5
providerNoProvider to use: . Default: None
image_urlNoReference image for image-to-video generation (ark/veo). Accepts: local file path, HTTP URL, or gs:// URI. Optional.
aspect_ratioNoAspect ratio: 16:9, 9:16, or 1:1. Default: 16:916:9
output_directoryNoDirectory to save video. Optional.

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It adds meaningful transparency by disclosing that no providers are configured, which is a significant behavioral limitation. However, it does not explain the asynchronous nature of video generation (evidenced by sibling query_video_status) or what happens after a successful generation (output location, status polling, or result format). This gap is notable for a generation tool with no annotations or output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose in the first sentence, and the second sentence efficiently conveys the provider limitation. It is appropriately brief, though 'Default: none' repeats information already in the schema (provider default). The 'none configured' statement is necessary for behavioral transparency, so the redundancy is minor. Overall it earns its place, but a slightly clearer tie-in to the provider default would be ideal.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having 7 schema-documented parameters, the description lacks essential lifecycle context. It does not mention that generation is likely asynchronous, that users should poll via query_video_status, or where the output video is saved. The disclosure that no providers are configured is a strong caveat, but it leaves the user wondering whether the tool returns an error immediately or attempts a fallback. Without annotations or an output schema, this is a significant completeness gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with all 7 parameters described in detail (e.g., image_url for ark/veo, duration options 5 or 10). The description adds high-level context (text vs image modes) that maps to prompt and image_url, but it does not provide per-parameter semantics beyond what the schema already states. Given full schema coverage, the description's contribution is minimal but non-zero, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function with specific verbs: 'Generate a video from a text prompt (text-to-video) or from an image + prompt (image-to-video, ark/veo).' It distinguishes two modes and names the resource (video). This is unambiguous and effectively differentiates from sibling tools like query_video_status and list_providers, which serve obviously different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when to use the tool (for video generation) and distinguishes between text-to-video and image-to-video workflows. It also discloses the critical constraint 'Available providers: none configured. Default: none,' which implicitly advises that the tool is not actionable until providers are set up. No explicit exclusion against alternatives is needed since no sibling tool generates videos.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_providersA

List all available video, TTS, and music providers.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It states the function but does not mention that the operation is read-only, whether authentication is required, or any side effects. For a simple list tool, this is acceptable but not rich in behavioral detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that immediately conveys the tool's function without any unnecessary words or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list operation with no parameters and no output schema, the description fully captures the tool's purpose. The enumeration of provider categories gives sufficient context for an agent to decide when to invoke it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the baseline is 4 per the rubric. The description adds no parameter-specific details, but none are needed given the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'list' and clearly identifies the resource ('providers') with explicit categories (video, TTS, music). This distinguishes it from siblings like generate_video and query_video_status, making its purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide explicit guidance on when to use this tool versus alternatives. However, the context of sibling tools clearly implies it is for enumerating available providers, so usage is inferred rather than directly stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

query_video_statusB

Query the status of a video generation task and download the result.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYesTask ID returned by generate_video
providerYesProvider that was used:
output_directoryNoDirectory to save video. Optional.

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only mentions querying and downloading, without revealing what happens if the task is incomplete, whether it blocks, what side effects downloading may have, or any error/edge-case behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with no wasted words. It is appropriately sized and front-loaded, clearly stating the core action and object.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of annotations and output schema, the description is insufficient for an agent to understand the full context. It does not explain return values, waiting behavior, or failure modes, leaving significant gaps for a tool that performs both status checking and downloading.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds no extra meaning beyond the schema; the link to output_directory is implied but already covered by the schema description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's specific function: querying the status of a video generation task and downloading the result. It distinguishes itself from siblings (generate_video, list_providers) by focusing on status retrieval and result download.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage after generating a video (task_id returned by generate_video), but does not explicitly state when to use it versus alternatives or any exclusions. The guidance is largely implicit through the schema rather than the description itself.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 3 tool updatesv1.3.1
    • First observedgenerate_video
    • First observedlist_providers
    • First observedquery_video_status

TDQS

A4/5.0
Disambiguation5/5

Each tool has a distinct, non-overlapping purpose: generating a video, querying its status, and listing providers. An agent can easily select the correct tool based on the task at hand.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case: generate_video, query_video_status, list_providers. The naming convention is uniform and predictable.

Tool Count5/5

With only 3 tools, the set is tightly scoped to the core operations of video generation: create, monitor, and discover providers. Each tool is essential and earns its place without redundancy.

Completeness4/5

The lifecycle is largely covered: generation is initiated, status can be polled, and results downloaded. However, there is no explicit way to cancel or list past tasks, which is a minor gap but workable.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ZenforceTaiji/MCP-AI'

If you have feedback or need assistance with the MCP directory API, please join our Discord server