Skip to main content
Glama

OpenAI Image MCP

Tiny remote MCP server for OpenAI image generation, designed to be easy to deploy on Render.

What this is

This project exposes a remote MCP endpoint at /mcp with one main tool:

  • generate_image: generate one or more images from a prompt using OpenAI.

  • server_info: simple read-only check of the configured model and whether the API key is present.

It reads OPENAI_API_KEY from Render environment variables.

Important model note

This project defaults to:

  • OPENAI_IMAGE_MODEL=gpt-image-1

That is a likely safe default, not a guaranteed final recommendation. OpenAI image model names can change over time. If you already know the exact model you want, set OPENAI_IMAGE_MODEL on Render to that value instead.

Files

  • server.js - the remote MCP server

  • package.json - Node package config

  • render.yaml - optional Render blueprint

  • Procfile - simple process declaration

  • .gitignore

  • README.md

Tool interface

generate_image

Inputs:

  • prompt (required, string)

  • size (optional): 1024x1024, 1536x1024, 1024x1536, auto

  • quality (optional): auto, low, medium, high

  • background (optional): auto, opaque, transparent

  • output_format (optional): png, webp, jpeg

  • moderation (optional): auto, low

  • n (optional, 1-4)

  • user (optional string)

Output:

  • a text summary

  • one inline MCP image item per generated image when OpenAI returns base64 data

  • a short JSON text block per image with metadata like revised_prompt

Deploy on Render

Option A: easiest manual deploy

  1. Put this folder in a GitHub repo.

  2. Log into Render.

  3. Create a New Web Service.

  4. Connect the GitHub repo.

  5. Use these settings:

    • Runtime: Node

    • Build Command: npm install

    • Start Command: npm start

  6. Add environment variable:

    • OPENAI_API_KEY = your OpenAI API key

  7. Optional environment variable:

    • OPENAI_IMAGE_MODEL = gpt-image-1

  8. Deploy.

  9. After deploy, note your service URL, for example:

    • https://your-app-name.onrender.com/mcp

Option B: Render Blueprint

If you prefer, commit render.yaml and create the service from that blueprint. You will still need to set OPENAI_API_KEY manually because secrets should not live in the repo.

Quick checks after deploy

Open these in a browser:

  • https://your-app-name.onrender.com/

  • https://your-app-name.onrender.com/health

/health should return JSON and show hasOpenAIKey: true after you add the environment variable.

How Sand should add this remote MCP

After Render is live, Sand should add the remote MCP server URL:

  • MCP URL: https://your-app-name.onrender.com/mcp

If Sand asks for a remote MCP endpoint, use the /mcp URL exactly.

Local run (optional)

npm install
OPENAI_API_KEY=your_key_here npm start

Then the MCP endpoint is:

  • http://localhost:3000/mcp

Notes and limitations

  • This is intentionally tiny and simple.

  • It does not store files or prompts.

  • It returns inline image content from OpenAI base64 output.

  • Transparent backgrounds only work on some image models and formats.

  • Larger n values can increase cost quickly.

  • If OpenAI changes supported model names or parameter rules, update OPENAI_IMAGE_MODEL or the tool schema accordingly.