mcp-lumiclip
Official@lumiclip/mcp-server
将 YouTube 视频转换为短视频片段 — 适用于 Claude、Cursor 或任何支持 MCP 的 AI 助手。
只需提供一个 YouTube 链接。它会自动寻找最佳片段、重构为竖屏视频 (9:16)、添加字幕,并返回可直接下载的短视频。
快速开始
在 app.lumiclip.ai/developers 获取 API 密钥
运行:
LUMICLIP_API_KEY=sk_live_... npx @lumiclip/mcp-serverRelated MCP server: Image Metadata AI MCP
设置
Claude Desktop / Cursor
添加到您的配置文件中 — Claude 使用 claude_desktop_config.json,Cursor 使用 .cursor/mcp.json:
{
"mcpServers": {
"lumiclip": {
"command": "npx",
"args": ["@lumiclip/mcp-server"],
"env": {
"LUMICLIP_API_KEY": "sk_live_..."
}
}
}
}Cursor 目录
Smithery
npx @smithery/cli mcp add lumiclip/lumiclip-mcp-server远程 (Streamable HTTP)
对于 n8n、自定义集成或任何支持远程 MCP 的客户端:
端点:
https://mcp.lumiclip.ai/mcp认证:
Authorization: Bearer sk_live_...传输: Streamable HTTP (POST)
工具
工具 | 功能描述 |
| 从 YouTube URL 开始生成短视频。立即返回 |
| 检查进度并在完成后获取短视频。短视频按评分排序(最佳在前)。 |
| 列出您的项目及其状态和短视频数量。 |
| 获取单个短视频的详细信息。 |
| 查看您的套餐、剩余额度和使用情况。 |
工作原理
使用 YouTube URL 调用
generate_clips立即获得
project_id每 10–15 秒轮询一次
get_project_status(或传入callback_url以使用 Webhook)完成后,短视频将按评分排序(最佳在前),每个短视频都有一个
download_url
状态
项目: pending → processing → completed (或 completed_no_clips / failed)
处理步骤: queued → DOWNLOADING_VIDEO → EXTRACTING_AUDIO → TRANSCRIBING → DETECTING_HIGHLIGHTS → CUTTING_CLIPS → EXPORTING_CLIPS → done
短视频: pending → exporting → completed (或 failed)。当 clip_status 为 completed 时,download_url 可用。
API 参考
generate_clips
从 YouTube 视频开始生成短视频。
字段 | 类型 | 必填 | 描述 |
| string | 是 | 完整的 YouTube 视频 URL |
| number | 否 | 开始时间(秒)(仅处理片段) |
| number | 否 | 结束时间(秒)(仅处理片段) |
| string | 否 | 完成后接收结果的 Webhook URL |
{
"project_id": "43dbe622-8ac6-4579-9625-0ad7f0f9db0b",
"status": "processing",
"poll_url": "/api/v1/projects/43dbe622-8ac6-4579-9625-0ad7f0f9db0b",
"estimated_minutes": 5,
"message": "Processing started. Poll with get_project_status every 10-15 seconds until status is 'completed'."
}get_project_status
检查进度并获取短视频。
字段 | 类型 | 必填 | 描述 |
| string | 是 | 来自 |
{
"id": "43dbe622-...",
"name": "Video Title",
"status": "completed",
"step": "done",
"error": null,
"expected_clips": 9,
"duration": 639,
"created_at": "2026-03-15T02:21:46.226Z",
"clips": [
{
"id": "32538b9c-...",
"title": "One Dating Theory Leads to Chaos",
"duration": 41.83,
"score": 90,
"reason": "Sharp universal joke that hooks instantly with strong reactions.",
"clip_status": "completed",
"download_url": "https://cdn.lumiclip.ai/exports/premium/.../clip-32538b9c-....mp4",
"quality": "1080p",
"thumbnail_url": "https://cdn.lumiclip.ai/exports/premium/.../clip-32538b9c-...-thumb.jpg",
"created_at": "2026-03-15T02:29:10.954Z",
"updated_at": "2026-03-15T02:30:43.907Z"
}
]
}短视频按 score(最高分在前)排序。
list_projects
字段 | 类型 | 必填 | 描述 |
| number | 否 | 返回的最大项目数。默认 20,最大 100。 |
| string | 否 | 筛选条件: |
{
"projects": [
{
"id": "43dbe622-...",
"name": "Video Title",
"status": "completed",
"step": "done",
"expected_clips": 9,
"clips_count": 8,
"duration": 639,
"created_at": "2026-03-15T02:21:46.226Z"
}
],
"total": 1,
"limit": 20,
"offset": 0
}get_clip
字段 | 类型 | 必填 | 描述 |
| string | 是 | 来自项目短视频数组的短视频 ID |
{
"id": "32538b9c-...",
"project_id": "43dbe622-...",
"title": "One Dating Theory Leads to Chaos",
"duration": 41.83,
"score": 90,
"reason": "Sharp universal joke that hooks instantly.",
"export_status": "completed",
"export_quality": "1080p",
"is_exported": true,
"video_url": "https://cdn.lumiclip.ai/...",
"video_url_720p": "https://cdn.lumiclip.ai/...",
"video_url_1080p": "https://cdn.lumiclip.ai/...",
"thumbnail_url": "https://cdn.lumiclip.ai/...",
"created_at": "2026-03-15T02:29:10.954Z",
"updated_at": "2026-03-15T02:30:43.907Z"
}check_usage
无需输入。
{
"plan": "pro",
"credits_remaining": 450,
"credits_total": 500,
"period_start": "2026-03-01T00:00:00.000Z",
"period_end": "2026-04-01T00:00:00.000Z"
}错误
HTTP 状态 | 错误 | 处理建议 |
400 | 无效的 YouTube URL | 检查 URL 格式 |
401 | 未授权 | 检查您的 API 密钥 |
402 | 额度不足 | 购买更多额度或使用较短的视频 |
429 | 超出速率限制 | 等待片刻后重试 |
500 | 内部服务器错误 | 稍后重试 |
Webhooks
在调用 generate_clips 时传入 callback_url,以便在所有短视频准备就绪时接收 POST 请求。
已完成:
{
"event": "project.completed",
"project_id": "43dbe622-...",
"status": "completed",
"source_url": "https://www.youtube.com/watch?v=H51iLa1leOU",
"clips": [
{
"id": "32538b9c-...",
"title": "One Dating Theory Leads to Chaos",
"duration": 41.83,
"score": 90,
"download_url": "https://cdn.lumiclip.ai/exports/premium/.../clip-32538b9c-....mp4",
"thumbnail_url": "https://cdn.lumiclip.ai/exports/premium/.../clip-32538b9c-...-thumb.jpg",
"quality": "1080p"
}
]
}失败:
{
"event": "project.failed",
"project_id": "43dbe622-...",
"status": "failed",
"error": "YouTube video is unavailable",
"clips": []
}短视频按评分(最高分在前)排序。如果您的服务器没有响应,我们将重试最多 3 次。
签名验证(可选): 每个回调都包含一个 X-Lumiclip-Signature 请求头。使用 SHA-256(your_api_key) 作为签名密钥计算请求体的 HMAC-SHA256。将其与请求头的值 (sha256=<hex>) 进行比较。
在 n8n 中使用
选项 A — Webhook(推荐):
创建一个带有 Webhook 触发节点的工作流。复制其 URL。
添加一个 HTTP Request 节点:
POST https://api.lumiclip.ai/api/v1/clips/generate,使用 Header Auth (Authorization: Bearer sk_live_...) 和请求体:{ "url": "https://www.youtube.com/watch?v=...", "callback_url": "https://your-n8n.com/webhook/abc123" }当短视频准备好时,Webhook 节点将接收到有效载荷。
最佳短视频:
{{ $json.clips[0].download_url }}
选项 B — 轮询循环:
POST生成短视频(同上,不带callback_url)。等待 15 秒 → GET
https://api.lumiclip.ai/api/v1/projects/{{ $json.project_id }}→ 如果状态不是completed,则循环回到等待。
REST API
对于不使用 MCP 的直接 HTTP 调用:
方法 | 端点 | 描述 |
|
| 开始生成短视频 |
|
| 获取项目状态和短视频 |
|
| 列出项目 |
|
| 获取单个短视频详情 |
|
| 检查额度和套餐 |
基础 URL:https://api.lumiclip.ai — 所有端点都需要 Authorization: Bearer sk_live_...
环境变量
变量 | 必填 | 默认值 |
| 是 | — |
| 否 |
|
链接
许可证
MIT
Available Tools
5 toolscheck_usageARead-onlyIdempotent
Returns a JSON object with plan (string), credits_remaining (number), credits_total (number), period_start (ISO date), and period_end (ISO date). Call this before generate_clips to confirm the user has enough credits.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the description's addition of return format and usage context adds moderate value beyond structured data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the return format and followed by usage advice, with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool, the description fully covers what the agent needs: return fields and when to call it. Output schema absence is compensated by explicit field listing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With no input parameters and 100% schema coverage, the description adds no parameter info but correctly lists the return structure, fulfilling the need for parameter semantic clarity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool returns a JSON object with specific fields (plan, credits_remaining, etc.), clearly distinguishing it from sibling tools like generate_clips.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description advises calling this tool before generate_clips to confirm sufficient credits, providing explicit guidance on when to use it and its relationship to a sibling tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_clipsA
Start AI clip generation from a YouTube video. Returns a JSON object with project_id (string), status ('processing'), poll_url (string), and estimated_minutes (number). Processing is async -- use get_project_status to poll every 10-15 seconds, or provide a callback_url to receive a webhook POST when all clips are exported with download URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Full YouTube video URL (e.g. https://www.youtube.com/watch?v=...) | |
| start_time | No | Start time in seconds to clip only a segment of the video. Omit to process the full video. | |
| end_time | No | End time in seconds to clip only a segment of the video. Omit to process the full video. | |
| callback_url | No | Webhook URL to receive a POST when processing finishes. The payload includes an array of clips sorted by score, each with a download_url. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds context beyond annotations by detailing the return JSON structure (project_id, status, poll_url, estimated_minutes) and the async behavior with optional callback. There is no contradiction with annotations. Minor missing details like error handling or rate limits prevent a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences: first states purpose, second describes return, third explains async usage. Front-loaded with key information, no redundant phrases.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description adequately covers the return structure, async nature, and polling/callback options. Without an output schema, it provides sufficient context for an async job initiation tool. Could mention error responses or limits, but not essential.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and parameters are well-described in the schema. The description does not add significant new meaning beyond what the schema provides, so score remains at baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Start' and the resource 'AI clip generation from a YouTube video', which precisely defines the tool's action. It is easily distinguished from sibling tools like get_clip and get_project_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly explains that processing is asynchronous and provides two methods for obtaining results: polling via get_project_status every 10-15 seconds or providing a callback_url for a webhook. This gives clear when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_clipARead-onlyIdempotent
Returns a JSON object with full clip details: id, project_id, title, duration, score, reason, export_status, export_quality (720p/1080p), is_exported, video_url, video_url_720p, video_url_1080p, thumbnail_url, created_at, updated_at.
| Name | Required | Description | Default |
|---|---|---|---|
| clip_id | Yes | The unique clip ID from a project's clips array. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint true and destructiveHint false, making the read-only nature clear. The description adds detail about return field names and format (e.g., export_quality values 720p/1080p), but does not disclose other behavioral traits such as rate limits, authorization requirements, or error handling. Extra context is minor.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that lists all return fields efficiently, with the purpose right at the start. No repetitive or extraneous content. Slightly dense due to the long list, but still well-structured for quick scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (one required parameter, no output schema, no nested objects), the description covers the purpose and return fields adequately. It specifies certain field formats (export_quality values) which adds value. Some missing context about potential errors or the requirement that the clip exist, but overall sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description for clip_id is complete ('The unique clip ID from a project's clips array') and coverage is 100%. The description adds no further parameter semantics because the schema already provides sufficient meaning. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a JSON object with full clip details, listing specific fields. The verb 'Returns' and resource 'clip details' indicate a retrieval operation. Sibling tools like 'generate_clips' (creation) and 'list_projects' (listing) are distinct, so this tool is unambiguously for fetching a single clip's details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when needing full details of a specific clip, but it does not explicitly state when not to use it (e.g., for listing clips) or suggest alternatives. No guidance on prerequisites (e.g., clip must exist) or context for selection among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_project_statusARead-onlyIdempotent
Returns a JSON object with id, name, status (pending/processing/completed/completed_no_clips/failed), step, error, expected_clips, duration, created_at, and a clips array. Clips are sorted by score (highest first). Each clip has: id, title, duration, score, reason, clip_status (pending/exporting/completed/failed), download_url (string or null), quality, thumbnail_url, created_at, updated_at. The download_url is only available when clip_status is 'completed'. Poll every 10-15 seconds until project status is 'completed'.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | The project ID returned by generate_clips |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true. Description adds that download_url is only available when clip_status is 'completed' and clips sorted by score, which provides useful behavioral context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is detailed but each sentence contributes value: return structure, sorting, clip fields, download_url condition, polling advice. Could be slightly condensed but not wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description provides a comprehensive breakdown of the return object, including nested clip fields and conditional availability. Polling guidance further completes the usage context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with project_id description. Description does not add additional parameter-level meaning beyond what schema provides, but it details the return structure. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a JSON object with project status and clips, distinguishing it from siblings like get_clip (single clip) and generate_clips (creation). Specific verb 'Returns' and resource 'project status'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit guidance: 'Poll every 10-15 seconds until project status is completed'. This is clear context for when to call repeatedly. No explicit when-not-to-use or alternatives, but the polling advice is very helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_projectsARead-onlyIdempotent
Returns a JSON object with projects (array), total, limit, and offset. Each project has: id, name, status, step, expected_clips, clips_count, duration, created_at. Use the status filter to find only completed or failed projects.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of projects to return. Defaults to 20, maximum 100. | |
| status | No | Filter results to only projects with this status. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive, openWorldHint. The description adds the response structure (fields like total, offset) but does not disclose behavioral traits beyond annotations, such as pagination defaults or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: first states the return structure, second gives a usage tip. No wasted words, front-loaded with the most important information, earning its space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given two parameters, full schema coverage, and no output schema, the description adequately outlines the response shape (projects array, pagination fields, project attributes). Could mention default limit (20) and max (100) from schema, but overall complete for a list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for 'limit' and 'status'. The description adds marginal value by suggesting use of status filter for completed/failed projects, but does not provide new meaning beyond the schema's enum values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies it returns a JSON object with paginated list of projects and their fields (id, name, status, etc.). This distinguishes it from siblings like get_project_status (single project) or generate_clips (generation), providing a clear verb+resource scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing projects with optional status filtering ('Use the status filter to find only completed or failed projects') but does not explicitly state when to prefer this tool over siblings like get_project_status or check_usage, nor are there when-not-to-use guidelines.
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.
5 tool updates
v3.0.0- First observed
check_usage - First observed
generate_clips - First observed
get_clip - First observed
get_project_status - First observed
list_projects
TDQS
Scored across 5 tools
Each tool has a distinct purpose: check_usage for credits, generate_clips for initiating generation, get_clip for retrieving a specific clip, get_project_status for polling progress, and list_projects for enumerating projects. No functional overlap.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., generate_clips, get_project_status), making them predictable and intuitive.
Five tools is well-scoped for the server's purpose: credit checking, generation initiation, status polling, single clip retrieval, and project listing. Each tool serves a necessary function without excess.
Core workflow (check credits, generate, poll results, retrieve clips) is covered. Minor gaps like missing cancel operation or webhook management are present but not critical for basic usage.
Maintenance
Related MCP Connectors
MCP server for Wan AI video generation
MCP server for Kling AI video generation
MCP server for Google Veo AI video generation
MCP server for MiniMax H3 multimodal video generation
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceAI Ops - MCP server providing AI-powered tools and automation by MEOK AI Labs13 npm43 PyPIMIT
- AlicenseNot gradedqualityBmaintenanceImage Metadata AI - MCP server providing AI-powered tools and automation by MEOK AI Labs6 npm40 PyPIMIT
- FlicenseNot gradedqualityDmaintenanceAn AI-powered MCP server for intelligent video processing, enabling automated analysis, transition effects, and quality assurance with multi-agent orchestration.2-

video-analyzerofficial
FlicenseNot gradedqualityDmaintenanceMCP server enabling video analysis via scene detection, audio transcription, visual description, and stylistic fingerprinting, with tools for full pipeline execution and storyboard generation.-