Token导航 LogoToken导航TokenDH.com
MCP Imagemagick logo
设计创作stdio官方级别未说明来源级核验

MCP Imagemagick

MCP Server

一个基于ImageMagick和darktable的MCP协议服务器,专注于将DNG RAW图像文件转换为WebP格式,支持自动选择转换后端和错误恢复。

工具数

0

提示词数

0

GitHub Stars

14

资源数

0
图像处理RustClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

AeyeOps

提供方

AeyeOps

最后核验

2026/5/17 20:22

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python3 test_mcp.py

详细介绍

mcp-imagemagick

使用ImageMagick和darktable进行图像转换的MCP(模型上下文协议)服务器。

概述

此服务器提供将DNG(数字负片)RAW图像文件转换为WebP格式的工具,使用ImageMagick或darktable作为转换后端。服务器通过stdio传输实现MCP协议,使其与Claude Desktop等MCP客户端兼容。

对于那些对创建MCP服务器感兴趣的人来说,这个项目既是一个功能工具,也是一个学习资源。虽然目前专注于DNG到WebP的转换,但我们计划随着时间的推移扩展其功能,以支持更多的图像格式和操作。我们发布这篇文章是为了分享我们的MCP实现方法,并为其他人提供一个可以学习的工作示例。

特性

  • 使用无损压缩将DNG文件转换为WebP格式
  • 根据可用性自动选择转换器
  • ImageMagick和darktable之间的回退支持
  • 完整的MCP协议实施(2024-11-05版)
  • 强大的错误处理和恢复
  • 详细记录到stderr进行调试

先决条件

您需要至少安装以下图像转换器之一:

ImageMagick 7

  • 命令: convert7magick
  • 在Ubuntu/Debian上安装: sudo apt install imagemagick
  • 验证安装: convert7 -versionmagick -version

暗表cli

  • 暗表RAW处理器的命令行界面
  • 在Ubuntu/Debian上安装: sudo apt install darktable
  • 验证安装: darktable-cli --version

从源头构建

  1. 确保您已安装Rust(https://rustup.rs/)
  2. 克隆或下载此存储库
  3. 构建项目:
cd mcp-imagemagick
cargo build --release

二进制文件将在 target/release/mcp-imagemagick.

用法

MCP客户端配置

将服务器添加到MCP客户端配置中。对于Claude Desktop,请添加到您的设置中:

{
  "mcpServers": {
    "imagemagick": {
      "command": "/path/to/mcp-imagemagick",
      "args": [],
      "env": {}
    }
  }
}

可用工具

convert_dng_to_webp

使用无损压缩将DNG文件转换为WebP格式。

参数:

  • input_path (string,必填):DNG文件的路径
  • output_path (字符串,必填):WebP输出文件的路径
  • converter (字符串,可选):使用哪个转换器

- "auto" (默认):自动选择最佳可用转换器 - "imagemagick":使用ImageMagick(需要 convert7magick) - "darktable":使用暗表cli

示例用法:

{
  "tool": "convert_dng_to_webp",
  "arguments": {
    "input_path": "/path/to/photo.DNG",
    "output_path": "/path/to/output.webp",
    "converter": "auto"
  }
}

check_converters

检查系统上有哪些可用的图像转换器。

参数: 无需

退货: 可用转换器及其状态列表

技术细节

转换器优先级

使用时 "auto" 转换器选择:

  1. ImageMagick (优先级:60)-可用时先尝试
  2. 暗台 (优先级:40)-用作后备或在特别要求时使用

注意:ImageMagick可能无法在所有系统上直接支持DNG文件。如果ImageMagick失败,自动转换器将自动回退到暗表。

转换设置

ImageMagick WebP 设置 :

  • webp:lossless=true -无损压缩
  • webp:exact=true -保留精确的像素值
  • webp:method=6 -最大压缩力
  • webp:partition-limit=0 -无分区限制

暗表cli:

  • 使用darktable的RAW处理管道
  • 自动应用任何XMP sidecar文件(如果存在)
  • 为RAW文件提供精确的颜色管理

错误处理

服务器包括全面的错误处理:

  • 即使单个转换失败,也会继续运行
  • 返回正确的JSON-RPC错误响应
  • 将详细的错误信息记录到stderr
  • 在可用时自动回退到其他转换器

日志记录

使用控制日志的冗长程度 RUST_LOG 环境变量:

# Show only errors
RUST_LOG=error mcp-imagemagick

# Show informational messages
RUST_LOG=info mcp-imagemagick

# Show detailed debug information
RUST_LOG=debug mcp-imagemagick

测试

运行集成测试:

cd mcp-imagemagick
python3 test_mcp.py

项目结构

mcp-imagemagick/
├── src/
│   ├── main.rs           # Entry point with panic handler
│   ├── server.rs         # MCP server implementation
│   ├── transport.rs      # Synchronous stdio transport
│   ├── handlers/         # Request handlers
│   │   └── image.rs      # Image conversion tools
│   └── converters/       # Converter implementations
│       ├── mod.rs        # Auto-converter with fallback
│       ├── imagemagick.rs # ImageMagick converter
│       └── darktable.rs  # darktable converter
├── docs/                 # Additional documentation
└── test_mcp.py          # Integration test

许可证

MIT许可证-有关详细信息,请参阅许可证文件。

安全考虑

此项目继承了ImageMagick的安全考虑。请注意:

  • ImageMagick处理多种文件格式,其中一些可能包含恶意有效载荷
  • 始终处理来自可信来源的图像 在可能的情况下
  • 检查您的ImageMagick安全策略 (policy.xml)已正确配置
  • 考虑以有限权限运行 在生产环境中

有关详细的安全信息,请参阅 安全.mdImageMagick的安全策略.

第三方软件

本项目使用以下第三方软件:

ImageMagick

  • 版权所有©1999 ImageMagick工作室有限责任公司
  • 根据ImageMagick许可证授权
  • 许可证:https://imagemagick.org/script/license.php
  • 用于图像转换操作

暗台

  • 版权所有©darktable开发者
  • 根据GPL 3.0或更高版本许可
  • 许可证:https://github.com/darktable-org/darktable/blob/master/LICENSE
  • 用于RAW图像处理

注意:此项目通过命令行界面调用这些工具,不分发或合并其源代码。

目录标签

目录标签

图像处理RustClaude本地部署RAW转换WebP生成MCP协议服务器

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP