
An MCP server (and CLI) that generates images through the ChatGPT web backend and assembles them into full-bleed PowerPoint decks (brand-aware and reference-styled).
概览
An MCP server (and CLI) that generates images through the ChatGPT web backend and assembles them into full-bleed PowerPoint decks (brand-aware and reference-styled). - - Using it . Your account may be rate-limited or . - Provided . You assume all risk. If you are not comfortable with these terms, do not use this software. - Generates images from text prompts at a chosen aspect ratio (16:9, 1:1, 3:4, 9:16, or raw WxH). - prompts via your ChatGPT account's text model before drawing (mirrors what the web UI does silently). Three slide styles: auto, slide, fintech. - Builds full-bleed PowerPoint (.pptx) decks from a set of images. - : auto-detects brand colors from your logo, generates slides in those colors, and composites your logo onto every slide. - : matches the design style and palette of a reference image (without copying its text/content). - Works as an MCP server across over stdio. - Single-account, fully local auth — your token never leaves your machine.
README
以下为原文 README 节选,完整内容请查看原文。
chatgpt-image-mcp
An MCP server (and CLI) that generates images through the ChatGPT web backend and assembles them into full-bleed PowerPoint decks (brand-aware and reference-styled).
⚠️ Disclaimer
This project is provided for personal learning and research only. It reverse-engineers the ChatGPT web backend:
- Not affiliated with, endorsed by, or sponsored by OpenAI.
- Using it violates OpenAI’s Terms of Service. Your account may be rate-limited or permanently banned.
- Use a throwaway / secondary account — never your important one.
Provided as-is, with no warranty. You assume all risk. If you are not comfortable with these terms, do not use this software.
What it does
- Generates images from text prompts at a chosen aspect ratio (16:9, 1:1, 3:4, 9:16, or raw
WxH). - Auto-enhances prompts via your ChatGPT account’s text model before drawing (mirrors what the web UI does silently). Three slide styles:
auto,slide,fintech. - Builds full-bleed PowerPoint (
.pptx) decks from a set of images. - Branded decks: auto-detects brand colors from your logo, generates slides in those colors, and composites your logo onto every slide.
- Styled decks: matches the design style and palette of a reference image (without copying its text/content).
- Works as an MCP server across Claude Code, Codex, and Antigravity over stdio.
- Single-account, fully local auth — your token never leaves your machine.
Requirements
- uv — handles Python and dependencies (you do not need to install Python separately;
uvfetches Python 3.12 automatically). - git
- A ChatGPT account (use a secondary one — see disclaimer)
Install uv (one time per machine):
# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
Install
One-click installer (recommended)
After cloning, run the installer — it installs uv if missing, syncs deps, walks you through login, and registers the MCP server:
git clone https://github.com/andyluu98/chatgpt-image-mcp.git
cd chatgpt-image-mcp
# Windows (PowerShell) — or right-click install.ps1 -> Run with PowerShell
powershell -ExecutionPolicy Bypass -File install.ps1
# macOS / Linux
bash install.sh
Manual install
git clone https://github.com/andyluu98/chatgpt-image-mcp.git
cd chatgpt-image-mcp
uv sync
uv run cgimg login
# A browser opens -> log into ChatGPT -> you land on a platform.openai.com page (it may say "Oops").
# Copy the FULL callback URL from the address bar, then run:
uv run cgimg login --callback ""
The repo is private — the cloning machine must be signed into a GitHub account with access (e.g.
gh auth login, or git credentials forandyluu98).
Why login is two steps
安装
This server does not publish a one-line install command.
Open the repository installation guide 新手?先看 mcpskill.org 教程 →配置
{
"mcpServers": {
"chatgpt-image": {
"command": "uv",
"args": ["run", "cgimg-mcp"],
"cwd": "<absolute path to the cloned repo>"
}
}
}