MCP Image Validator

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.

Category
Visit Server

README

MCP Image Validator

Python MCP (Model Context Protocol) сервер для описания изображений с использованием модели Qwen3-VL через Ollama Cloud.

Python 3.10+ License: MIT MCP

Что это?

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 для лёгкой настройки
  • Проверено - Протестировано и готово к работе

Быстрый старт

Требования

Установка

# Клонируйте репозиторий
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

Основано на проверенных паттернах:


Структура проекта

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 серверов

Поддержка

Для получения помощи:

  1. 📖 Проверьте раздел Устранение неполадок
  2. 🐛 Создайте Issue на GitHub с:
    • Версией Python (python --version)
    • Сообщениями об ошибках из логов
    • Шагами для воспроизведения проблемы

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured