Video Enhancement MCP Server
This server provides video enhancement and image segmentation capabilities via MCP tools.
Asynchronous Video Enhancement (
create_task): Submit a video for enhancement by providing a public URL or local file path, with target resolution options (480p,540p,720p,1080p,2k). Returns atask_idimmediately to avoid client timeouts on long jobs.Task Status Query (
get_task_status): Check the status (processing,completed,failed), progress, and final video URL of an enhancement task using itstask_id.Synchronous Video Enhancement (
enhance_video_sync): Submit a video and block until completion, with configurable polling interval and timeout (default 50s). If the timeout is exceeded, returns atask_idfor continued async polling. Best for shorter videos.SAM3 Image Segmentation (
sam3_predict): Perform advanced image segmentation using the SAM3 model. Accepts an image (local path, public URL, or Base64) and an English text prompt to identify target objects. Returnsmasks,bounding boxes, andconfidence scores.
Tip: Use async mode for long video tasks to avoid agent timeouts; sync mode is suitable for shorter tasks.
Provides video enhancement tools that interact with a FastAPI HTTP server, enabling AI agents to create video enhancement tasks, monitor their status, and synchronously enhance videos through the FastAPI backend.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Video Enhancement MCP Serverenhance this video to 1080p: https://example.com/video.mp4"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
avc-test-js-mcp (Node.js)
Video enhancement service based on the MCP protocol, acting as an MCP Client-Server to interact with a FastAPI HTTP Server.
Features
Provides the following MCP Tools:
create_task- Create a video enhancement task (supports URL or local file upload)get_task_status- Query task statusenhance_video_sync- Synchronously enhance video (blocking wait)
Related MCP server: avc-test-py-mcp
Installation
Install from npm (Recommended)
npm install -g avc-test-js-mcpOr use yarn/pnpm:
yarn global add avc-test-js-mcp
pnpm add -g avc-test-js-mcpInstall from source
git clone https://github.com/yourusername/avc-test-js-mcp.git
cd js_client
npm install
npm run buildUsage
1. Command Line Startup
Use directly after global installation:
avc-test-js-mcp --base-url https://mcp.luluhero.com --api-key your-api-keyOr use environment variables:
# Windows PowerShell
$env:HTTP_API_BASE_URL="https://mcp.luluhero.com"
$env:HTTP_API_KEY="your-api-key"
avc-test-js-mcp
# Windows CMD
set HTTP_API_BASE_URL=https://mcp.luluhero.com
set HTTP_API_KEY=your-api-key
avc-test-js-mcp
# macOS/Linux
export HTTP_API_BASE_URL=https://mcp.luluhero.com
export HTTP_API_KEY=your-api-key
avc-test-js-mcp2. Configure in Claude Desktop
Edit the Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"video-enhancement": {
"command": "avc-test-js-mcp",
"args": [
"--base-url",
"https://mcp.luluhero.com",
"--api-key",
"your-api-key"
]
}
}
}3. Use npx (No global installation required)
npx avc-test-js-mcp --base-url https://mcp.luluhero.com --api-key your-api-keyClaude Desktop configuration:
{
"mcpServers": {
"video-enhancement": {
"command": "npx",
"args": [
"avc-test-js-mcp",
"--base-url",
"https://mcp.luluhero.com",
"--api-key",
"your-api-key"
]
}
}
}Provided Tools
create_task
Create a video enhancement task (asynchronous).
Parameters:
video_source(string, required): Video URL or local file pathtype(string, optional): Upload type, default "url"Available values:
"url"- Web video URL,"local"- Local file path
resolution(string, optional): Target resolution, default 720pAvailable values: 480p, 540p, 720p, 1080p, 2k
Usage Example:
// URL 方式
{
"video_source": "https://example.com/video.mp4",
"type": "url",
"resolution": "1080p"
}
// 本地文件方式
{
"video_source": "/path/to/local/video.mp4",
"type": "local",
"resolution": "1080p"
}Return Value:
{
"success": true,
"task_id": "xxx",
"status": "wait"
}get_task_status
Query task status.
Parameters:
task_id(string, required): Task ID
Usage Example:
{
"task_id": "task-123-abc"
}Return Value:
{
"success": true,
"task_id": "xxx",
"status": "completed",
"progress": 100,
"video_url": "https://...",
"error_message": null,
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:01:00Z"
}enhance_video_sync
Synchronously enhance video (blocking wait for completion).
Parameters:
video_source(string, required): Video URL or local file pathtype(string, optional): Upload type, default "url"Available values:
"url"- Web video URL,"local"- Local file path
resolution(string, optional): Target resolution, default 720ppoll_interval(number, optional): Polling interval (seconds), default 5timeout(number, optional): Timeout (seconds), default 600
Usage Example:
{
"video_source": "https://example.com/video.mp4",
"type": "url",
"resolution": "1080p",
"poll_interval": 5,
"timeout": 600
}Return Value:
{
"success": true,
"task_id": "xxx",
"status": "completed",
"progress": 100,
"video_url": "https://..."
}File Upload Instructions
When type is set to "local", the MCP Server will:
Read the local file
Convert the file to base64 encoding
Upload to the video enhancement service
Limitations:
Maximum file size: 100MB
Environment Variables
Variable Name | Description | Default Value |
| FastAPI HTTP Server address |
|
| API authentication key | None |
Development
# 克隆仓库
git clone https://github.com/yourusername/avc-test-js-mcp.git
cd js_client
# 安装依赖
npm install
# 开发模式(自动编译)
npm run dev
# 构建
npm run buildLicense
MIT License - See LICENSE file for details
Available Tools
3 toolscreate_taskA
创建视频增强任务(异步)
支持两种上传方式:
URL 上传:提供视频 URL
本地上传:提供本地文件路径,MCP Server 自动读取并转为 base64
参数说明:
video_source: 视频 URL 或本地文件路径
type: "url" 或 "local"
resolution: 目标分辨率
| Name | Required | Description | Default |
|---|---|---|---|
| video_source | Yes | 视频URL地址或本地文件路径 | |
| type | No | 上传类型:url=网络视频,local=本地文件 | url |
| resolution | No | 目标分辨率,默认720p | 720p |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the asynchronous nature and the two upload methods (URL and local with base64 conversion), which adds useful context beyond basic functionality. However, it doesn't disclose important behavioral traits like authentication requirements, rate limits, error handling, or what the tool returns (since there's no 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear purpose statement followed by bullet points explaining upload methods and parameters. It's appropriately sized for a 3-parameter tool, though the parameter explanations could be more integrated rather than listed separately. Every sentence serves a purpose with minimal waste.
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 complexity (asynchronous operation with multiple upload methods), no annotations, and no output schema, the description provides adequate but incomplete context. It explains the core functionality and parameters well, but lacks information about return values, error conditions, authentication, and how to monitor the asynchronous task (using the 'get_task_status' sibling).
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 coverage is 100%, so the schema already documents all parameters thoroughly. The description adds minimal value by briefly mentioning the two upload methods that correspond to the 'type' parameter values, but doesn't provide additional semantic context beyond what's in the schema descriptions. This meets the baseline for high schema coverage.
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 ('创建视频增强任务' - create video enhancement task) and resource ('视频增强任务' - video enhancement task), specifying it's asynchronous. It distinguishes from the sibling 'enhance_video_sync' by explicitly mentioning the asynchronous nature, which is crucial for differentiation.
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 provides clear context about when to use this tool (for asynchronous video enhancement) and implicitly distinguishes it from 'enhance_video_sync' (which would be synchronous). However, it doesn't explicitly state when NOT to use it or mention the 'get_task_status' sibling for checking task completion, which would be helpful for complete guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enhance_video_syncB
同步增强视频(阻塞等待完成)
支持两种上传方式:
URL 上传:提供视频 URL
本地上传:提供本地文件路径,MCP Server 自动读取并转为 base64
参数说明:
video_source: 视频 URL 或本地文件路径
type: "url" 或 "local"
resolution: 目标分辨率
poll_interval: 轮询间隔(秒)
timeout: 超时时间(秒)
| Name | Required | Description | Default |
|---|---|---|---|
| video_source | Yes | 视频URL地址或本地文件路径 | |
| type | No | 上传类型:url=网络视频,local=本地文件 | url |
| resolution | No | 目标分辨率,默认720p | 720p |
| poll_interval | No | 轮询间隔(秒),默认5 | |
| timeout | No | 超时时间(秒),默认600 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses key behavioral traits: the tool is synchronous/blocking ('阻塞等待完成'), supports two upload methods, and includes polling and timeout parameters. However, it lacks details on permissions, rate limits, error handling, or what 'enhance' entails (e.g., quality improvement, format conversion).
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 appropriately sized and front-loaded, starting with the core purpose and then listing upload methods and parameters. It's efficient with no wasted sentences, though the parameter list could be more integrated into the flow rather than bullet-pointed.
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 no annotations and no output schema, the description is moderately complete. It covers the blocking behavior and upload methods, but lacks details on the enhancement process, output format (e.g., what is returned after completion), error cases, or integration with sibling tools. For a tool with 5 parameters and complex behavior, more context would be helpful.
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 coverage is 100%, so the schema already documents all parameters thoroughly. The description adds minimal value beyond the schema by briefly mentioning the two upload methods, but doesn't provide additional semantics, constraints, or examples. Baseline is 3 as the schema does the heavy lifting.
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's purpose: '同步增强视频(阻塞等待完成)' which translates to 'enhance video synchronously (blocking wait for completion)'. It specifies the action (enhance video) and the blocking behavior, but doesn't explicitly distinguish it from sibling tools like create_task or get_task_status, which appear to be related to task management.
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 by detailing two upload methods (URL and local), which suggests when to use each type. However, it doesn't provide explicit guidance on when to use this tool versus the sibling tools (create_task, get_task_status), such as for asynchronous vs. synchronous processing, or any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_task_statusA
查询视频增强任务状态
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | 任务ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description only states the purpose without disclosing any behavioral traits such as polling requirements, rate limits, or expected response behavior.
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?
Single sentence with no wasted words; efficient and to the point.
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 simple status query with one parameter, the description is mostly complete but could benefit from mentioning possible return statuses or output format since no output schema is provided.
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 coverage is 100%, and the description adds no additional meaning beyond what is already in the input schema, so 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 verb 'query' and the resource 'video enhancement task status', distinguishing from sibling tools 'create_task' and 'enhance_video_sync' which have different actions.
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?
No explicit guidance on when to use this tool versus alternatives, but the context of sibling tools implies it is for checking status after creation or enhancement.
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.
3 tool updates
v0.1.5- First observed
create_task - First observed
enhance_video_sync - First observed
get_task_status
TDQS
Scored across 3 tools
The tool descriptions are extremely confusing and overlapping. The 'create_task' tool appears to be described twice with different parameter sets (first mentioning 'enhance_video_sync', then mentioning 'poll_interval', 'timeout', and 'get_task_status'), making it unclear if these are separate tools or one poorly described tool. There's no clear distinction between what each tool does, and the descriptions suggest they might all be part of the same functionality.
Only one tool name 'create_task' is provided, but the description suggests multiple tools or functionalities. The naming is chaotic with no discernible pattern, and the description mixes parameter names with what appear to be additional tool names ('get_task_status'), creating complete inconsistency.
The server claims 3 tools but only lists one tool name ('create_task'). The description is so poorly structured that it's impossible to determine what the actual tools are. For a video enhancement server, 3 tools could be appropriate, but the actual implementation appears to be a single tool with confusing documentation.
For a video enhancement server, we would expect tools for creating tasks, checking status, and retrieving results. The description suggests some of these functionalities exist but they're all muddled together in one tool description. There's no clear separation of operations, making the surface appear severely incomplete despite potentially having the necessary functionality buried in the confusing documentation.
Maintenance
Related MCP Connectors
Hosted MCP tools for FFmpeg-style video and audio processing through FFMPEG API.
Plan, compare, price, generate, and recover AI video from compatible MCP clients.
Create and manage AI image and video generations through Quriov's fixed public MCP tools.
Video, audio, and image processing for AI agents: convert, transcribe, upscale - 150+ operations.
Related MCP Servers
AlicenseAqualityDmaintenanceEnables video enhancement through MCP tools for creating tasks, querying status, and synchronous enhancement, supporting URL or local file inputs.342 npmApache 2.0- AlicenseAqualityDmaintenanceA video enhancement MCP server that supports creating tasks, querying status, and synchronously enhancing videos with URL or local file input.3MIT
- AlicenseNot gradedqualityCmaintenanceEnables MCP-capable clients to generate higher-fidelity videos via Wan 3.0 Prime, supporting text-to-video, image-to-video, multimodal reference-to-video, and async task status polling.2MIT
- AlicenseNot gradedqualityCmaintenanceExposes video generation and editing tools to MCP-capable clients, enabling text-to-video, image-to-video, video editing, reusable voice and character profiles, and task status queries through natural language.3MIT