HTTP MCP Client-Server for video enhancement API
Project description
avc-test-py-mcp (Python)
基于 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 http://localhost:8000 --api-key your-api-key
# 或使用环境变量
export HTTP_API_BASE_URL=http://localhost:8000
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",
"http://localhost:8000",
"--api-key",
"your-api-key"
]
}
}
}
3. 使用 uv run 运行(开发模式)
uv run avc-test-py-mcp --base-url http://localhost:8000 --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): 目标分辨率,默认 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 Server 会:
- 读取本地文件
- 将文件转为 base64 编码
- 上传到视频增强服务
限制:
- 最大文件大小:100MB
环境变量
| 变量名 | 说明 | 默认值 |
|---|---|---|
HTTP_API_BASE_URL |
FastAPI HTTP Server 地址 | http://localhost:8000 |
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file avc_test_py_mcp-0.1.1.tar.gz.
File metadata
- Download URL: avc_test_py_mcp-0.1.1.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad1fdc52f555766c5b487893ad0ace435ccd1e010946e76474ed1183af8f9f97
|
|
| MD5 |
6e3b3da1f599b194edac3c70dcdcaae8
|
|
| BLAKE2b-256 |
eb3b7bfb32d9c11e2790fbed3354bc13d3bdfd3e4e7b651fc096bf99c09e9194
|
File details
Details for the file avc_test_py_mcp-0.1.1-py3-none-any.whl.
File metadata
- Download URL: avc_test_py_mcp-0.1.1-py3-none-any.whl
- Upload date:
- Size: 7.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d3dba1290181989e873d994f97abdb6f103acfed269fc9d6e9b68038074e88a6
|
|
| MD5 |
00b90818f58bbc8acf162f2892a1ae6c
|
|
| BLAKE2b-256 |
8f5db4524ffb1e2237b5395bb12de42024a2cec2c0a6719b69d60b56a4a51e8a
|