Skip to main content
Glama

PicX MCP Server

Ein FastMCP 4 Server, der PicX Studio Bild- und Videogenerierung jedem MCP-Client über sitzungsloses Streamable HTTP bereitstellt.

Gehosteter Endpunkt: https://mcp.picxstudio.com/mcp ⚠️ Noch nicht bereitgestellt. Der Dienst läuft derzeit lokal; der Produktionsbetrieb ist geplant (siehe PLAN-MCP Phase 6).

Warum FastMCP 4

Das Thema von FastMCP 4 ist „zustandsloser Transport ohne zustandslosen Anwendungscode“. Die von FastMCP 4 anvisierte Protokollrevision — 2026-07-28 — entfernt die Sitzungsaffinität vollständig. Jede Replik hinter einem gewöhnlichen Load Balancer kann jede Anfrage bedienen. Keine Sticky Sessions, keine Cookie-Weiterleitung, kein gemeinsamer In-Memory-Zustand zwischen Anfragen.

Das ist für uns nicht optional: MCP-Clients (Cursor, Claude Code) verwenden intern fetch() und leiten Set-Cookie-Header nicht weiter, daher kann Sticky-Session-Lastverteilung unabhängig von der LB-Konfiguration nicht funktionieren. Der stateless_http=True-Modus von FastMCP 4 ist der einzige gangbare Weg zur horizontalen Skalierung.

FastMCP 4 verhandelt außerdem beide Protokollzeitalter (Legacy-SSE und modernes Streamable HTTP) aus einer einzigen Bereitstellung, sodass ältere Clients nicht auf der Strecke bleiben.

Related MCP server: LLM Wiki Streamable HTTP MCP Server

Tool-Status

#

Tool

Status

Notizen

1

picx_generate_image

✅ Funktioniert

Inline, 5–20 s

2

picx_edit_image

✅ Funktioniert

Erfordert zuerst einen Upload (die API lehnt Data-URIs ab)

3

picx_generate_video

✅ Funktioniert

Hintergrundtask (task=True); nur Text-/Bild-/Referenzmodi

4

picx_get_generation

✅ Funktioniert

Generierung anhand der ID abfragen

5

picx_upload_asset

✅ Funktioniert

Gibt eine CDN-URL zurück, die von Bearbeitungswerkzeugen verwendet werden kann

6

picx_list_assets

✅ Funktioniert

7

picx_delete_asset

✅ Funktioniert

8

picx_list_models

✅ Funktioniert

Zwischengespeichert (5 Min.)

9

picx_search_templates

✅ Funktioniert

Katalog mit 50K+ Einträgen; zwischengespeichert

10

picx_get_template

✅ Funktioniert

11

picx_get_account

✅ Funktioniert

12

picx_get_usage

✅ Funktioniert

13

picx_list_generations

🔴 Blockiert

GET /v1/generations gibt 404 zurück – Endpunkt noch nicht veröffentlicht

Bekannte Einschränkungen

  • Videomodi: Es sind nur die Modi text, image und reference verfügbar. Die Modi frames, extend, lipsync und edit erfordern Felder, die das Parameterschema ohne dedizierte Validierung nicht sicher serialisieren kann – ihre Bereitstellung würde verwirrende 422-Fehler der API hervorrufen.

  • picx_list_generations: Implementiert und bereit zur Aktivierung, aber blockiert, bis das Backend GET /v1/generations ausliefert.

  • Tariflimits: Die Sichtbarkeit von Rate-Limits pro Tarif und Tageslimits ist möglicherweise nicht verfügbar, bis der Konto-Endpunkt sie bereitstellt.

  • OAuth: Noch nicht angebunden (Phase 5). Die Authentifizierung per API-Schlüssel funktioniert heute.

Schnellstart

# Clone and install
git clone https://github.com/Type-Think-AI/picx-mcp.git
cd picx-mcp
uv sync

# Configure
cp .env.example .env
# Edit .env — set PICX_API_KEY to your key from https://ai.picxstudio.com/api

# Run
python -m picx_mcp

Der Server startet unter http://localhost:8000. Der MCP-Endpunkt befindet sich unter /mcp, der Health-Check unter /health.

Client-Konfiguration

Claude Desktop

{
  "mcpServers": {
    "picx": {
      "url": "http://localhost:8000/mcp",
      "headers": {
        "Authorization": "Bearer pxsk_your_api_key_here"
      }
    }
  }
}

Claude Code

{
  "mcpServers": {
    "picx": {
      "url": "http://localhost:8000/mcp",
      "headers": {
        "Authorization": "Bearer ${PICX_API_KEY}"
      }
    }
  }
}

Cursor

{
  "mcpServers": {
    "picx": {
      "url": "http://localhost:8000/mcp",
      "headers": {
        "Authorization": "Bearer ${PICX_API_KEY}"
      }
    }
  }
}

VS Code (Copilot)

{
  "mcp": {
    "servers": {
      "picx": {
        "type": "http",
        "url": "http://localhost:8000/mcp",
        "headers": {
          "Authorization": "Bearer ${PICX_API_KEY}"
        }
      }
    }
  }
}

Ersetzen Sie localhost:8000 durch mcp.picxstudio.com, sobald der gehostete Dienst live ist.

Authentifizierung

Zwei Authentifizierungsebenen, ein Durchsetzungspunkt:

API Key (pxsk_…)

OAuth (Phase 5, noch nicht verfügbar)

Wer

Entwickler, CI, skriptgesteuerte Agenten, Selbst-Hoster

Normale Benutzer auf gehosteten Clients

Bezugsquelle

ai.picxstudio.com/api

Ein-Klick-Zustimmungsbildschirm

Funktionsweise

Schlüssel wird pro Anfrage weitergeleitet – der Server speichert keine Anmeldeinformationen

OAuth wird zu einem Sitzungsschlüssel aufgelöst

Widerruf

Schlüssel löschen

Gewährung widerrufen – echte Schlüssel bleiben unberührt

Beide Pfade münden in dieselbe /v1-Durchsetzung: Scopes, Rate Limits, tägliches Kreditlimit, Anfrageprotokollierung. Es gibt keinen schwächeren zweiten Pfad.

Der MCP-Server speichert niemals eine Anmeldeinformation. Er leitet den API-Schlüssel des Aufrufers (oder den aufgelösten Sitzungsschlüssel) an /v1 weiter. Ein Schlüssel, den er nie speichert, ist ein Schlüssel, den er nicht preisgeben kann.

Architektur

MCP Client ──▶ PicX MCP Server ──▶ api.picxstudio.com/v1 ──▶ Provider + Storage
                 (this repo)         (owns everything below)

Dieser Server ist eine Übersetzungsschicht. Er wandelt MCP-Tool-Aufrufe in /v1-API-Aufrufe um und übersetzt Ergebnisse zurück in Ressourcenlinks. Er tut absichtlich NICHT:

  • Einen Modellanbieter direkt aufrufen. /v1 besitzt die Anbieterintegration.

  • Geld anfassen. /v1 verwaltet Kreditabzug, Preisgestaltung, Rabatte, Idempotenz und Erstattung bei Anbieterfehlern.

  • Medien speichern. Ergebnisse sind dauerhafte CDN-URLs; nichts wird zwischengespeichert oder weitergeleitet.

  • Sitzungszustand verwalten. stateless_http=True bedeutet, dass jede Anfrage in sich abgeschlossen ist.

Warum nicht Anbieter direkt aufrufen? /v1 führt bereits aus: Authentifizierung → Rate Limit → Tageslimit → Scope-Prüfung → Preis aus Konfiguration → Rabatt anwenden → Idempotenzprüfung → Kredite abziehen → Anbieter aufrufen → Erstattung bei Fehler → Anfrageprotokoll schreiben. Jede Nachimplementierung hiervon würde irgendwann abweichen, und eine Abweichung in der Geldlogik ist ein Abrechnungsfehler — still und dauerhaft vertrauenszerstörend.

Multi-Replica-Tests

Die gesamte These hinter der Wahl von FastMCP 4 ist, dass keine Sitzungsaffinität erforderlich ist. Um es lokal zu beweisen:

docker compose up --scale app=2

Dies startet zwei Server-Repliken hinter einem Round-Robin-Proxy sowie eine Valkey-Instanz. Der Test, der die Architektur validiert:

  1. Starten Sie einen interaktiven Tool-Aufruf auf Replik A (löst InputRequiredResult aus)

  2. Setzen Sie die Interaktion fort – die Anfrage landet auf Replik B

  3. Sie ist erfolgreich, weil REQUEST_STATE_KEY gemeinsam genutzt wird

Wenn REQUEST_STATE_KEY nicht gesetzt ist (oder sich zwischen Repliken unterscheidet), schlagen interaktive Runden mit einem Zustandsvalidierungsfehler fehl. Das ist beabsichtigt – es macht Fehlkonfiguration laut statt subtil falsch.

Umgebungsvariablen

Variable

Erforderlich

Beschreibung

PICX_API_BASE

Nein (Standard: https://api.picxstudio.com/v1)

PicX-API-Wurzel. Muss auf /v1 enden.

REQUEST_STATE_KEY

Ja

≥32 Bytes, byte-identisch über alle Repliken. Schützt den Zustand interaktiver Runden.

REDIS_URL

Ja

Valkey/Redis-URL. Bildet die Grundlage für Tasks, Antwort-Cache und OAuth-Speicher.

SESSION_CREDIT_CEILING

Nein (Standard: 2000)

Maximale Kredite, die eine MCP-Sitzung ausgeben darf, unabhängig vom Tageslimit des Kontos.

CONFIRM_CREDIT_THRESHOLD

Nein (Standard: 200)

Oberhalb davon gibt das Tool input_required zurück, um vor der Ausgabe eine Bestätigung einzuholen.

JWT_SIGNING_KEY

Phase 5

Expliziter JWT-Schlüssel. Ohne ihn werden Token ungültig, wenn das OAuth-Clientgeheimnis rotiert.

STORAGE_ENCRYPTION_KEY

Phase 5

Fernet-Schlüssel. Ohne ihn werden vorgelagerte OAuth-Tokens im Klartext gespeichert.

GOOGLE_CLIENT_ID

Phase 5

Google-OAuth-Client-ID.

GOOGLE_CLIENT_SECRET

Phase 5

Google-OAuth-Clientgeheimnis.

PICX_MCP_BASE_URL

Phase 5 (Standard: https://mcp.picxstudio.com)

Öffentliche URL für OAuth-Rückrufe.

Ehrliche Grenzen

  • Jede Generierung kostet Kredite. Dieser Server umgeht keine Preisgestaltung – genau das ist der Punkt.

  • Obergrenze pro Sitzung (Standard: 2000 Kredite) begrenzt einen per Prompt injizierten Kreditabfluss. Dies ist unabhängig vom Tageslimit des Kontos (13.000/Tag).

  • Bestätigungsaufforderung oberhalb des Schwellenwerts (Standard: 200 Kredite) vor der Ausgabe.

  • Keine Offline-/lokale Generierung. Jede Generierung erreicht die PicX-API über das Netzwerk.

  • Video ist asynchron. Selbst wenn task=True das Polling verbirgt, dauert die Generierung Minuten – ein Agent muss warten.

  • Rate Limits gehören der API, nicht diesem Server: standardmäßig 60 Anfragen/Min., 10.000 Anfragen/Tag. Der MCP-Server fügt kein zusätzliches Limit hinzu.

  • Der Server befindet sich in der Beta. FastMCP 4 ist 4.0.0b3. Rechnen Sie mit rauen Kanten.

Lizenz

MIT

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    MCP server for Pixmax API enabling generation of images, video, text, audio, and 3D across dozens of models like Midjourney, Kling, and ElevenLabs.
    10
    MIT

View all related MCP servers

Related MCP Connectors

  • Generate images with any major model — one API key, one prepaid balance, one MCP.

  • MCP server for the FFmpeg Micro video transcoding API — create, monitor, download transcodes.

  • A paid remote MCP for HyperFrames, built to return verdicts, receipts, usage logs, and audit-ready J

View all MCP Connectors

Latest Blog Posts

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/Type-Think-AI/picx-mcp'

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