Skip to main content
Glama

avc-test-js-mcp (Node.js)

npm version Node.js >=18 License: MIT

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-mcp

2. 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-key

Claude 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): 대상 해상도, 기본값 720p

  • poll_interval (number, optional): 폴링 간격(초), 기본값 5

  • timeout (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 서버는 다음을 수행합니다:

  1. 로컬 파일 읽기

  2. 파일을 base64로 인코딩

  3. 비디오 향상 서비스로 업로드

제한 사항:

  • 최대 파일 크기: 100MB

환경 변수

변수명

설명

기본값

HTTP_API_BASE_URL

FastAPI HTTP Server 주소

https://mcp.luluhero.com

HTTP_API_KEY

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 tools
create_taskA

创建视频增强任务(异步)

支持两种上传方式:

  1. URL 上传:提供视频 URL

  2. 本地上传:提供本地文件路径,MCP Server 自动读取并转为 base64

参数说明:

  • video_source: 视频 URL 或本地文件路径

  • type: "url" 或 "local"

  • resolution: 目标分辨率

ParametersJSON Schema
NameRequiredDescriptionDefault
video_sourceYes视频URL地址或本地文件路径
typeNo上传类型:url=网络视频,local=本地文件url
resolutionNo目标分辨率,默认720p720p

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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

同步增强视频(阻塞等待完成)

支持两种上传方式:

  1. URL 上传:提供视频 URL

  2. 本地上传:提供本地文件路径,MCP Server 自动读取并转为 base64

参数说明:

  • video_source: 视频 URL 或本地文件路径

  • type: "url" 或 "local"

  • resolution: 目标分辨率

  • poll_interval: 轮询间隔(秒)

  • timeout: 超时时间(秒)

ParametersJSON Schema
NameRequiredDescriptionDefault
video_sourceYes视频URL地址或本地文件路径
typeNo上传类型:url=网络视频,local=本地文件url
resolutionNo目标分辨率,默认720p720p
poll_intervalNo轮询间隔(秒),默认5
timeoutNo超时时间(秒),默认600

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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

查询视频增强任务状态

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYes任务ID

TDQS

A3.6/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

  1. 3 tool updatesv0.1.5
    • First observedcreate_task
    • First observedenhance_video_sync
    • First observedget_task_status

TDQS

C2.7/5.0

Scored across 3 tools

Disambiguation1/5

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.

Naming Consistency1/5

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.

Tool Count2/5

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.

Completeness2/5

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

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers