Hosted Replicate-MCP

Zweiter hosted MCP nach mcp-vf-hosted. Wrappt replicate (lokales mcp-replicate als stdio-Subprocess) hinter Scalekit-OAuth (EU), VF-Brand-Lock und Modell-Whitelist. Dient Open WebUI VF (vf-nova) und claude.ai Pro Custom Connectors als zentraler Image/Video-Gen-Endpunkt fuer Vibe Factory.

Wofuer

Use-CaseLayer-ToolDefault-Modell
Foto-real Hero, B-Rollcreate_imageFlux 2 Pro
Text-im-Bild (Speaker-Card, Poster)create_text_imageIdeogram V3 Quality
Vektor-Logo / Icon (SVG-Output)create_svg_logoRecraft V4 SVG
Variante eines bestehenden Bildscreate_image_from_referenceFlux Kontext Pro
Video (5-10s)create_videoKling 2.5 Turbo Pro / Veo 3 Fast / Wan 2.5

VF-Brand-Lock auf Default eingeschaltet — injiziert Neongelb (#C8FF62) + Anthrazit (#1a1a1a) + Anti-Slop-Snippet in jeden Prompt. Konsistent zu vf-nova System-Prompt v3.0.

Architektur

claude.ai Pro / Open WebUI VF (vf-nova)
    | OAuth 2.1 (Scalekit EU) + JWT
    v
Cloudflare Edge (TLS, WAF, Frankfurt PoP)
    | replicate.agenticventures.de
    v
Cloudflare Tunnel (Sidecar im Fargate-Task, kein Public-Ingress am Origin)
    v
AWS Fargate Task (av-production, eu-central-1)
    +-- Container 1: cloudflared
    +-- Container 2: vf-replicate (FastMCP)
        +-- ScalekitProvider (JWT-Validation, JWKS-Cache)
        +-- GuardMiddleware (Rate-Limit + Modell-Whitelist + Audit + Kill-Switch)
        +-- ToolWhitelistMiddleware (10 sichtbare Tools statt 35)
        +-- Layer-Tools: create_image / _text_image / _svg_logo / _from_reference / _video
        +-- Slash-Prompts: /speaker_card, /save_the_date, /social_post
        +-- create_proxy(stdio) -> mcp-replicate Subprocess -> api.replicate.com

Modell-Whitelist

Source of Truth: ~/source/mcps/mcp-replicate-hosted/src/mcp_replicate_hosted/config.py.

Aktuell whitelisted (Mai 2026):

KategorieModelle
Foto-Realflux-2-pro, flux-1.1-pro, flux-1.1-pro-ultra, flux-schnell
Brand-Asset + Logonano-banana-2
Illustrationrecraft-v4
Vektor / SVGrecraft-v4-svg
Text-im-Bildideogram-v3-quality, ideogram-v3-turbo
Image-Variantflux-kontext-pro
Volumen-Mockupseedream-4.5
Videokling-v2.5-turbo-pro, wan-2.5-i2v-fast, veo-3-fast, seedance-2.0-fast

Erweiterung: PR gegen config.py mit Begruendung + Cost-Estimate, dann CDK-Deploy. Kein stilles Flexen via env-var ohne Spur in Git-History.

Spending-Cap

Replicate hat keine API fuer Spending-Cap. Manuell setzen: https://replicate.com/account/billing Spending limit 50 (50% Erreichen) an Marvin.

Zusaetzliche Layer:

  • GuardMiddleware Rate-Limit (60/min, 1000/h pro Subject-Hash)
  • Modell-Whitelist blockt Modelle ueber $0.20/Bild im Default-Set
  • CloudWatch-Alarm auf model_not_whitelisted-Audit-Events (>5/h = Alarm)

MCP-Tool-Whitelist fuer Open WebUI VF

Aufrufbar machen via Admin-UI Tools Add MCP Server:

ToolSichtbar fuer Nova?
create_imageja
create_text_imageja
create_svg_logoja
create_image_from_referenceja
create_videoja
replicate_get_predictionja
replicate_wait_for_predictionja
replicate_cancel_predictionja
replicate_list_predictionsja
search_toolsja
alles andere von mcp-replicate (~25 Tools)nein, via search_tools discoverable

Total 10 sichtbare Tools — unter dem 12er-Bedrock-ListTools-Cap.

Hosting + Deploy

KomponenteStatus (2026-05-19)
Repo lokaldone, 39 pytest gruen, ruff clean
ECR-Repo mcp-replicate-hosted in av-productionangelegt 2026-05-19
Secrets Manager mcp-replicate-hosted/upstream-tokensoffen (Marvin: JSON mit REPLICATE_API_TOKEN)
Secrets Manager mcp-replicate-hosted/cloudflared-tokenoffen (nach Tunnel-Create)
Cloudflare-Tunnel mcp-replicate-hostedoffen (CF-Dashboard oder mcp-cloudflare API)
Scalekit-Resource (EU) https://replicate.agenticventures.de/mcpoffen (Marvin: Scalekit-Dashboard)
DNS-Record replicate.agenticventures.de <tunnel-id>.cfargotunnel.comoffen
Docker-Image gebaut + ECR-Pushoffen
CDK-Stack deployedoffen
Smoke-Tests liveoffen
VF-AVV-Update Replicate-Subprozessoroffen (Andre + Christoph)

Deploy-Anleitung: ~/source/mcps/mcp-replicate-hosted/README.md. Pattern-Doku: mcp-hosting-fargate-tunnel.

Incident-Response

SymptomErste Aktion
URL geleaktScalekit-Session revoken
Cost-SpikeEMERGENCY_DISABLE=true via ECS-Force-Deploy + Spending-Cap in Replicate-Dashboard auf $0
401-Rate explodiertCloudflare-Rule fuer IP-/Geo-Block
Tool-Bloat in NovaMCP_REPLICATE_HOSTED_TOOL_WHITELIST einkuerzen
Replicate-Token expiredSecret rotieren + ECS-Force-Deploy

Cost-Erwartung

  • Hosting: ~0 CF
  • Replicate-Pass-Through: ~0.05 Mix-Avg = ~$24, plus Video bei Bedarf)
  • Cap: $100/Mo hartes Spending-Limit im Dashboard