🪄 ImageSorcery MCP
Волшебство распознавания и редактирования изображений на основе ComputerVision для помощников с искусственным интеллектом
❌ Без ImageSorcery MCP
Возможности ИИ-помощников при работе с изображениями ограничены:
- ❌ Невозможно изменять или анализировать изображения напрямую
- ❌ Нет возможности обрезать, изменять размер или обрабатывать изображения
- ❌ Некоторые LLM не могут обнаруживать объекты или извлекать текст из изображений
- ❌ Ограничено словесными описаниями без визуальной манипуляции
✅ С ImageSorcery MCP
🪄 ImageSorcery
предоставляет помощникам на базе искусственного интеллекта мощные возможности обработки изображений:
- ✅ Обрезайте, изменяйте размер и вращайте изображения с точностью
- ✅ Рисуйте текст и фигуры на изображениях
- ✅ Обнаружение объектов с использованием современных моделей
- ✅ Извлечение текста из изображений с помощью OCR
- ✅ Получите подробные метаданные изображения
- ✅ Используйте широкий спектр предварительно обученных моделей для обнаружения объектов, OCR и многого другого
Просто попросите свой ИИ помочь вам с задачами по обработке изображений:
"скопировать фотографии с домашними животными из папки
photos
в папкуpets
"
«Найдите кошку на фото.jpg и обрежьте изображение пополам по высоте и ширине, чтобы кошка оказалась по центру»
😉 Подсказка: используйте полный путь к файлам.
"Пронумеруйте поля формы в этом
form.jpg
с помощью моделиfoduucom/web-form-ui-field-detection
и заполнитеform.md
списком описанных полей"😉 Подсказка: укажите модель и степень уверенности.
😉 Подсказка: добавьте «use imagesorcery», чтобы убедиться, что будет использоваться правильный инструмент».
Ваш инструмент будет объединять в себе несколько перечисленных ниже инструментов для достижения вашей цели.
🛠️ Доступные инструменты
Инструмент | Описание | Пример подсказки |
---|---|---|
crop | Обрезает изображение, используя подход нарезки NumPy OpenCV. | «Обрезать мое изображение 'input.png' от координат (10,10) до (200,200) и сохранить его как 'cropped.png'» |
resize | Изменение размера изображения с помощью OpenCV | «Измените размер моего изображения «photo.jpg» до 800x600 пикселей и сохраните его как «resized_photo.jpg»» |
rotate | Поворачивает изображение с помощью функции imutils.rotate_bound | «Повернуть мое изображение «photo.jpg» на 45 градусов и сохранить его как «rotated_photo.jpg»» |
draw_texts | Рисует текст на изображении с помощью OpenCV | «Добавьте текст «Hello World» в позицию (50,50) и «Copyright 2023» в правый нижний угол моего изображения «photo.jpg»» |
draw_rectangles | Рисует прямоугольники на изображении с помощью OpenCV | «Нарисуйте красный прямоугольник от (50,50) до (150,100) и закрашенный синий прямоугольник от (200,150) до (300,250) на моем изображении 'photo.jpg'» |
get_metainfo | Получает метаданные о файле изображения | «Получить метаданные о моем изображении 'photo.jpg'» |
detect | Обнаруживает объекты на изображении с использованием моделей Ultralytics | «Определить объекты на моем изображении «photo.jpg» с порогом достоверности 0,4» |
find | Находит объекты на изображении по текстовому описанию | «Найти всех собак на моем изображении 'photo.jpg' с порогом достоверности 0,4» |
get_models | Перечисляет все доступные модели в каталоге моделей | «Перечислить все доступные модели в каталоге моделей» |
ocr | Выполняет оптическое распознавание символов (OCR) на изображении с помощью EasyOCR | «Извлеките текст из моего изображения «document.jpg» с помощью OCR на английском языке» |
😉 Совет: подробную информацию и инструкции по использованию каждого инструмента можно найти в файле /src/imagesorcery_mcp/tools/README.md
.
🚀 Начало работы
Требования
Python 3.10
или вышеClaude.app
,Cline
или другой клиент MCP
Установка
- Создайте и активируйте виртуальную среду (настоятельно рекомендуется): для надежной установки всех компонентов, особенно пакета
clip
(устанавливается с помощью скрипта после установки), настоятельно рекомендуется использовать встроенный в Python модульvenv
вместоuv venv
. - Установите пакет в активированную виртуальную среду: можно использовать
pip
илиuv pip
. - Запустите скрипт после установки: Этот шаг имеет решающее значение. Он загружает требуемые модели и пытается установить пакет Python
clip
из GitHub в активную виртуальную среду.
- Создает каталог
models
(обычно в каталоге site-packages вашей виртуальной среды или в определенном пользователем месте, если установлена глобально) для хранения предварительно обученных моделей. - Генерирует там начальный файл
models/model_descriptions.json
. - Загружает стандартные модели YOLO (
yoloe-11l-seg-pf.pt
,yoloe-11s-seg-pf.pt
,yoloe-11l-seg.pt
,yoloe-11s-seg.pt
), необходимые для инструментаdetect
, в этот каталогmodels
. - Попытки установить пакет Python
clip
из репозитория Ultralytics' GitHub напрямую в активную среду Python. Это необходимо для функциональности текстовых подсказок в инструментеfind
. - Загружает файл модели CLIP, необходимый инструменту
find
, в каталогmodels
.
Вы можете запустить этот процесс в любое время, чтобы восстановить модели по умолчанию и попытаться установить clip
.
- Использование
uv venv
для создания виртуальных сред: на основе тестирования виртуальные среды, созданные с помощьюuv venv
могут не включатьpip
таким образом, чтобы скриптimagesorcery-mcp --post-install
автоматически устанавливал пакетclip
из GitHub (это может привести к ошибке «No module named pip» на этапе установкиclip
). Если вы решите использоватьuv venv
:- Создайте и активируйте свой
uv venv
. - Установите
imagesorcery-mcp
:uv pip install imagesorcery-mcp
. - Вручную установите пакет
clip
в ваш активныйuv venv
: - Запустите
imagesorcery-mcp --post-install
. Это загрузит модели, но может не установить пакет Pythonclip
. Для более плавной автоматической установкиclip
через скрипт post-install рекомендуется использоватьpython -m venv
(как описано в шаге 1 выше) для создания виртуальной среды.
- Создайте и активируйте свой
- Использование
uvx imagesorcery-mcp --post-install
: запуск скрипта после установки напрямую с помощьюuvx
(например,uvx imagesorcery-mcp --post-install
) скорее всего не установит пакет Pythonclip
. Это связано с тем, что временная среда, созданнаяuvx
, обычно не имеетpip
, доступного для использования скриптом. Модели будут загружены, но пакетclip
не будет установлен этой командой. Если вы собираетесь использоватьuvx
для запуска основного сервераimagesorcery-mcp
и вам требуется функциональностьclip
, вам нужно будет убедиться, что пакетclip
установлен в доступной среде Python, которую может найтиuvx
, или рассмотреть возможность установкиimagesorcery-mcp
в постоянную среду, созданную с помощьюpython -m venv
.
⚙️ Конфигурация MCP клиента
Добавьте эти настройки в ваш клиент MCP. Если imagesorcery-mcp
находится в PATH вашей системы после установки, вы можете использовать imagesorcery-mcp
напрямую как команду. В противном случае вам нужно будет указать полный путь к исполняемому файлу.
📦 Дополнительные модели
Для некоторых инструментов требуется наличие определенных моделей в каталоге models
:
При загрузке моделей скрипт автоматически обновляет файл models/model_descriptions.json
:
- Для моделей Ultralytics: описания предопределены в
src/imagesorcery_mcp/scripts/create_model_descriptions.py
и включают подробную информацию о назначении, размере и характеристиках каждой модели. - Для моделей Hugging Face: Описания автоматически извлекаются из карточки модели на Hugging Face Hub. Скрипт пытается использовать имя модели из индекса модели или первой строки описания.
После загрузки моделей рекомендуется проверить описания в models/model_descriptions.json
и при необходимости скорректировать их, чтобы предоставить более точную или подробную информацию о возможностях моделей и вариантах использования.
🤝 Вклад
Структура каталога
Этот репозиторий организован следующим образом:
Настройка разработки
- Клонируйте репозиторий:
- (Рекомендуется) Создайте и активируйте виртуальную среду:
- Установите пакет в режиме редактирования вместе с зависимостями разработки:
Это установит imagesorcery-mcp
и все зависимости из [project.dependencies]
и [project.optional-dependencies].dev
(включая build
и twine
).
Правила
Эти правила применяются ко всем участникам: людям и ИИ.
- Прочитайте все файлы
README.md
в проекте. Поймите структуру и цель проекта. Поймите правила для внесения вклада. Подумайте, как это связано с вашей задачей, и как внести соответствующие изменения. - Прочитайте
pyproject.toml
. Обратите внимание на разделы:[tool.ruff]
,[tool.ruff.lint]
,[project.optional-dependencies]
и[project]dependencies
. Строго следуйте стилю кода, определенному вpyproject.toml
. Придерживайтесь стека, определенного в зависимостяхpyproject.toml
и не добавляйте новые зависимости без веской причины. - Напишите свой код в новых и существующих файлах. Если нужны новые зависимости, обновите
pyproject.toml
и установите их черезpip install -e .
илиpip install -e ".[dev]"
. Не устанавливайте их напрямую черезpip install
. Проверьте существующие исходные коды для примеров (например,src/imagesorcery_mcp/server.py
,src/imagesorcery_mcp/tools/crop.py
). Придерживайтесь стиля кода, соглашений об именовании, форматов входных и выходных данных, структуры кододеса, архитектуры и т. д. существующего кода. - Обновите связанные файлы
README.md
с вашими изменениями. Придерживайтесь формата и структуры существующих файловREADME.md
. - Напишите тесты для своего кода. Проверьте существующие тесты на наличие примеров (например,
tests/test_server.py
,tests/tools/test_crop.py
). Придерживайтесь стиля кода, соглашений об именовании, форматов входных и выходных данных, структуры кода, архитектуры и т. д. существующих тестов. - Запустите тесты и линтер, чтобы убедиться, что все работает:
В случае сбоев - исправить код и тесты. Строго необходимо, чтобы весь новый код соответствовал правилам линтера и проходил все тесты.
Советы по кодированию
- Используйте подсказки по типу, где это уместно
- Используйте pydantic для проверки и сериализации данных
📝 Вопросы?
Если у вас есть вопросы, проблемы или предложения относительно этого проекта, обращайтесь:
Вы также можете открыть сообщение об ошибке в репозитории для отправки отчетов об ошибках или запросов на новые функции.
📜 Лицензия
Этот проект лицензирован по лицензии MIT. Это означает, что вы можете свободно использовать, изменять и распространять программное обеспечение в соответствии с условиями лицензии MIT.
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
🪄 ImageSorcery MCP
Related MCP Servers
- AsecurityAlicenseAqualityEnables AI assistants to download images from URLs and perform basic image optimization tasks.Last updated -24JavaScriptApache 2.0
- -securityAlicense-qualityA Cursor-compatible toolkit that provides intelligent coding assistance through custom AI tools for code architecture planning, screenshot analysis, code review, and file reading capabilities.Last updated -6022TypeScriptMIT License
- JavaScript
- -securityFlicense-qualityEnables searching for AI agents by keywords or categories, allowing users to discover tools like coding agents, GUI agents, or industry-specific assistants across marketplaces.Last updated -23Python