MCP Server - Image について
MCP Server - Image は、URL、ローカルファイルパス、numpy 配列から画像を取得して処理する MCP サーバーです。fetch_images ツールは、画像を base64 文字列と MIME タイプで返し、画像を AI モデルに渡すアプリケーションやデータ処理パイプラインに適しています。
主な機能
- 01HTTP・HTTPS URL からの画像取得
- 02ローカルファイルパスからの画像読み込み
- 031MB を超える画像の自動圧縮
- 04複数画像の並列処理
活用シーン
- 01AI モデルにウェブ上やローカルの画像を読み込ませる
- 02データ処理パイプライン向けに画像をバッチ処理する
MCP 対応
本プロジェクトは MCP サーバーであり、fetch_images ツールを通じて base64 エンコードされた画像と MIME タイプを MCP クライアントに返します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Server - Image
URL、ローカルファイルパス、numpy 配列から画像を取得して処理するツールを提供する、Model Context Protocol(MCP)サーバーです。このサーバーには、画像を MIME タイプとともに base64 エンコード文字列として返す fetch_images というツールが含まれています。
ご支援のお願い
このプロジェクトが役に立ち、今後のプロジェクトも応援したいと思われたら、ぜひコーヒーをごちそうしてください!皆さまのご支援は、革新的な AI ソリューションの開発を続ける力になります。
皆さまからのご支援は、知的で使いやすいアプリケーションを開発する私たちの情熱を支える大きな力になります。
目次
機能
- URL(http/https)から画像を取得
- ローカルファイルパスから画像を読み込み
- 大きなローカル画像を個別に処理
- 大きな画像(>1MB)を自動圧縮
- 複数の画像を並列処理
- ファイル拡張子に応じた適切な MIME タイプの割り当て
- 包括的なエラー処理とログ記録
前提条件
- Python 3.10+
- uv パッケージマネージャー(推奨)
インストール
- このリポジトリをクローンします
- uv を使って仮想環境を作成し、有効化します:
uv venv
# On Windows:
.venv\Scripts\activate
# On Unix/MacOS:
source .venv/bin/activate
- uv を使って依存関係をインストールします:
uv pip install -r requirements.txt
サーバーの実行
MCP サーバーを実行する方法は 2 つあります:
1. 直接実行する方法
MCP サーバーを直接起動するには:
uv run python mcp_image.py
2. Windsurf/Cursor の設定
Windsurf
この MCP サーバーを Windsurf に追加するには:
- ~/.codeium/windsurf/mcp_config.json の設定ファイルを編集します
- 次の設定を追加します:
{
"mcpServers": {
"image": {
"command": "uv",
"args": ["--directory", "/path/to/mcp-image", "run", "mcp_image.py"]
}
}
}
Cursor
この MCP サーバーを Cursor に追加するには:
- Cursor を開き、Settings(Navbar → Cursor Settings)に移動します
- Features → MCP Servers に移動します
-
- Add New MCP Server をクリックします
- 次の設定を入力します:
{
"mcpServers": {
"image": {
"command": "uv",
"args": ["--directory", "/path/to/mcp-image", "run", "mcp_image.py"]
}
}
}
利用可能なツール
サーバーは次のツールを提供します:
fetch_images:URL またはローカルファイルパスから画像を取得して処理します パラメーター: image_sources:画像の URL またはファイルパスのリスト 戻り値: base64 エンコードと MIME タイプを含む、処理済み画像のリスト
使用例
次のような指示を使用できます:
- 「次の画像を取得してください:[URL またはファイルパスのリスト]」
- 「このローカル画像を読み込んで処理してください:[file_path]」
例
# URL-only test
[
"https://upload.wikimedia.org/wikipedia/commons/thumb/7/70/Chocolate_%28blue_background%29.jpg/400px-Chocolate_%28blue_background%29.jpg",
"https://imgs.search.brave.com/Sz7BdlhBoOmU4wZjnUkvgestdwmzOzrfc3GsiMr27Ik/rs:fit:860:0:0:0/g:ce/aHR0cHM6Ly9pbWdj/ZG4uc3RhYmxlZGlm/ZnVzaW9ud2ViLmNv/bS8yMDI0LzEwLzE4/LzJmOTY3NTViLTM0/YmQtNDczNi1iNDRh/LWJlMTVmNGM5MDBm/My5qcGc",
"https://shigacare.fukushi.shiga.jp/mumeixxx/img/main.png"
]
# Mixed URL and local file test
[
"https://upload.wikimedia.org/wikipedia/commons/thumb/7/70/Chocolate_%28blue_background%29.jpg/400px-Chocolate_%28blue_background%29.jpg",
"C:\\Users\\username\\Pictures\\image1.jpg",
"https://imgs.search.brave.com/Sz7BdlhBoOmU4wZjnUkvgestdwmzOzrfc3GsiMr27Ik/rs:fit:860:0:0:0/g:ce/aHR0cHM6Ly9pbWdj/ZG4uc3RhYmxlZGlm/ZnVzaW9ud2ViLmNv/bS8yMDI0LzEwLzE4/LzJmOTY3NTViLTM0/YmQtNDczNi1iNDRh/LWJlMTVmNGM5MDBm/My5qcGc",
"C:\\Users\\username\\Pictures\\image2.jpg"
]
デバッグ
問題が発生した場合:
- すべての依存関係が正しくインストールされていることを確認します
- サーバーが実行中で、接続を待ち受けていることを確認します
- ローカル画像の読み込みに問題がある場合は、ファイルパスが正しく、アクセス可能であることを確認します
- 「Unsupported image type」エラーが発生した場合は、コンテンツタイプの処理を確認します
- サーバーの出力にエラーメッセージがないか確認します
コントリビューション
コントリビューションを歓迎します!お気軽に Pull Request を送信してください。
ライセンス
このプロジェクトは MIT License のもとで公開されています。詳細については LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。