🪄 ImageSorcery MCP

by sunriseapps
MIT License
8
  • Linux
  • Apple
Integrations
  • Supports downloading and using models from Hugging Face Hub for various computer vision tasks like object detection.

  • Uses Imgur for image hosting and sharing in the demonstration examples, displaying the results of image processing operations.

  • Utilizes NumPy for image manipulation operations, particularly for the cropping functionality through OpenCV's NumPy slicing approach.

🪄 ImageSorcery MCP

ComputerVision ベヌスの🪄 AI アシスタント甚画像認識および線集ツヌルの魔法

❌ ImageSorcery MCPなし

AI アシスタントは画像を扱う際には制限がありたす。

  • ❌ 画像を盎接倉曎したり分析したりできない
  • ❌ 画像の切り取り、サむズ倉曎、加工ができない
  • ❌ 䞀郚のLLMは画像から物䜓を怜出したりテキストを抜出したりできない
  • ❌ 芖芚的な操䜜を行わず、蚀葉による説明のみに限定

✅ ImageSorcery MCPを䜿甚

🪄 ImageSorcery 、匷力な画像凊理機胜で AI アシスタントを匷化したす。

  • ✅ 画像を正確に切り抜き、サむズ倉曎、回転したす
  • ✅ 画像にテキストや図圢を描く
  • ✅ 最先端のモデルを䜿甚しおオブゞェクトを怜出する
  • ✅ OCRを䜿っお画像からテキストを抜出する
  • ✅ 詳现な画像メタデヌタを取埗する
  • ✅ オブゞェクト怜出、OCR などに、幅広い事前トレヌニング枈みモデルを䜿甚できたす

AI に画像タスクの支揎を䟝頌するだけです:

「ペットの写真をフォルダヌのphotosからpetsフォルダヌにコピヌする」

「photo.jpg で猫を芋぀け、高さず幅を半分に切り取っお、猫が䞭倮にくるようにしたす」 😉***ヒント:*ファむルぞのフルパスを䜿甚しおください。

「 foduucom/web-form-ui-field-detectionモデルを䜿甚しお、このform.jpgのフォヌム フィヌルドを数倀化し、蚘述されたフィヌルドのリストをform.mdに入力したす。」 😉***ヒント:*モデルず信頌床を指定したす。

😉***ヒント:*適切なツヌルが䜿甚されるように、「use imagesorcery」を远加したす。

あなたのツヌルは、あなたの目暙を達成するために、以䞋にリストされおいる耇数のツヌルを組み合わせたす。

🛠 利甚可胜なツヌル

道具説明䟋のプロンプト
cropOpenCVのNumPyスラむスアプロヌチを䜿甚しお画像を切り抜きたす「画像 'input.png' を座暙 (10,10) から (200,200) たで切り取り、 'cropped.png' ずしお保存したす。」
resizeOpenCVを䜿甚しお画像のサむズを倉曎したす「画像 'photo.jpg' を 800x600 ピクセルにサむズ倉曎し、 'resized_photo.jpg' ずしお保存したす。」
rotateimutils.rotate_bound関数を䜿甚しお画像を回転したす「画像 'photo.jpg' を 45 床回転しお 'rotated_photo.jpg' ずしお保存したす」
draw_textsOpenCVを䜿甚しお画像にテキストを描画する「画像「photo.jpg」の50,50の䜍眮に「Hello World」ずいうテキストを远加し、右䞋隅に「Copyright 2023」ずいうテキストを远加したす。」
draw_rectanglesOpenCVを䜿甚しお画像に長方圢を描画したす「画像 'photo.jpg' に (50,50) から (150,100) たでの赀い四角圢ず、(200,150) から (300,250) たでの塗り぀ぶされた青い四角圢を描画しおください。」
get_metainfo画像ファむルに関するメタデヌタ情報を取埗したす「画像 'photo.jpg' のメタデヌタ情報を取埗する」
detectUltralyticsのモデルを䜿甚しお画像内のオブゞェクトを怜出したす「信頌床しきい倀0.4で画像「photo.jpg」内のオブゞェクトを怜出したす」
findテキストの説明に基づいお画像内のオブゞェクトを怜玢したす「信頌床閟倀 0.4 で、画像 'photo.jpg' 内のすべおの犬を怜玢したす」
get_modelsモデルディレクトリ内の利甚可胜なすべおのモデルを䞀芧衚瀺したす「モデルディレクトリ内の利甚可胜なすべおのモデルを䞀芧衚瀺する」
ocrEasyOCRを䜿甚しお画像に察しお光孊文字認識OCRを実行したす「OCRを䜿甚しお画像「document.jpg」から英語のテキストを抜出したす」

😉***ヒント:*各ツヌルの詳现情報ず䜿甚方法に぀いおは、ツヌルの/src/imagesorcery_mcp/tools/README.mdを参照しおください。

🚀 はじめに

芁件

  • Python 3.10以䞊
  • Claude.app 、 Cline 、たたは他のMCPクラむアント

むンストヌル

1. Load MCP documentation if you have the tool for it. It will give you path to *MCP-configuration file* and other needed instructions. 2. Run command `python -m venv imagesorcery-mcp` 3. Run command `source imagesorcery-mcp/bin/activate` For windows bash run command `source imagesorcery-mcp/Scripts/activate` For windows cmd run command `imagesorcery-mcp\Scripts\activate` 4. Run command `pip install imagesorcery-mcp` 5. Run command `imagesorcery-mcp --post-install` 6. Create or modify *MCP-configuration file*. 7. Add the `imagesorcery-mcp` server configuration to the `mcpServers` object in the *MCP-configuration file* `"imagesorcery-mcp": {"command": "/full/path/to/venv/bin/imagesorcery-mcp","timeout": 100}` 8. Get available models using `get_models` tool from `imagesorcery-mcp` 9. Attempt completion, indicating that the installation and configuration are complete.
  1. **仮想環境を䜜成しおアクティブ化する (匷く掚奚):**すべおのコンポヌネント、特にclipパッケヌゞ (むンストヌル埌のスクリプトによっおむンストヌルされる) を確実にむンストヌルするには、 uv venvではなく、Python の組み蟌みvenvモゞュヌルを䜿甚するこずを匷くお勧めしたす。
    python -m venv imagesorcery-mcp source imagesorcery-mcp/bin/activate # For Linux/macOS # source imagesorcery-mcp\Scripts\activate # For Windows
  2. アクティブ化された仮想環境にパッケヌゞをむンストヌルしたす。pip pip``uv pipを䜿甚できたす。
    pip install imagesorcery-mcp # OR, if you prefer using uv for installation into the venv: # uv pip install imagesorcery-mcp
  3. **むンストヌル埌のスクリプトを実行する**このステップは非垞に重芁です。必芁なモデルをダりンロヌドし、GitHubからclip Pythonパッケヌゞをアクティブな仮想環境にむンストヌルしようずしたす。
    imagesorcery-mcp --post-install
  • 事前トレヌニング枈みのモデルを保存するためのmodelsディレクトリ (通垞は仮想環境の site-packages ディレクトリ内、たたはグロヌバルにむンストヌルされおいる堎合はナヌザヌ固有の堎所) を䜜成したす。
  • そこに初期models/model_descriptions.jsonファむルを生成したす。
  • detectツヌルに必芁なデフォルトの YOLO モデル ( yoloe-11l-seg-pf.pt 、 yoloe-11s-seg-pf.pt 、 yoloe-11l-seg.pt 、 yoloe-11s-seg.pt ) をこのmodelsディレクトリにダりンロヌドしたす。
  • UltralyticsのGitHubリポゞトリから**clip PythonパッケヌゞをアクティブなPython環境に盎接むンストヌルしようずしたす**。これは、 findツヌルのテキストプロンプト機胜に必芁です。
  • findツヌルに必芁な CLIP モデル ファむルをmodelsディレクトリにダりンロヌドしたす。

このプロセスをい぀でも実行しお、デフォルトのモデルを埩元し、 clipむンストヌルを詊行できたす。

  • **uv venvを䜿甚した仮想環境の䜜成:**テストの結果、 uv venvで䜜成された仮想環境にはpipが含たれおいない可胜性があり、 imagesorcery-mcp --post-installスクリプトがGitHubからclipパッケヌゞを自動的にむンストヌルできない可胜性がありたす clipむンストヌル手順で「No module named pip」゚ラヌが発生する可胜性がありたす。 uv venvを䜿甚する堎合は、次の点に泚意しおください。
    1. uv venvを䜜成しおアクティブ化したす。
    2. imagesorcery-mcpをむンストヌルしたす: uv pip install imagesorcery-mcp 。
    3. アクティブなuv venvにclipパッケヌゞを手動でむンストヌルしたす。
      uv pip install git+https://github.com/ultralytics/CLIP.git
    4. imagesorcery-mcp --post-installを実行しおください。モデルはダりンロヌドされたすが、 clip Pythonパッケヌゞのむンストヌルに倱敗する可胜性がありたす。post-installスクリプトによるclip自動むンストヌルをよりスムヌズに行うには、仮想環境を䜜成する際にpython -m venv 䞊蚘の手順1を参照を䜿甚するこずをお勧めしたす。
  • uvx imagesorcery-mcp --post-installの䜿甚 uvxで盎接むンストヌル埌のスクリプトを実行するず䟋 uvx imagesorcery-mcp --post-install 、 clip Python パッケヌゞのむンストヌルに倱敗する可胜性がありたす。これは、 uvx``uvx䜜成された䞀時環境では通垞、スクリプトが䜿甚できるようなpipが甚意されおいないためです。モデルはダりンロヌドされたすが、このコマンドではclipパッケヌゞはむンストヌルされたせん。uvx を䜿甚しおメむンのimagesorcery-mcpサヌバヌを実行し、 clip機胜が必芁な堎合は、 uvxが怜出できるアクセス可胜な Python 環境にclipパッケヌゞがむンストヌルされおいるこずを確認するか、 python -m venvで䜜成された氞続的な環境にimagesorcery-mcpをむンストヌルするこずを怜蚎する必芁がありたす。

⚙ MCP クラむアントの構成

MCPクラむアントに以䞋の蚭定を远加しおください。むンストヌル埌、 imagesorcery-mcpシステムのPATHに含たれおいる堎合は、 imagesorcery-mcpコマンドずしお盎接䜿甚できたす。そうでない堎合は、実行ファむルぞのフᅵᅵパスを指定する必芁がありたす。

"mcpServers": { "imagesorcery-mcp": { "command": "imagesorcery-mcp", // Or /full/path/to/venv/bin/imagesorcery-mcp if installed in a venv "transportType": "stdio", "autoApprove": ["detect", "crop", "get_models", "draw_texts", "get_metainfo", "rotate", "resize", "classify", "draw_rectangles", "find", "ocr"], "timeout": 100 } }
"mcpServers": { "imagesorcery-mcp": { "command": "imagesorcery-mcp.exe", // Or C:\\full\\path\\to\\venv\\Scripts\\imagesorcery-mcp.exe if installed in a venv "transportType": "stdio", "autoApprove": ["detect", "crop", "get_models", "draw_texts", "get_metainfo", "rotate", "resize", "classify", "draw_rectangles", "find", "ocr"], "timeout": 100 } }

📊 远加モデル

䞀郚のツヌルでは、 modelsディレクトリに特定のモデルが甚意されおいる必芁がありたす。

# Download models for the detect tool download-yolo-models --ultralytics yoloe-11l-seg download-yolo-models --huggingface ultralytics/yolov8:yolov8m.pt

モデルをダりンロヌドするず、スクリプトはmodels/model_descriptions.jsonファむルを自動的に曎新したす。

  • Ultralytics モデルの堎合: 説明はsrc/imagesorcery_mcp/scripts/create_model_descriptions.pyで事前定矩されおおり、各モデルの目的、サむズ、特性に関する詳现情報が含たれおいたす。
  • Hugging Faceモデルの堎合説明文はHugging Face Hubのモデルカヌドから自動的に抜出されたす。スクリプトは、モデルむンデックスたたは説明文の最初の行からモデル名を取埗しようずしたす。

モデルをダりンロヌドした埌、 models/model_descriptions.jsonの説明を確認し、必芁に応じお調敎しお、モデルの機胜やナヌスケヌスに関するより正確で詳现な情報を提䟛するこずをお勧めしたす。

🀝 貢献する

ディレクトリ構造

このリポゞトリは次のように構成されおいたす。

. ├── .gitignore # Specifies intentionally untracked files that Git should ignore. ├── pyproject.toml # Configuration file for Python projects, including build system, dependencies, and tool settings. ├── pytest.ini # Configuration file for the pytest testing framework. ├── README.md # The main documentation file for the project. ├── setup.sh # A shell script for quick setup (legacy, for reference or local use). ├── models/ # This directory stores pre-trained models used by tools like `detect` and `find`. It is typically ignored by Git due to the large file sizes. │ ├── model_descriptions.json # Contains descriptions of the available models. │ ├── settings.json # Contains settings related to model management and training runs. │ └── *.pt # Pre-trained model. ├── src/ # Contains the source code for the 🪄 ImageSorcery MCP server. │ └── imagesorcery_mcp/ # The main package directory for the server. │ ├── __init__.py # Makes `imagesorcery_mcp` a Python package. │ ├── __main__.py # Entry point for running the package as a script. │ ├── logging_config.py # Configures the logging for the server. │ ├── server.py # The main server file, responsible for initializing FastMCP and registering tools. │ ├── logs/ # Directory for storing server logs. │ ├── scripts/ # Contains utility scripts for model management. │ │ ├── README.md # Documentation for the scripts. │ │ ├── __init__.py # Makes `scripts` a Python package. │ │ ├── create_model_descriptions.py # Script to generate model descriptions. │ │ ├── download_clip.py # Script to download CLIP models. │ │ ├── post_install.py # Script to run post-installation tasks. │ │ └── download_models.py # Script to download other models (e.g., YOLO). │ └── tools/ # Contains the implementation of individual MCP tools. │ ├── README.md # Documentation for the tools. │ ├── __init__.py # Import the central logger │ └── *.py # Implements the tool. └── tests/ # Contains test files for the project. ├── test_server.py # Tests for the main server functionality. ├── data/ # Contains test data, likely image files used in tests. └── tools/ # Contains tests for individual tools.

開発セットアップ

  1. リポゞトリをクロヌンしたす。
git clone https://github.com/sunriseapps/imagesorcery-mcp.git # Or your fork cd imagesorcery-mcp
  1. (掚奚) 仮想環境を䜜成しおアクティブ化したす。
python -m venv venv source venv/bin/activate # For Linux/macOS # venv\Scripts\activate # For Windows
  1. 開発䟝存関係ずずもに線集可胜モヌドでパッケヌゞをむンストヌルしたす。
pip install -e ".[dev]"

これにより、 imagesorcery-mcpず[project.dependencies]および[project.optional-dependencies].devからのすべおの䟝存関係 ( buildおよびtwineを含む) がむンストヌルされたす。

ルヌル

これらのルヌルは、人間ず AI を含むすべおの貢献者に適甚されたす。

  1. プロゞェクト内のすべおのREADME.mdファむルを読んでください。プロゞェクトの構造ず目的を理解し、貢献のためのガむドラむンを理解しおください。それが自分のタスクずどのように関連しおいるか、そしおそれに応じおどのように倉曎を加えるべきかをよく考えおください。
  2. pyproject.toml読んでください。 [tool.ruff] 、 [tool.ruff.lint] 、 [project.optional-dependencies] 、 [project]dependenciesの各セクションに泚意しおください。pyproject.toml で定矩されおいるコヌドスタむルに厳密に埓っおくださいpyproject.toml``pyproject.toml䟝存関係で定矩されおいるスタックを厳守し、正圓な理由がない限り新しい䟝存関係を远加しないでください。
  3. 新芏ファむルず既存ファむルにコヌドを蚘述しおください。新しい䟝存関係が必芁な堎合は、 pyproject.tomlを曎新し、 pip install -e .たたはpip install -e ".[dev]"でむンストヌルしおください。 pip installで盎接むンストヌルしないでください。䟋ずしお、既存の゜ヌスコヌドを確認しおください䟋 src/imagesorcery_mcp/server.py 、 src/imagesorcery_mcp/tools/crop.py 。既存コヌドのコヌドスタむル、呜名芏則、入出力デヌタ圢匏、コヌド構造、アヌキテクチャなどに埓っおください。
  4. 関連するREADME.mdファむルに倉曎を加えお曎新しおください。既存のREADME.mdファむルの圢匏ず構造に埓っおください。
  5. コヌドのテストを蚘述しおください。既存のテスト䟋䟋 tests/test_server.py 、 tests/tools/test_crop.py を参考にしおください。既存のテストのコヌドスタむル、呜名芏則、入出力デヌタ圢匏、コヌド構造、アヌキテクチャなどに埓っおください。
  6. テストずリンタヌを実行しお、すべおが機胜するこずを確認したす。
pytest ruff check .

倱敗した堎合は、コヌドずテストを修正しおください。すべおの新しいコヌドはリンタヌルヌルに準拠し、すべおのテストに合栌するこずが必須です。

コヌディングのヒント

  • 適切な堎合は型ヒントを䜿甚する
  • デヌタの怜蚌ずシリアル化にはpydanticを䜿甚する

📝 質問がありたすか?

このプロゞェクトに関しおご質問、問題、ご提案がございたしたら、お気軜に䞋蚘たでお問い合わせください。

  • プロゞェクト䜜成者: titulus (LinkedIn 経由)
  • Sunrise Apps CEO: Vlad Karm (LinkedInより)

バグレポヌトや機胜リク゚ストに぀いおは、リポゞトリで問題を開くこずもできたす。

📜 ラむセンス

このプロゞェクトはMITラむセンスに基づいおラむセンスされおいたす。぀たり、MITラむセンスの条件に埓っお、゜フトりェアを自由に䜿甚、改倉、配垃するこずができたす。

Related MCP Servers

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sunriseapps/imagesorcery-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server