본문으로 건너뛰기

© 2026 Molayo

GitHub요약2026. 06. 02. 04:05

awkoy/replicate-flux-mcp

요약

Replicate Flux MCP는 AI 어시스턴트가 Flux Schnell 및 Recraft V3 모델을 통해 고품질 이미지와 SVG 벡터 그래픽을 생성할 수 있도록 지원하는 MCP 서버입니다. Cursor, Claude Desktop 등 다양한 MCP 클라이언트와 통합하여 사용할 수 있습니다.

핵심 포인트

  • Flux Schnell 모델을 통한 고품질 래스터 이미지 생성 지원
  • Recraft V3 모델을 활용한 SVG 벡터 그래픽 생성 기능
  • Cursor, Claude Desktop, Smithery 등 다양한 환경 통합 가능
  • Replicate API를 활용한 간편한 이미지 생성 워크플로우 제공

Replicate Flux MCP는 AI 어시스턴트가 고품질 이미지와 벡터 그래픽을 생성할 수 있도록 지원하는 고급 Model Context Protocol (MCP) 서버입니다. Replicate API를 통해 래스터 이미지(raster images)를 위한 Black Forest Labs의 Flux Schnell 모델과 벡터 그래픽을 위한 Recraft의 V3 SVG 모델을 활용합니다.

  • 시작하기 및 통합 (Getting Started & Integration)

  • 기능 (Features)

  • 문서 (Documentation)

  • 개발 (Development)

  • 기술적 세부 사항 (Technical Details)

  • 문제 해결 (Troubleshooting)

  • 기여하기 (Contributing)

  • 라이선스 (License)

  • 리소스 (Resources)

  • 예시 (Examples)

Replicate API 토큰 확보하기- Replicate에서 가입하세요

  • 계정 설정에서 API 토큰을 생성하세요

통합 방법 선택하기- 선호하는 MCP 클라이언트에 따라 아래의 통합 옵션 중 하나를 따르세요

AI 어시스턴트에게 이미지 생성 요청하기- 자연스럽게 요청하세요: "해질녘의 평온한 산 풍경 이미지를 생성해 줄 수 있나요?"

  • 또는 더 구체적으로 요청하세요: "전경에 노을빛을 반사하는 호수가 있는 평화로운 산 장면 이미지를 만들어 주세요"

고급 기능 탐색하기- 맞춤형 결과를 위해 다양한 파라미터(parameter) 설정을 시도해 보세요

  • generate_svg를 사용하여 SVG 생성을 실험해 보세요

  • 배치 이미지 생성(batch image generation) 또는 변형 생성(variant generation) 기능을 사용하세요

  • 프로젝트 디렉토리에서 .cursor/mcp.json 파일을 생성하거나 편집하세요:

{
"mcpServers": {
"replicate-flux-mcp": {
...
  • YOUR_TOKEN을 실제 Replicate API 토큰으로 교체하세요 - 변경 사항을 적용하려면 Cursor를 재시작하세요

  • Cursor를 열고 설정(Settings)으로 이동하세요

  • "MCP" 또는 "Model Context Protocol" 섹션으로 이동하세요

  • "Add Server" 또는 그에 상응하는 버튼을 클릭하세요

  • 적절한 필드에 다음 명령어를 입력하세요:

env REPLICATE_API_TOKEN=YOUR_TOKEN npx -y replicate-flux-mcp
  • YOUR_TOKEN을 실제 Replicate API 토큰으로 교체하세요 - 설정을 저장하고 필요한 경우 Cursor를 재시작하세요

  • 구성 디렉토리에서 mcp.json 파일을 생성하거나 편집하세요:

{
"mcpServers": {
"replicate-flux-mcp": {
...
  • YOUR_TOKEN을 실제 Replicate API 토큰으로 교체하세요 - 변경 사항을 적용하려면 Claude Desktop을 재시작하세요

이 MCP 서버는 Smithery에서 호스팅 서비스로 제공되므로, 직접 서버를 구축하지 않고도 사용할 수 있습니다.

  • Smithery를 방문하여 계정이 없다면 생성하세요
  • Replicate Flux MCP 서버 페이지로 이동하세요
  • "Add to Workspace"를 클릭하여 서버를 Smithery 워크스페이스에 추가하세요
  • MCP 클라이언트(Cursor, Claude Desktop 등)가 Smithery 워크스페이스 URL을 사용하도록 설정하세요

MCP 클라이언트와 함께 Smithery를 사용하는 방법에 대한 자세한 정보는 Smithery 문서를 참조하세요.

이 MCP 서버는 Glama.ai에서도 호스팅 서비스로 제공되어, 로컬 설정 없이 사용할 수 있는 또 다른 옵션을 제공합니다.

  • Glama.ai를 방문하여 계정이 없다면 생성하세요
  • Replicate Flux MCP 서버 페이지로 이동하세요
  • "Install Server"를 클릭하여 서버를 워크스페이스에 추가하세요
  • MCP 클라이언트가 Glama.ai 워크스페이스를 사용하도록 설정하세요

자세한 내용은 Glama.ai MCP 서버 문서를 참조하세요.

🖼️ 고품질 이미지 생성— 종횡비(aspect ratio), 메가픽셀(megapixels), 추론 단계(inference steps), 출력 형식(output format) 및 시드(seed)를 완전히 제어할 수 있는 Flux Schnell 래스터(raster) 이미지.
🎨 벡터 그래픽— 로고, 아이콘 및 다이어그램을 위한 Recraft V3 SVG.
📊 배치 + 변형 (Batch + Variants)— N개의 프롬프트로부터 N개의 이미지를 생성하거나, 하나의 프롬프트로부터 N개의 변형(시드 기반 또는 프롬프트 수정자 기반)을 생성합니다.
🧩 임의의 Replicate 모델run_replicate_model 탈출구(escape hatch)는 owner/name[:version] 형태의 모든 참조를 허용하며, OpenAPI 입력 스키마를 위한 get_model_schema 내성(introspection)을 제공합니다. REPLICATE_MODEL_ALLOWLIST를 통해 선택적 화이트리스트 설정이 가능합니다.
📦 구조화된 출력 (Structured Output)— 모든 generate_* 도구는 각 도구별 outputSchema(URL, 프롬프트, 형식, 종횡비, 변형별 시드 등)에 맞춰 사람이 읽을 수 있는 콘텐츠와 함께 기계가 읽을 수 있는 structuredContent를 반환합니다.
⏳ 진행 상황 알림 (Progress Notifications)— 배치 및 변형 생성 시 progressToken을 통해 옵트인(opt-in)한 클라이언트에 notifications/progress를 전송하므로, 실행 시간이 긴 작업이 블랙박스 상태로 방치되지 않습니다.
💬 큐레이션된 프롬프트— 5개의 준비된 프롬프트 템플릿 (logo, portrait, svg-icon, product-shot 등)

, isometric-diagram)

이 기능들은 Claude Desktop의 슬래시 팔레트(/) 및 Cursor의 @ 메뉴에 나타납니다.

🏷️ 적절한 도구 주석 (Tool Annotations)readOnlyHint, destructiveHint, openWorldHint, idempotentHint를 올바르게 설정하여 클라이언트가 안전성과 비용을 판단할 수 있도록 합니다.

🪵 구조화된 로깅 (Structured Logging)— 서버 측 오류가 stderr 대신 notifications/message를 통해 전달됩니다.

🔌 범용 MCP 호환성 (Universal MCP Compatibility)— MCP 프로토콜 2025-11-25를 준수하며, Claude Desktop, Cursor, Cline, Zed 및 모든 규격 준수 클라이언트와 작동합니다.

🔍 생성 이력 (Generation History)imagelist, svglist, predictionlist 리소스를 통해 과거 실행 내역을 탐색할 수 있습니다.

Flux Schnell 모델을 사용하여 텍스트 프롬프트 기반의 이미지를 생성합니다.

{
  prompt: string; // 필수: 생성할 이미지에 대한 텍스트 설명
  seed?: number; // 선택 사항: 재현 가능한 생성을 위한 랜덤 시드(seed)
  ...
}

Flux Schnell 모델을 사용하여 프롬프트 배열을 기반으로 여러 이미지를 생성합니다.

{
  prompts: string[]; // 필수: 생성할 이미지들에 대한 텍스트 설명 배열 (1-10개 프롬프트)
  seed?: number; // 선택 사항: 재현 가능한 생성을 위한 랜덤 시드(seed)
  ...
}

단일 프롬프트로부터 동일한 이미지의 여러 변형(variants)을 생성합니다.

{
  prompt: string; // 필수: 변형을 생성할 대상 이미지에 대한 텍스트 설명
  num_variants: number; // 필수: 생성할 이미지 변형 수 (2-10, 기본값: 4)
  ...
}

Recraft V3 SVG 모델을 사용하여 텍스트 프롬프트 기반의 SVG 벡터 이미지를 생성합니다.

{
  prompt: string; // 필수: 생성할 SVG에 대한 텍스트 설명
  size?: string; // 선택 사항: 생성된 SVG의 크기 (기본값: "1024x1024")
  ...
}

Replicate에서 최근 예측(predictions) 목록을 가져옵니다.

{
  limit?: number; // 선택 사항: 반환할 최대 예측 수 (1-100) (기본값: 50)
}

특정 예측에 대한 상세 정보를 가져옵니다.

{
  predictionId: string; // 필수: 가져올 예측의 ID
}

owner/name[:version] 형식을 사용하여 Replicate에 호스팅된 모든 모델을 실행합니다.

참조하십시오. 큐레이션된 도구 중 적합한 것이 없을 때 이를 탈출구(escape hatch)로 사용하십시오. 입력 형태(input shape)를 모른다면 먼저 get_model_schema를 호출하십시오.

{
model: string; // 필수: 'owner/name' 또는 'owner/name:version'
input: Record<string, unknown>; // 필수: 모델 입력 파라미터 (Model input parameters)
...

호출할 수 있는 모델을 제한하려면 REPLICATE_MODEL_ALLOWLIST 환경 변수(쉼표로 구분된 owner/name 항목)를 설정하십시오. 설정하지 않으면 모든 모델이 허용됩니다. 설정하되 비워두면 모든 모델이 거부됩니다 (서버가 모든 것을 조용히 허용하기보다 차단된 상태로 실패하도록 설계되었습니다).

run_replicate_model에 올바른 파라미터를 전달할 수 있도록 Replicate 모델의 OpenAPI 입력 스키마(input schema)와 설명을 가져옵니다.

{
model: string; // 필수: 'owner/name' 형식의 Replicate 모델 참조
}

Flux Schnell 모델로 생성된 이미지 생성 이력을 탐색합니다.

Recraft V3 SVG 모델로 생성된 SVG 이미지 생성 이력을 탐색합니다.

모든 Replicate 예측(predictions) 이력을 탐색합니다.

Claude Desktop의 슬래시 메뉴(/)와 Cursor의 @ 팔레트에 나타나는 큐레이션된 템플릿입니다. 각 템플릿은 합리적인 기본값(defaults)을 채운 뒤 관련 생성 도구로 작업을 위임합니다.

프롬프트 (Prompt)설명 (Description)인자 (Arguments)
logo브랜드/제품 로고brand, style?, palette?
portrait실사 초상화subject, mood?, lens?
svg-icon단일 개념 벡터 아이콘concept, style?
product-shot스튜디오 제품 사진product, surface?
isometric-diagram아이소메트릭 기술 일러스트레이션subject, emphasis?

모든 generate_* 도구는 사람이 읽을 수 있는 content (텍스트 + 이미지 블록)와 도구의 outputSchema와 일치하는 기계가 읽을 수 있는 structuredContent를 모두 반환합니다.

도구structuredContent 형태
generate_image{ url, prompt, format, aspect_ratio, seed? }
generate_svg{ url, prompt, size, style, svg? }
generate_multiple_images{ images: [{ url, prompt }], format, aspect_ratio }
generate_image_variants{ base_prompt, variation_mode, variants: [{ variant_index, url, prompt_used, seed? }], format, aspect_ratio }

MCP 구조화된 출력(structured output)을 이해하는 클라이언트는 산문(prose)을 구문 분석할 필요 없이 URL과 메타데이터를 직접 소비할 수 있습니다.

변수필수 여부용도
REPLICATE_API_TOKENReplicate용 API 토큰입니다. 누락된 경우 서버가 즉시 종료됩니다.
REPLICATE_MODEL_ALLOWLIST아니오run_replicate_model을 제한하는 쉼표로 구분된 owner/name 항목입니다. 설정하지 않으면 모든 모델이 허용됩니다. 빈 값으로 설정하면 모두 거부(fail-closed)됩니다. 이 값은 프로세스 시작 시 한 번 평가되므로, MCP 클라이언트의 env 블록에 설정해야 합니다 (나중에 dotenv로 로드하는 방식으로는 안 됩니다).
  • 저장소 복제:
git clone https://github.com/awkoy/replicate-flux-mcp.git
cd replicate-flux-mcp
  • 의존성 설치:

npm install

  • TypeScript 워처 시작:

npm run watch

  • 프로젝트 빌드:

npm run build

  • MCP Inspector를 사용하여 서버 스모크 테스트:

npm run inspector

  • 클라이언트에 연결:
{
"mcpServers": {
"image-generation-mcp": {
...

이 프로젝트는 현재 자동화된 테스트 스위트가 없습니다. 검증은 다음을 통해 수행됩니다:

npm run build
— TypeScript 타입 체크가 대부분의 회귀(regression)를 포착합니다.
npm run inspector
— 빌드된 바이너리를 공식 MCP Inspector를 통해 도구, 리소스 및 프롬프트에 대한 엔드투엔드 스모크 테스트를 수행합니다.

적절한 테스트 프레임워크(예: Vitest + MCP stdio 클라이언트 하네스)를 추가하는 기여는 환영합니다.

Model Context Protocol SDK - 도구 및 리소스 관리를 위한 핵심 MCP 기능
Replicate API - 최첨단 AI 이미지 생성 모델에 대한 액세스 제공
TypeScript - 타입 안정성 (Type safety)을 보장하고 현대적인 JavaScript 기능 활용
Zod - 견고한 API 상호작용을 위한 런타임 타입 검증 (Runtime type validation) 구현

서버는 src/config/index.ts에 있는 CONFIG 객체를 수정하여 구성할 수 있습니다:

export const CONFIG = {
serverName: "replicate-flux-mcp",
serverVersion: "0.4.0",
...

modelAllowlist는 프로세스 시작 시 REPLICATE_MODEL_ALLOWLIST로부터 한 번 평가됩니다. 이를 변경한 후에는 서버를 재시작하십시오.

  • 환경 변수에 REPLICATE_API_TOKEN이 올바르게 설정되었는지 확인하십시오.

  • Replicate API를 직접 테스트하여 토큰이 유효한지 확인하십시오.

  • 모델에는 특정 프롬프트를 차단할 수 있는 내장된 안전 필터 (Safety filter)가 있습니다.

  • 잠재적으로 문제가 될 수 있는 콘텐츠를 피하기 위해 프롬프트를 수정해 보십시오.

  • 더 큰 이미지나 사용량이 많은 서버의 경우, 설정에서 pollingAttempts 또는 pollingInterval을 늘려야 할 수도 있습니다.

  • 기본 설정은 대부분의 사용 사례에서 작동해야 합니다.

기여는 언제나 환영합니다! 기여하려면 다음 단계를 따르십시오:

  • 저장소(Repository)를 포크(Fork)합니다.
  • 기능 브랜치를 생성합니다 (git checkout -b feature/amazing-feature).
  • 변경 사항을 커밋합니다 (git commit -m 'Add some amazing feature').
  • 브랜치에 푸시합니다 (git push origin feature/amazing-feature).
  • 풀 리퀘스트(Pull Request)를 생성합니다.

기능 요청이나 버그 보고는 GitHub 이슈(Issue)를 생성해 주세요. 이 프로젝트가 마음에 드신다면 저장소에 스타(Star)를 눌러주세요!

이 프로젝트는 MIT 라이선스(MIT License) 하에 라이선스가 부여됩니다 - 자세한 내용은 LICENSE 파일을 참조하십시오.

  • Model Context Protocol 문서
  • Replicate API 문서
  • Flux Schnell 모델
  • Recraft V3 SVG 모델
  • MCP TypeScript SDK
  • Smithery 문서
  • Glama.ai MCP 서버들
다중 프롬프트프롬프트 변형

다음은 도구를 사용하는 몇 가지 예시입니다:

서로 다른 프롬프트를 사용하여 한 번에 여러 개의 서로 다른 이미지를 생성합니다:

{
"prompts": [
"A red sports car on a mountain road",
...

시드 (seeds)를 사용하여 동일한 개념에 대한 다양한 해석을 생성합니다:

{
"prompt": "A futuristic city skyline at night",
"num_variants": 4,
...

또는 프롬프트 수정자 (prompt modifiers)를 사용하여 스타일 변형을 탐색합니다:

{
"prompt": "A character portrait",
"prompt_variations": [
...

Yaroslav Boiko가 ❤️를 담아 만들었습니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0