Skip to main content
Glama
chatgpt-imagegen-mcp
by Yormede

chatgpt-imagegen-mcp

Serveur MCP (stdio, Python ≥ 3.10, sans dépendance pour le serveur) qui génère des images depuis Claude Desktop, Codex ou tout client MCP, avec deux backends :

Backend

Source

Entrée

Particularités

codex (défaut)

ton abonnement ChatGPT, via le routeur local codex-router

texte + 5 images de référence max

modèle gpt-image-2, quota imagegen_premium (~80 images / 24 h en plan Plus)

francestudent

ton compte France Student IA, via francestudent-mcp

texte seul, 1 à 4 images

modèle gpt-image-2-codex, consomme le budget de chat France Student

auto

essaie codex, bascule sur francestudent si quota épuisé / erreur 401-5xx

Aucune clé API OpenAI n'est nécessaire.

Chaîne d'appel (backend codex)

Client MCP ──stdio──► mcp_server.py ──► imagegen.py
        POST http://127.0.0.1:4202/v1/images/{generations|edits}
              (Bearer = jeton ChatGPT lu dans ~/.codex/auth.json)
                                 ▼
codex-router (127.0.0.1:4202) ── relaie ──► https://chatgpt.com/backend-api/codex/images/…
                                 ▼
                   { data: [ { b64_json } ] } ──► PNG local

Le routeur vérifie que le jeton présenté est celui de la session Codex puis relaie la requête.

Le backend francestudent lance node francestudent-mcp/src/server.mjs comme sous-processus et lui parle en MCP (francestudent_client.py).

Related MCP server: io.github.pvliesdonk/image-generation-mcp

Installation

git clone https://github.com/Yormede/chatgpt-imagegen-mcp
pip install -r requirements.txt        # Pillow, uniquement pour grid.py
# backend codex : Codex connecté (`codex login`) + codex-router lancé sur le port 4202
# backend francestudent : francestudent-mcp cloné à côté (ou FS_MCP_SERVER) et `npm run login` fait

Claude Desktop (claude_desktop_config.json) :

"imagegen": {
  "command": "python",
  "args": ["C:\\chemin\\vers\\chatgpt-imagegen-mcp\\mcp_server.py"]
}

Variables d'environnement

Variable

Défaut

Rôle

IMAGEGEN_ROUTER

http://127.0.0.1:4202

adresse du routeur Codex

CODEX_HOME

~/.codex

dossier contenant auth.json

IMAGEGEN_OUT_DIR

~/Downloads

sortie par défaut (codex)

FS_MCP_SERVER

../francestudent-mcp/src/server.mjs

serveur France Student

FS_NODE

node du PATH

exécutable Node

FS_OUTPUT_DIR

~/Pictures/francestudent

sortie par défaut (francestudent)

Outils MCP

Outil

Rôle

generate_image

prompt, backend (codex/francestudent/auto), references (≤ 5, codex), output_path, size, quality, background, count (francestudent), aspect, agent, return_image

imagegen_quota

quota des deux backends

imagegen_status

santé du routeur, expiration du jeton ChatGPT, présence du MCP France Student

francestudent_agents

agents France Student disponibles

Prompt prêt à coller dans les instructions d'un agent : AGENT_PROMPT.md.

CLI

python imagegen.py --health
python imagegen.py --prompt "Une pomme rouge sur fond blanc" --out pomme.png
python imagegen.py --prompt-file prompt.txt --ref a.jpg --ref b.jpg --out resultat.png
python quota.py                     # état du quota codex (state/)
python grid.py --prompt-file p.txt --cols 2 --rows 2 --name test --out-dir sorties   # planche N cases puis découpe

Limites mesurées (backend codex, novembre 2026)

  • 5 images de référence maximum par appel (erreur 400 au-delà) ; 1 image de sortie par appel.

  • size=auto : 1672×941 observé en 16:9, 1312×1199 en carré. Qualité low en génération simple, medium avec références. 16 s sans référence, 55–65 s avec 5 références.

  • Quota image séparé du quota modèle Codex ; en-têtes x-codex-primary-used-percent, x-codex-primary-reset-at, x-codex-plan-type, enregistrés dans state/. Un dépassement renvoie 429 avec resets_at ; le client s'arrête sans réessayer.

  • Modération à l'entrée et à la sortie (400 moderation_blocked), non déterministe : une nouvelle tentative identique peut passer.

Dépannage

Symptôme

Cause

Action

401 native OpenAI route requires an active ChatGPT/Codex session

jeton absent/expiré

codex login status, puis relancer

400 moderation_blocked

modération

réessayer, puis reformuler

429

quota image

attendre resets_at ou backend=auto

routeur injoignable

codex-router arrêté

démarrer le routeur

SERVER_MISSING / SESSION_EXPIRED (francestudent)

MCP France Student absent ou session expirée

vérifier FS_MCP_SERVER, npm run login

Avertissement

Projet personnel non officiel, sans lien avec OpenAI ni France Student. Il utilise tes propres sessions (ChatGPT, France Student) pour un usage personnel : ne partage pas auth.json ni session.json, n'expose pas le port 4202, ne revends pas l'accès, et respecte les conditions d'utilisation de chaque service. Les quotas sont utilisés, pas contournés.

Licence

MIT

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers