PicX MCP Server
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: ChatATP Studio MCP Server
Tool-Status
# | Tool | Status | Notizen |
1 |
| ✅ Funktioniert | Inline, 5–20 s |
2 |
| ✅ Funktioniert | Erfordert zuerst einen Upload (die API lehnt Data-URIs ab) |
3 |
| ✅ Funktioniert | Hintergrundtask ( |
4 |
| ✅ Funktioniert | Generierung anhand der ID abfragen |
5 |
| ✅ Funktioniert | Gibt eine CDN-URL zurück, die von Bearbeitungswerkzeugen verwendet werden kann |
6 |
| ✅ Funktioniert | |
7 |
| ✅ Funktioniert | |
8 |
| ✅ Funktioniert | Zwischengespeichert (5 Min.) |
9 |
| ✅ Funktioniert | Katalog mit 50K+ Einträgen; zwischengespeichert |
10 |
| ✅ Funktioniert | |
11 |
| ✅ Funktioniert | |
12 |
| ✅ Funktioniert | |
13 |
| 🔴 Blockiert |
|
Bekannte Einschränkungen
Videomodi: Es sind nur die Modi
text,imageundreferenceverfügbar. Die Modiframes,extend,lipsyncundediterfordern 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 BackendGET /v1/generationsausliefert.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_mcpDer 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 ( | OAuth (Phase 5, noch nicht verfügbar) | |
Wer | Entwickler, CI, skriptgesteuerte Agenten, Selbst-Hoster | Normale Benutzer auf gehosteten Clients |
Bezugsquelle | 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.
/v1besitzt die Anbieterintegration.Geld anfassen.
/v1verwaltet Kreditabzug, Preisgestaltung, Rabatte, Idempotenz und Erstattung bei Anbieterfehlern.Medien speichern. Ergebnisse sind dauerhafte CDN-URLs; nichts wird zwischengespeichert oder weitergeleitet.
Sitzungszustand verwalten.
stateless_http=Truebedeutet, 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=2Dies startet zwei Server-Repliken hinter einem Round-Robin-Proxy sowie eine Valkey-Instanz. Der Test, der die Architektur validiert:
Starten Sie einen interaktiven Tool-Aufruf auf Replik A (löst
InputRequiredResultaus)Setzen Sie die Interaktion fort – die Anfrage landet auf Replik B
Sie ist erfolgreich, weil
REQUEST_STATE_KEYgemeinsam 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 |
| Nein (Standard: | PicX-API-Wurzel. Muss auf |
| Ja | ≥32 Bytes, byte-identisch über alle Repliken. Schützt den Zustand interaktiver Runden. |
| Ja | Valkey/Redis-URL. Bildet die Grundlage für Tasks, Antwort-Cache und OAuth-Speicher. |
| Nein (Standard: 2000) | Maximale Kredite, die eine MCP-Sitzung ausgeben darf, unabhängig vom Tageslimit des Kontos. |
| Nein (Standard: 200) | Oberhalb davon gibt das Tool |
| Phase 5 | Expliziter JWT-Schlüssel. Ohne ihn werden Token ungültig, wenn das OAuth-Clientgeheimnis rotiert. |
| Phase 5 | Fernet-Schlüssel. Ohne ihn werden vorgelagerte OAuth-Tokens im Klartext gespeichert. |
| Phase 5 | Google-OAuth-Client-ID. |
| Phase 5 | Google-OAuth-Clientgeheimnis. |
| Phase 5 (Standard: | Ö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=Truedas 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
This server cannot be deployed
Maintenance
Related MCP Connectors
Create and edit images, videos, and audio through Magic Hour's hosted Streamable HTTP MCP server.
MCP server for Pixapi: check live credit pricing and balance, then generate images and video.
Public Streamable HTTP MCP gateway for XGRChain, XDaLa sessions, Explorer data and XGR standards.
Query, browse, and automate OmegaAI workspaces from any MCP client. Streamable HTTP with OAuth 2.0.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceExposes BookClaw's author workflow to MCP clients over Streamable HTTP, providing tools for managing books, projects, pipelines, and more.MIT
- FlicenseNot gradedqualityCmaintenanceExposes ChatATP Studio's backend API as MCP tools over Streamable HTTP, enabling clients to manage agents, knowledge bases, MCP connections, HTTP APIs, LLM providers, messaging platforms, and teams with forwarded authorization.-
- AlicenseNot gradedqualityCmaintenanceEnables MCP-compatible clients to generate and upscale AI images, videos, music, and sound effects, manage generation jobs, access model catalogs, and track credits.3MIT

maginary-mcpofficial
AlicenseAqualityBmaintenanceEnables MCP-compatible clients to discover Maginary's image/video generation flags, submit generation requests, and poll for results, including support for API-key and OAuth authentication.1391 PyPI1MIT