Skip to main content

HTTP MCP Client-Server for video enhancement API

Project description

avc-test-py-mcp (Python)

PyPI version Python 3.10+ License: MIT

基于 MCP 协议的视频增强服务,作为 MCP Client-Server 与 FastAPI HTTP Server 交互。

功能

提供以下 MCP Tools:

  • create_task - 创建视频增强任务(支持 URL 或本地文件上传)
  • get_task_status - 查询任务状态
  • enhance_video_sync - 同步增强视频(阻塞等待)

安装

从 PyPI 安装(推荐)

# 使用 pip 安装
pip install avc-test-py-mcp

# 或使用 uv 安装
uv pip install avc-test-py-mcp

从源码安装

git clone https://github.com/yourusername/avc-test-py-mcp.git
cd python_client

# 使用 uv 安装(推荐)
uv pip install -e ".[dev]"

# 或使用 pip 安装
pip install -e ".[dev]"

使用方法

1. 命令行启动

# 直接运行(安装后)
avc-test-py-mcp --base-url https://mcp.luluhero.com --api-key your-api-key

# 或使用环境变量
export HTTP_API_BASE_URL=https://mcp.luluhero.com
export HTTP_API_KEY=your-api-key
avc-test-py-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-py-mcp",
      "args": [
        "--base-url",
        "https://mcp.luluhero.com",
        "--api-key",
        "your-api-key"
      ]
    }
  }
}

3. 使用 uv run 运行(开发模式)

uv run avc-test-py-mcp --base-url https://mcp.luluhero.com --api-key your-api-key

提供的 Tools

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 Server 会:

  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-py-mcp.git
cd python_client

# 安装开发依赖
uv pip install -e ".[dev]"

# 运行测试
pytest

# 代码格式化
ruff format .
ruff check --fix .

发布到 PyPI

# 安装构建工具
uv pip install build twine

# 构建分发包
python -m build

# 上传到 PyPI(测试)
python -m twine upload --repository testpypi dist/*

# 上传到 PyPI(正式)
python -m twine upload dist/*

License

MIT License - 详见 LICENSE 文件

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

avc_test_py_mcp-0.1.2.tar.gz (86.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

avc_test_py_mcp-0.1.2-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file avc_test_py_mcp-0.1.2.tar.gz.

File metadata

  • Download URL: avc_test_py_mcp-0.1.2.tar.gz
  • Upload date:
  • Size: 86.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for avc_test_py_mcp-0.1.2.tar.gz
Algorithm Hash digest
SHA256 08c4eda82478183d0dfe69d4c66cb9d29cd582d80eedfce984e64ca087170a5a
MD5 0ba589800afea2a9eed0682422ae0040
BLAKE2b-256 55bcda04b0667d22bf1e0271dc4567bf74a0e70d013a73cf16ec2177136163f9

See more details on using hashes here.

File details

Details for the file avc_test_py_mcp-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for avc_test_py_mcp-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 565f9c8e470bae2afb4e13b514661573c24e82fb2cba0eb725111e9f7d5b074a
MD5 abf83c9c4af747ff002e731f937ea7d6
BLAKE2b-256 5d60f14e9e47bbd98b57596546e94bcb9d4aabbad0f9105fe1467aa707fc7e4c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page