Skip to main content
Glama

MCP Image Validator

by AronMav
test_full.py5.91 kB
#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Full functional test for MCP Image Validator. Tests the complete flow with a real image. """ import sys import os from pathlib import Path # Fix encoding for Windows console if sys.platform == 'win32': import io sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8') sys.stderr = io.TextIOWrapper(sys.stderr.buffer, encoding='utf-8') # Load environment variables from dotenv import load_dotenv load_dotenv() from ollama_vision_client import OllamaVisionClient def test_full_flow(): """Test complete image description flow""" print("=" * 60) print("MCP Image Validator - Full Functional Test") print("=" * 60) print() # Check API key api_key = os.getenv("OLLAMA_API_KEY") if not api_key: print("❌ OLLAMA_API_KEY not set!") print() print("Пожалуйста, настройте .env файл:") print(" 1. cp .env.example .env") print(" 2. Добавьте ваш OLLAMA_API_KEY") print(" 3. Получить ключ: https://ollama.com/settings/keys") print() return False print("✓ API ключ найден") print() # Initialize client print("Инициализация клиента Ollama Cloud...") base_url = os.getenv("OLLAMA_BASE_URL", "https://ollama.com/v1") model = os.getenv("VISION_MODEL", "qwen3-vl:235b-cloud") try: client = OllamaVisionClient( api_key=api_key, base_url=base_url, model=model ) print(f"✓ Клиент создан: {model}") print() except Exception as e: print(f"❌ Ошибка создания клиента: {e}") return False # Check connection print("Проверка подключения к Ollama Cloud...") success, message = client.check_connection() if success: print(f"✓ {message}") print() else: print(f"❌ {message}") print() return False # Find test image test_images = [ "test.jpg", "test.png", "sample.jpg", "sample.png" ] test_image_path = None for img_name in test_images: img_path = Path(img_name) if img_path.exists(): test_image_path = img_path break if not test_image_path: print("⚠️ Тестовое изображение не найдено") print() print("Для полного теста:") print(" 1. Положите изображение (jpg/png) в директорию проекта") print(" 2. Или укажите путь к изображению:") print() # Ask for image path try: user_path = input("Введите путь к изображению (или Enter для пропуска): ").strip() if user_path: user_path = user_path.strip('"\'') # Remove quotes test_image_path = Path(user_path) if not test_image_path.exists(): print(f"❌ Файл не найден: {user_path}") return False else: print("Тест пропущен (нет изображения)") return None except EOFError: print("Тест пропущен (нет изображения)") return None print(f"Найдено тестовое изображение: {test_image_path.name}") print() # Test image description print("Анализ изображения с помощью Qwen3-VL...") print("(Это может занять 10-30 секунд для модели на 235B параметров)") print() try: description = client.describe_image( image_path=str(test_image_path.absolute()), prompt="Describe this image in detail." ) print("✓ Описание получено!") print() print("-" * 60) print("ОПИСАНИЕ ИЗОБРАЖЕНИЯ:") print("-" * 60) print(description) print("-" * 60) print() return True except Exception as e: print(f"❌ Ошибка при анализе изображения: {e}") print() import traceback traceback.print_exc() return False def main(): result = test_full_flow() print() print("=" * 60) if result is True: print("✓✓✓ ВСЕ ТЕСТЫ ПРОЙДЕНЫ! ✓✓✓") print() print("MCP Image Validator полностью функционален!") print() print("Готов к использованию в Claude Code:") print(" 1. Добавьте сервер в настройки MCP") print(" 2. Перезапустите Claude Code") print(" 3. Используйте: 'Опиши изображение по пути ...'") print() return 0 elif result is None: print("⚠️ Частичная проверка завершена") print() print("Базовые функции работают, но полный тест не выполнен.") print("Для полного теста укажите путь к изображению.") print() return 0 else: print("❌ ТЕСТ НЕ ПРОЙДЕН") print() print("Проверьте:") print(" - API ключ Ollama Cloud действителен") print(" - Интернет соединение активно") print(" - Изображение доступно и корректно") print() return 1 if __name__ == "__main__": sys.exit(main())

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/AronMav/mcp-image-validator'

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