映像到WebP MCP服务器
FastMCP服务器,提供图像转换工具,将图像转换为WebP格式,并具有可选的调整大小功能。
特性
- 单张图像转换:将一个图像转换为WebP格式
- 批量图像转换:在单个请求中转换多个图像
- 可选调整大小:调整图像大小,同时保持纵横比
- 质量控制:可调节的WebP质量设置
- HTTP传输:可通过HTTP访问,便于集成
工具
1. convert_image
将单个图像转换为WebP格式,并可选择调整大小。
参数:
image_path(str):输入图像的路径quality(int,默认值=80):WebP质量(0-100)width(可选\[int\]):目标宽度(如果未指定高度,则保持纵横比)height(可选\[int\]):目标高度(如果未指定宽度,则保持纵横比)
退货: 包含转换详细信息的词典
2. bulk_convert
在单个请求中将多个图像转换为WebP格式。
参数:
image_paths(List\[str\]):输入图像的路径列表quality(int,默认值=80):WebP质量(0-100)width(可选\[int\]):所有图像的目标宽度height(可选\[int\]):所有图像的目标高度
退货: 每个图像的转换详细信息字典列表
安装
先决条件
- Python 3.11+
- pip或uv包管理器
再进行
使用pip:
pip install fastmcp pillow使用紫外线:
uv pip install fastmcp pillow用法
运行服务器
地方发展
python image_webp_mcp_server.py服务器将于启动 http://0.0.0.0:8000/mcp
使用Docker
- 构建Docker镜像:
docker build -t image-webp-mcp-server .- 运行容器:
docker run -p 8000:8000 -v /path/to/your/images:/images image-webp-mcp-server示例用法
服务器运行后,您可以使用任何兼容MCP的客户端访问工具:
转换单张图像
{
"tool": "convert_image",
"arguments": {
"image_path": "/path/to/image.jpg",
"quality": 85,
"width": 800
}
}批量转换图像
{
"tool": "bulk_convert",
"arguments": {
"image_paths": [
"/path/to/image1.jpg",
"/path/to/image2.png",
"/path/to/image3.gif"
],
"quality": 80,
"width": 1200,
"height": 800
}
}支持的图像格式
服务器支持PIL(Python成像库)可以处理的所有图像格式:
- JPEG图像
- 便携式网络图形
- 图形交换格式
- 位图
- 标签式图像文件格式
- 更多
配置
质量设置
- 0-100:WebP质量级别
- 80:默认质量(大小和质量的良好平衡)
- 更高的值:质量更好,文件大小更大
- 低值:文件大小更小,质量降低
调整行为大小
- 如果两者都有
width和height指定:图像大小调整为精确尺寸 - 要是…就好了
width指定:计算高度以保持纵横比 - 要是…就好了
height指定:计算宽度以保持纵横比 - 如果两者均未指定:则保留原始尺寸
错误处理
服务器在转换过程中优雅地处理错误:
- 文件路径无效
- 不支持的图像格式
- 文件权限问题
- 内存限制
响应中返回错误,并带有描述性消息。
发展
项目结构
image-webp-mcp-server/
├── image_webp_mcp_server.py # Main server file
├── Dockerfile # Docker configuration
├── requirements.txt # Python dependencies
└── README.md # This file贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
