Video Enhancement MCP Server
avc-test-js-mcp (Node.js)
MCP 프로토콜 기반의 비디오 향상 서비스로, MCP Client-Server와 FastAPI HTTP Server 간의 상호작용을 수행합니다.
기능
다음과 같은 MCP 도구를 제공합니다:
create_task- 비디오 향상 작업 생성 (URL 또는 로컬 파일 업로드 지원)get_task_status- 작업 상태 조회enhance_video_sync- 비디오 동기식 향상 (완료 시까지 차단)
Related MCP server: avc-test-py-mcp
설치
npm에서 설치 (권장)
npm install -g avc-test-js-mcp또는 yarn/pnpm 사용:
yarn global add avc-test-js-mcp
pnpm add -g avc-test-js-mcp소스 코드에서 설치
git clone https://github.com/yourusername/avc-test-js-mcp.git
cd js_client
npm install
npm run build사용 방법
1. 명령줄 실행
전역 설치 후 직접 사용:
avc-test-js-mcp --base-url https://mcp.luluhero.com --api-key your-api-key또는 환경 변수 사용:
# 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. Claude Desktop 설정
Claude Desktop 설정 파일 편집:
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. npx 사용 (전역 설치 불필요)
npx avc-test-js-mcp --base-url https://mcp.luluhero.com --api-key your-api-keyClaude Desktop 설정:
{
"mcpServers": {
"video-enhancement": {
"command": "npx",
"args": [
"avc-test-js-mcp",
"--base-url",
"https://mcp.luluhero.com",
"--api-key",
"your-api-key"
]
}
}
}제공되는 도구
create_task
비디오 향상 작업 생성 (비동기).
매개변수:
video_source(string, required): 비디오 URL 또는 로컬 파일 경로type(string, optional): 업로드 유형, 기본값 "url"선택 가능 값:
"url"- 웹 비디오 URL,"local"- 로컬 파일 경로
resolution(string, optional): 대상 해상도, 기본값 720p선택 가능 값: 480p, 540p, 720p, 1080p, 2k
사용 예시:
// URL 方式
{
"video_source": "https://example.com/video.mp4",
"type": "url",
"resolution": "1080p"
}
// 本地文件方式
{
"video_source": "/path/to/local/video.mp4",
"type": "local",
"resolution": "1080p"
}반환값:
{
"success": true,
"task_id": "xxx",
"status": "wait"
}get_task_status
작업 상태 조회.
매개변수:
task_id(string, required): 작업 ID
사용 예시:
{
"task_id": "task-123-abc"
}반환값:
{
"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
비디오 동기식 향상 (완료 시까지 차단).
매개변수:
video_source(string, required): 비디오 URL 또는 로컬 파일 경로type(string, optional): 업로드 유형, 기본값 "url"선택 가능 값:
"url"- 웹 비디오 URL,"local"- 로컬 파일 경로
resolution(string, optional): 대상 해상도, 기본값 720ppoll_interval(number, optional): 폴링 간격(초), 기본값 5timeout(number, optional): 타임아웃 시간(초), 기본값 600
사용 예시:
{
"video_source": "https://example.com/video.mp4",
"type": "url",
"resolution": "1080p",
"poll_interval": 5,
"timeout": 600
}반환값:
{
"success": true,
"task_id": "xxx",
"status": "completed",
"progress": 100,
"video_url": "https://..."
}파일 업로드 설명
type이 "local"로 설정된 경우, MCP 서버는 다음을 수행합니다:
로컬 파일 읽기
파일을 base64로 인코딩
비디오 향상 서비스로 업로드
제한 사항:
최대 파일 크기: 100MB
환경 변수
변수명 | 설명 | 기본값 |
| FastAPI HTTP Server 주소 |
|
| API 인증 키 | 없음 |
개발
# 克隆仓库
git clone https://github.com/yourusername/avc-test-js-mcp.git
cd js_client
# 安装依赖
npm install
# 开发模式(自动编译)
npm run dev
# 构建
npm run build라이선스
MIT 라이선스 - 자세한 내용은 LICENSE 파일을 참조하세요.
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.3MIT
- 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.4MIT