图像压缩处理服务器

一个基于MCP协议的在线图像处理服务器,提供图像下载、压缩、调整大小和格式转换功能,适用于需要快速处理图像的应用场景。

  • by aadilmallick
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 aadilmallick/online-image-compressor-mcp-server

使用说明

在线图像压缩MCP服务器

一种MCP(模型上下文协议)服务器,旨在接收在线图像,并使用Sharp对其进行压缩、调整大小,并将其转换为用户所需的规格。

特性

  • 图像下载:从任何可访问的URL下载图像
  • 图像处理:使用Sharp进行高性能图像转换
  • 调整大小:使用各种适合模式(覆盖、包含、填充、内部、外部)调整图像大小
  • 压缩:使用渐进和优化选项调整质量设置
  • 格式转换:在JPEG、PNG、WebP、AVIF和TIFF格式之间转换
  • HTTP服务:通过HTTP端点临时提供处理后的图像
  • 自动清理:使用后自动清理临时文件

安装

npm install
npm run build

用法

作为MCP服务器

启动服务器:

npm start

服务器将在stdio上启动,可以通过MCP客户端连接。

发展模式

对于自动重新加载的开发:

npm run dev

可用工具

process_image

根据指定的转换处理来自URL的图像。

参数:

  • imageUrl (字符串,必填):要处理的图像的URL
  • specs (对象,必填):加工规范
    • resize (对象,可选):调整规格大小
      • width (整数):目标宽度(像素)(1-10000)
      • height (整数):目标高度(像素)(1-10000)
      • fit (string):如何适应图像(“覆盖”、“包含”、“填充”、“内部”、“外部”)
    • compression (对象,可选):压缩规格
      • quality (整数):图像质量1-100(默认值:80)
      • progressive (boolean):使用渐进编码(默认值:false)
      • optimizeScans (布尔值):优化霍夫曼表(默认值:false)
    • conversion (对象,必填):格式转换
      • format (字符串):目标格式(jpeg、png、webp、avif、tiff)

例子:

{
  "imageUrl": "https://example.com/image.jpg",
  "specs": {
    "resize": {
      "width": 800,
      "height": 600,
      "fit": "cover"
    },
    "compression": {
      "quality": 85,
      "progressive": true
    },
    "conversion": {
      "format": "webp"
    }
  }
}

答复:

{
  "success": true,
  "processedImageUrl": "http://localhost:3001/image/uuid-here"
}

建筑

  1. 图像下载:将图像从提供的URL下载到临时存储
  2. 锋利的加工:应用调整大小、压缩和转换转换
  3. HTTP服务:通过Express服务器提供处理后的图像 /image/{uuid} 端点
  4. 清理:送达后自动删除临时文件

配置

默认情况下,HTTP服务器在端口3001上运行。这可以通过修改 HTTPServer 构造器in src/index.ts.

文件结构

src/
├── index.ts              # Main MCP server entry point
├── types.ts              # TypeScript type definitions
├── httpServer.ts         # Express HTTP server for serving images
├── tools/
│   └── imageTools.ts     # MCP tool implementations
└── utils/
    ├── imageDownloader.ts # Image download utilities
    ├── imageProcessor.ts  # Sharp image processing
    └── cleanup.ts         # File cleanup utilities

需求

  • Node.js 20+
  • Sharp(自动处理本机依赖关系)

许可证

ISC