Skip to main content
Glama

DALL-E 3 MCP Server

by chrisurf
MIT License
168
1

DALL-E 3 MCP Server

CI/CD Pipeline npm version License Node.js Version

A Model Context Protocol (MCP) server that provides DALL-E 3 image generation capabilities. This server allows LLMs to generate high-quality images using OpenAI's DALL-E 3 model through the standardized MCP interface.

Features

  • 🎨 High-Quality Image Generation: Uses DALL-E 3 for state-of-the-art image creation
  • 🔧 Flexible Configuration: Support for different sizes, quality levels, and styles
  • 📁 Automatic File Management: Handles directory creation and file saving
  • 🛡️ Robust Error Handling: Comprehensive error handling with detailed feedback
  • 📊 Detailed Logging: Comprehensive logging for debugging and monitoring
  • 🚀 TypeScript: Fully typed for better development experience
  • 🧪 Well Tested: Comprehensive test suite with high coverage

Installation

npx imagegen-mcp-d3

Using NPM

npm install -g imagegen-mcp-d3

From Source

git clone https://github.com/chrisurf/imagegen-mcp-d3.git cd imagegen-mcp-d3 npm install npm run build npm start

Prerequisites

  • Node.js: Version 18.0.0 or higher
  • OpenAI API Key: You need a valid OpenAI API key with DALL-E 3 access

Configuration

Environment Variables

Set your OpenAI API key as an environment variable:

export OPENAI_API_KEY="your-openai-api-key-here"

Or create a .env file in your project root:

OPENAI_API_KEY=your-openai-api-key-here

Usage

With Claude Desktop

Add this server to your Claude Desktop configuration:

{ "mcpServers": { "imagegen-mcp-d3": { "command": "npx", "args": ["imagegen-mcp-d3"], "env": { "OPENAI_API_KEY": "your-openai-api-key-here" } } } }

With Other MCP Clients

The server implements the standard MCP protocol and can be used with any compatible client.

Available Tools

generate_image

Generates an image using DALL-E 3 and saves it to the specified location.

Parameters:

  • prompt (required): Text description of the image to generate
  • output_path (required): Full file path where the image should be saved
  • size (optional): Image dimensions - "1024x1024", "1024x1792", or "1792x1024" (default: "1024x1024")
  • quality (optional): Image quality - "standard" or "hd" (default: "hd")
  • style (optional): Image style - "vivid" or "natural" (default: "vivid")

Example:

{ "name": "generate_image", "arguments": { "prompt": "A serene sunset over a mountain lake with pine trees", "output_path": "/Users/username/Pictures/sunset_lake.png", "size": "1024x1792", "quality": "hd", "style": "natural" } }

Response:

The tool returns detailed information about the generated image, including:

  • Original and revised prompts
  • Image URL
  • File save location
  • Image specifications
  • File size

API Reference

Image Sizes

  • Square: 1024x1024 - Perfect for social media and general use
  • Portrait: 1024x1792 - Great for mobile wallpapers and vertical displays
  • Landscape: 1792x1024 - Ideal for desktop wallpapers and horizontal displays

Quality Options

  • Standard: Faster generation, good quality
  • HD: Higher quality with more detail (recommended)

Style Options

  • Vivid: More dramatic and artistic interpretations
  • Natural: More realistic and natural-looking results

Development

Setup

git clone https://github.com/chrisurf/imagegen-mcp-d3.git cd imagegen-mcp-d3 npm install

Available Scripts

npm run dev # Run in development mode with hot reload npm run build # Build for production npm run start # Start the built server npm run test # Run tests npm run test:watch # Run tests in watch mode npm run test:coverage # Run tests with coverage report npm run lint # Run ESLint npm run lint:fix # Fix ESLint issues npm run format # Format code with Prettier npm run typecheck # Run TypeScript type checking

Project Structure

src/ ├── index.ts # Main server implementation ├── types.ts # TypeScript type definitions └── __tests__/ # Test files └── index.test.ts # Main test suite

Running Tests

# Run all tests npm test # Run tests with coverage npm run test:coverage # Run tests in watch mode during development npm run test:watch

Error Handling

The server provides comprehensive error handling for common scenarios:

  • Missing API Key: Clear error message when OPENAI_API_KEY is not set
  • Invalid Parameters: Validation errors for required and optional parameters
  • API Errors: Detailed error messages from the OpenAI API
  • File System Errors: Handling of directory creation and file writing issues
  • Network Errors: Graceful handling of network connectivity issues

Logging

The server provides detailed logging for monitoring and debugging:

  • Request initiation and parameters
  • API communication status
  • Image generation progress
  • File saving confirmation
  • Error details and stack traces

Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

Development Workflow

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes
  4. Add tests for new functionality
  5. Ensure all tests pass: npm test
  6. Commit your changes: git commit -m 'Add amazing feature'
  7. Push to the branch: git push origin feature/amazing-feature
  8. Open a Pull Request

CI/CD

This project uses GitHub Actions for continuous integration and deployment:

  • Testing: Automated testing on multiple Node.js versions (18, 20, 22)
  • Code Quality: ESLint, Prettier, and TypeScript checks
  • Security: Dependency vulnerability scanning
  • Publishing: Automatic NPM publishing on release
  • Coverage: Local code coverage reporting

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

Changelog

See CHANGELOG.md for a detailed history of changes.

Acknowledgments

  • OpenAI for the DALL-E 3 API
  • Anthropic for the Model Context Protocol specification
  • The MCP community for tools and documentation High-performance MCP for generating images using DALL·E 3 – optimized for fast, scalable, and customizable inference workflows.

Related MCP Servers

  • A
    security
    F
    license
    A
    quality
    A Model Context Protocol server that provides an image generation tool using Templated.io, allowing users to create customized images based on templates with text and image layers.
    Last updated -
    TypeScript
    • Apple
  • -
    security
    F
    license
    -
    quality
    An MCP server that allows users to generate, edit, and create variations of images through OpenAI's DALL-E API, supporting both DALL-E 2 and DALL-E 3 models.
    Last updated -
    2
    TypeScript
  • -
    security
    A
    license
    -
    quality
    A Model Context Protocol server enabling AI assistants to generate images through OpenAI's DALL-E API with full support for all available options and fine-grained control.
    Last updated -
    14
    1
    JavaScript
    MIT License
  • -
    security
    -
    license
    -
    quality
    A TypeScript-based MCP server that lets users generate images using OpenAI's dall-e-3 model by providing a prompt and image name.
    Last updated -
    1

View all related MCP servers

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/chrisurf/imagegen-mcp-d3'

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