MCP Image Validator
Enables Claude and other MCP clients to analyze and describe images using the Qwen3-VL vision model (235B parameters) through Ollama Cloud API, supporting multiple image formats without requiring local GPU.
README
MCP Image Validator
Python MCP (Model Context Protocol) сервер для описания изображений с использованием модели Qwen3-VL через Ollama Cloud.
Что это?
MCP сервер, который позволяет Claude Code и другим MCP клиентам анализировать изображения с помощью облачной vision модели Qwen3-VL (235B параметров) от Ollama Cloud.
Основные возможности:
- 🖼️ Анализ изображений - Детальное описание с помощью Qwen3-VL (235B параметров)
- ☁️ Облачные вычисления - Работает через Ollama Cloud API (не требует GPU)
- 🔌 MCP совместимость - Готов к использованию в Claude Code
- 🎨 Поддержка форматов - JPEG, PNG, GIF, WebP, BMP
- 🛠️ Простота - Построен на FastMCP для лёгкой настройки
- ⚡ Проверено - Протестировано и готово к работе
Быстрый старт
Требования
- Python 3.10 или выше
- API ключ Ollama Cloud (получить здесь)
Установка
# Клонируйте репозиторий
git clone <url-репозитория>
cd mcp-image-validator
# Установите зависимости
pip install -r requirements.txt
Конфигурация
# Скопируйте шаблон
cp .env.example .env
# Отредактируйте .env и добавьте ваш API ключ
# Получить ключ: https://ollama.com/settings/keys
Содержимое .env:
OLLAMA_API_KEY=ваш_api_ключ_здесь
VISION_MODEL=qwen3-vl:235b-cloud
OLLAMA_BASE_URL=https://ollama.com/v1
VISION_TEMPERATURE=0.2
VISION_MAX_TOKENS=1000
Проверка работы
После настройки .env проверьте работу сервиса:
python test_full.py
Скрипт выполнит:
- ✅ Проверку подключения к Ollama Cloud
- ✅ Поиск тестового изображения в директории (test.jpg, test.png, sample.jpg, sample.png)
- ✅ Анализ изображения с помощью Qwen3-VL
- ✅ Вывод детального описания
Если тестовое изображение не найдено, скрипт предложит ввести путь к вашему изображению.
Использование с Claude Code
Добавьте в настройки MCP Claude Code (.claude/mcp_settings.json или claude_desktop_config.json):
{
"mcpServers": {
"image-validator": {
"command": "python",
"args": ["c:\\GIT\\mcp-image-validator\\server.py"],
"env": {
"OLLAMA_API_KEY": "ваш_api_ключ_здесь"
}
}
}
}
Важно:
- Используйте абсолютные пути
- Укажите API ключ в секции
env - Перезапустите Claude Code после добавления конфигурации
Затем в диалоге с Claude Code:
Опиши изображение по пути C:\Users\user\Pictures\photo.jpg
Доступный инструмент
describe_image
Анализирует изображение и предоставляет детальное описание с использованием Qwen3-VL.
Параметры:
image_path(строка, обязательно) - Абсолютный путь к файлу изображенияprompt(строка, опционально) - Пользовательский промпт для модели
Примеры использования:
Опиши изображение по пути C:\Photos\landscape.jpg
Проанализируй изображение C:\Docs\diagram.png и перечисли все компоненты
Что изображено на фото /home/user/pictures/sunset.jpg?
Поддерживаемые форматы: JPEG, PNG, GIF, WebP, BMP
Переменные окружения
| Переменная | По умолчанию | Описание |
|---|---|---|
OLLAMA_API_KEY |
- | Обязательно. API ключ от Ollama Cloud |
VISION_MODEL |
qwen3-vl:235b-cloud |
Vision модель для использования |
OLLAMA_BASE_URL |
https://ollama.com/v1 |
Адрес Ollama Cloud API |
VISION_TEMPERATURE |
0.2 |
Температура генерации (0.0-1.0, меньше = детерминированнее) |
VISION_MAX_TOKENS |
1000 |
Максимальное количество токенов в ответе |
Примечание: Модели Ollama Cloud должны иметь суффикс -cloud (например, qwen3-vl:235b-cloud).
Архитектура
Сервер использует FastMCP (фреймворк от Anthropic) и OpenAI SDK, настроенный для работы с Ollama Cloud.
Компоненты:
- MCP Server (server.py) - FastMCP сервер с stdio транспортом
- Ollama Client (ollama_vision_client.py) - Клиент API для обработки изображений
- Qwen3-VL Model - Vision модель на 235B параметров на Ollama Cloud
Поток данных:
Claude Code → MCP Protocol → server.py → ollama_vision_client.py
↓
OpenAI SDK
↓
Ollama Cloud API
↓
Qwen3-VL Model
Основано на проверенных паттернах:
- comfyui-mcp-server - архитектура MCP сервера
- doc-chatbot - интеграция с Ollama Cloud
Структура проекта
mcp-image-validator/
├── server.py # MCP сервер (stdio transport)
├── ollama_vision_client.py # Клиент Ollama Cloud API
├── test_full.py # Полный функциональный тест
├── requirements.txt # Python зависимости
├── .env.example # Шаблон переменных окружения
├── .gitignore # Правила для git
└── README.md # Этот файл
Разработка
Запуск сервера напрямую
python server.py
Сервер запустится и будет ожидать MCP протокольные сообщения на stdin.
Тестирование
# Полный функциональный тест
python test_full.py
# С конкретным изображением
python test_full.py
# Введите путь к изображению когда будет предложено
Логирование
Логи сервера выводятся в stderr. При запуске через Claude Code логи доступны в панели MCP серверов.
Для более детального логирования измените в server.py:
logging.basicConfig(level=logging.DEBUG)
Устранение неполадок
"OLLAMA_API_KEY not set"
Решение:
- Убедитесь, что файл
.envсуществует с корректным ключом - При использовании с Claude Code укажите ключ в
envсекции настроек MCP
"Image file not found"
Решение:
- Используйте только абсолютные пути к изображениям
- Проверьте существование файла:
dir "C:\path\to\image.jpg"(Windows) илиls -la /path/to/image.jpg(Linux/Mac)
"Unsupported image format"
Решение:
- Поддерживаются только: JPEG, PNG, GIF, WebP, BMP
- Проверьте, что расширение файла соответствует реальному формату
Медленные ответы (10-30+ секунд)
Это нормально!
- Vision модели с 235B параметров требуют времени на обработку
- Облачные модели имеют сетевую задержку
- Для более быстрой работы можно попробовать модели меньшего размера
Сервер не загружается в Claude Code
Проверьте:
- Путь в настройках MCP абсолютный и корректный
- Используется команда
python(илиpython3на некоторых системах) - Claude Code перезапущен после изменения конфигурации
- Логи MCP сервера на наличие ошибок
"Connection refused" или "Network error"
Проверьте:
- Интернет соединение активно
- Доступ к
ollama.comне заблокирован фаерволом - API ключ действителен и имеет активные кредиты
Примеры использования
Базовое описание
Опиши изображение по пути C:\Users\user\Pictures\photo.jpg
С кастомным промптом
Проанализируй изображение C:\Docs\screenshot.png и перечисли все видимые элементы интерфейса
Множественные аспекты
Для изображения /home/user/vacation.jpg:
1. Опиши главный объект
2. Какие цвета преобладают?
3. Какая атмосфера или настроение?
Claude Code автоматически использует инструмент describe_image на основе вашего запроса.
Технические характеристики
Требования
- Python 3.10 или выше
- Интернет соединение (для Ollama Cloud API)
- API ключ Ollama Cloud
Зависимости
mcp≥1.0.0 - FastMCP фреймворкopenai≥1.0.0 - OpenAI SDK (совместимость с Ollama Cloud)python-dotenv≥1.0.0 - Управление переменными окруженияPillow≥10.0.0 - Валидация и обработка изображений
Установка:
pip install -r requirements.txt
Производительность
- Время ответа: 10-30 секунд (зависит от изображения и загрузки сервера)
- Качество: Высокое (модель 235B параметров)
- Стабильность: Production-ready
Расширение функциональности
Добавление новых инструментов
Пример добавления нового инструмента:
@mcp.tool()
def analyze_colors(image_path: str) -> dict:
"""Анализирует цветовую палитру изображения"""
# Ваша реализация
pass
Использование других моделей
Измените VISION_MODEL в .env:
# Другие vision модели с суффиксом -cloud
VISION_MODEL=llava:7b-cloud
VISION_MODEL=bakllava:7b-cloud
Вклад в проект
Приветствуются любые вклады! Интересные направления:
- 📦 Пакетная обработка изображений
- 🔍 Дополнительные инструменты анализа (OCR, определение объектов)
- 🎨 Поддержка других vision моделей
- 📊 Потоковая передача прогресса
- 🧪 Unit и интеграционные тесты
- 📚 Примеры использования
Создавайте Issues или Pull Requests на GitHub.
Документация
- README.md - Этот файл (основная документация)
- test_full.py - Исходный код теста с примерами
Лицензия
MIT License - См. файл LICENSE для деталей.
Ссылки
- Ollama Cloud - Облачная платформа для AI моделей
- Ollama API Keys - Получить API ключ
- MCP Protocol - Спецификация Model Context Protocol
- Claude Code - AI ассистент для разработки
- FastMCP - Фреймворк для MCP серверов
Поддержка
Для получения помощи:
- 📖 Проверьте раздел Устранение неполадок
- 🐛 Создайте Issue на GitHub с:
- Версией Python (
python --version) - Сообщениями об ошибках из логов
- Шагами для воспроизведения проблемы
- Версией Python (
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。