imageport について
imageportは、ImageMagickを使うローカル画像処理のコマンドラインツール兼stdio MCPサーバーです。メタデータの取得、リサイズ、形式変換、切り抜き、回転に対応し、画像生成やネットワーク通信は行いません。ホストへのImageMagickのインストールが必要です。
主な機能
- 01画像メタデータの取得
- 02縦横比を保ったリサイズ
- 03一般的な画像形式への変換
- 04矩形領域の切り抜き
- 05角度を指定した回転
活用シーン
- 01画像の形式とサイズの確認
- 02リサイズした画像ファイルの作成
- 03対応形式間での画像変換
- 04ローカル画像の切り抜きや回転
MCP 対応
stdio MCPサーバーは、メタデータ取得、リサイズ、変換、切り抜き、回転の5つのローカル画像ツールを公開します。処理にはImageMagickを呼び出すため、ホストへのインストールが必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
5掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| input | string | はい | メタデータを読み取る画像ファイルのパス。 |
詳細
imageport
imageport は ImageMagick を使用してローカルで画像を処理します。画像ファイルのメタデータ(形式、寸法、色空間、ファイルサイズ)を読み取り、アスペクト比を維持して画像をリサイズし、一般的なウェブ形式や印刷形式(png、jpg、webp、gif、avif、bmp、tiff)間で変換し、画像から矩形領域を切り抜き、角度(度数)を指定して回転します。すべての操作はローカルファイルの処理のみで行われます。このパッケージには画像生成も、ホスト型 AI も、ネットワーク呼び出しも一切ありません。
5 つのツールはすべて ImageMagick の引数配列を構築し、単一の差し替え可能な実行機構を通じて実行します。デフォルトの実行機構は node:child_process の execFile で convert と identify を起動します。シェル文字列ではなく、常に引数配列を使用するため、ホストには ImageMagick のインストールが必要です。バイナリがない場合は、生成時のエラー(たとえば ENOENT)がツールのエラーとしてそのまま返され、偽装されることはありません。単体テストでは、同じコア機能を、引数配列を記録するフェイク実行機構を使ってテストするため、ImageMagick は不要です。
あらかじめ知っておくべき動作が 1 つあります。ImageMagick は出力ファイルの拡張子から出力形式を決定するため、convert_image は要求された出力パスの拡張子が対象形式と異なる場合、その拡張子を置き換えます(photo.png を webp に変換すると photo.webp に書き込まれます)。結果には、この有効なパスが報告されます。
インストール
npx -y @reneturcios/imageport mcp
または、コンテナイメージを実行します(注意:コンテナには ImageMagick が含まれていないため、MCP の初期化と CLI の使用確認のみ通過します。実際の処理には ImageMagick をインストールしたホストで実行してください)。
docker run -i ghcr.io/cloudcorprecords/imageport
CLI
imageport metadata <input>
imageport resize <input> <output> [--width n] [--height n]
imageport convert <input> <output> <format>
imageport crop <input> <output> <width> <height> <x> <y>
imageport rotate <input> <output> <angle>
imageport mcp
imageport --version
例:
imageport metadata photo.png
imageport resize photo.png photo-small.png --width 800
imageport convert photo.png photo-out.png webp # writes photo-out.webp
imageport crop photo.png tile.png 200 200 40 60
imageport rotate photo.png photo-upright.png 90
各コマンドは結果を JSON として出力します。終了コード:成功時は 0、ImageMagick の失敗時(インストールされていない場合を含む)は 1、使用方法のエラー時は 2 です。
MCP サーバー
1 つの実行ファイルで、どちらの用途にも対応します。mcp サブコマンドは stdio MCP サーバーを起動します。
npx -y @reneturcios/imageport mcp
MCP クライアントの設定:
{
"mcpServers": {
"imageport": {
"command": "npx",
"args": ["-y", "@reneturcios/imageport", "mcp"]
}
}
}
ツール
| ツール | 入力 | 動作 |
|---|---|---|
get_image_metadata | input(必須) | identify を使用して、形式、幅、高さ、色空間、ファイルサイズを読み取ります。 |
resize_image | input、output(必須);width、height(少なくとも一方) | convert -resize を使用して、アスペクト比を維持しながらリサイズします。 |
convert_image | input、output、format(必須) | png、jpg、webp、gif、avif、bmp、tiff に変換します。異なる場合は、出力拡張子を形式に合わせて置き換えます。 |
crop_image | input、output、width、height、x、y(必須) | convert -crop ... +repage を使用して、オフセット x、y の位置で width x height の領域を切り抜きます。 |
rotate_image | input、output、angle(必須) | convert -rotate を使用して、angle 度回転します。 |
開発
npm install
npm run build # tsc -> dist/
npm test # node test runner over test/*.test.ts, fake executor, no ImageMagick needed
npm run dev # run the CLI from source via tsx
ライセンス
MIT — LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。