dcf2305e4bff78f71624d090f60198c352bdf8ba
Imagen4 MCP Server with Preview Images
Google Imagen 4를 사용한 AI 이미지 생성 MCP 서버입니다. 하나의 main.py 파일로 모든 기능이 통합되어 있습니다.
🚀 주요 기능
- 고품질 이미지 생성: 2048x2048 PNG 이미지 생성
- 미리보기 이미지: 512x512 JPEG 미리보기를 base64로 제공
- 파일 저장: 원본 PNG + 메타데이터 JSON 저장
- 재생성: JSON 파일로부터 동일한 설정으로 재생성
- 랜덤 시드: 재현 가능한 결과를 위한 시드 생성
📦 설치
1. 의존성 설치
pip install -r requirements.txt
필요한 패키지:
google-genai>=0.2.0- Google Imagen 4 APImcp>=1.0.0- MCP 프로토콜python-dotenv>=1.0.0- 환경변수 관리Pillow>=10.0.0- 이미지 처리
2. 환경 설정
.env 파일을 생성하고 Google Cloud 자격 증명을 설정:
GOOGLE_APPLICATION_CREDENTIALS=path/to/your/service-account-key.json
PROJECT_ID=your-gcp-project-id
LOCATION=us-central1
OUTPUT_PATH=./generated_images
🎮 사용법
서버 실행
Windows
run.bat
직접 실행
python main.py
Claude Desktop 설정
claude_desktop_config.json 내용을 Claude Desktop 설정에 추가:
{
"mcpServers": {
"imagen4": {
"command": "python",
"args": ["main.py"],
"cwd": "D:\\Project\\little-fairy\\imagen4"
}
}
}
🛠️ 사용 가능한 도구
1. generate_image
고품질 이미지를 생성하고 미리보기를 제공합니다.
파라미터:
prompt(필수): 이미지 생성 프롬프트seed(필수): 재현 가능한 결과를 위한 시드 값negative_prompt(선택): 제외할 요소 지정number_of_images(선택): 생성할 이미지 수 (1-2)aspect_ratio(선택): 종횡비 ("1:1", "9:16", "16:9", "3:4", "4:3")save_to_file(선택): 파일 저장 여부
응답 예시:
✅ Images have been successfully generated!
🖼️ Preview Images Generated: 1 images (512x512 JPEG)
Preview 1 (base64 JPEG): /9j/4AAQSkZJRgABAQAAAQABAAD/2wBD...(67234 chars)
📁 Files saved:
- ./generated_images/imagen4_20250821_143052_seed_1234567890.png
- ./generated_images/imagen4_20250821_143052_seed_1234567890.json
⚙️ Generation Parameters:
- prompt: A beautiful sunset over mountains
- seed: 1234567890
- aspect_ratio: 1:1
- number_of_images: 1
2. generate_random_seed
이미지 생성용 랜덤 시드를 생성합니다.
3. regenerate_from_json
저장된 JSON 파라미터 파일로부터 이미지를 재생성합니다.
🖼️ 미리보기 이미지 특징
변환 과정
- 원본: 2048x2048 PNG (약 8-15MB)
- 변환: 512x512 JPEG (약 50-200KB)
- 최적화: 품질 85, 최적화 활성화
- 인코딩: Base64 문자열
장점
- 95% 크기 감소: 빠른 전송 및 표시
- 즉시 사용: 웹 환경에서 바로 표시 가능
- 투명도 처리: PNG 투명도를 흰색 배경으로 변환
- 종횡비 유지: 원본 비율을 유지하면서 크기 조정
🧪 테스트
기능을 테스트하려면:
python test_main.py
이 스크립트는 다음을 확인합니다:
- 모든 클래스 및 함수 import
- 이미지 처리 기능
- 미리보기 생성 기능
📁 프로젝트 구조
imagen4/
├── main.py # 통합된 메인 서버 파일
├── run.bat # Windows 실행 파일
├── test_main.py # 테스트 스크립트
├── claude_desktop_config.json # Claude Desktop 설정
├── requirements.txt # 의존성 목록
├── .env # 환경 변수 (사용자가 생성)
├── generated_images/ # 생성된 이미지 저장소
└── src/
└── connector/ # Google API 연결 모듈
├── __init__.py
├── config.py
├── imagen4_client.py
└── utils.py
🔧 기술적 세부사항
이미지 처리
- PIL (Pillow) 사용으로 안정적인 이미지 변환
- LANCZOS 리샘플링으로 고품질 크기 조정
- 투명도 자동 처리: RGBA → RGB 변환 시 흰색 배경 적용
- 중앙 정렬: 목표 크기보다 작은 이미지는 중앙에 배치
MCP 프로토콜
- 버전 3.0.0: 미리보기 이미지 지원
- 비동기 처리: asyncio 기반 안정적인 비동기 작업
- 오류 처리: 상세한 로깅 및 사용자 친화적 오류 메시지
- 타임아웃: 6분 타임아웃으로 안전한 작업 보장
🐛 문제 해결
일반적인 문제
-
Pillow 설치 오류
pip install --upgrade pip pip install Pillow -
Google Cloud 인증 오류
- 서비스 계정 키 파일 경로 확인
- PROJECT_ID가 올바른지 확인
- Imagen API가 활성화되어 있는지 확인
-
메모리 부족
- 이미지 수를 1개로 제한
- 시스템 메모리 확인 (최소 8GB 권장)
로그 확인
서버 실행 시 자세한 로그가 stderr로 출력됩니다:
- 이미지 생성 진행 상황
- 미리보기 생성 과정
- 파일 저장 상태
- 오류 및 경고 메시지
📄 라이센스
MIT License - 자세한 내용은 LICENSE 파일을 참조하세요.
🎯 요약
이 통합된 main.py는 다음과 같은 이점을 제공합니다:
- 단순성: 하나의 파일로 모든 기능 제공
- 효율성: 512x512 JPEG 미리보기로 빠른 응답
- 호환성: 기존 MCP 클라이언트와 완벽 호환
- 확장성: 필요에 따라 쉽게 기능 추가 가능
Google Imagen 4의 강력한 이미지 생성 기능을 MCP 프로토콜을 통해 효율적으로 활용할 수 있습니다!
Description
Languages
Python
99.4%
Batchfile
0.6%