Artifex MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Artifex MCPGenerate a surreal landscape with floating islands and waterfalls"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
⚠️ UNOFFICIAL TOOL: This is an independent, community-developed MCP server. It is not affiliated with, endorsed by, or supported by Google or OpenAI. Use at your own risk.
MCP (Model Context Protocol) server for AI image generation supporting multiple providers:
Antigravity (default) - Google's Gemini 3 Pro Image model
OpenAI - DALL-E 3
Features
Multi-Provider Support: Switch between Antigravity and OpenAI with a simple parameter
Text-to-Image: Generate images from text descriptions
Image Editing: Modify existing images with text instructions (Antigravity only)
Multiple Outputs: Generate up to 4 image variations per request (Antigravity only)
Character Consistency: Session-based generation for consistent characters (Antigravity only)
Multiple Aspect Ratios: 1:1, 16:9, 9:16, 3:4, 4:3, and more
Related MCP server: Imagen MCP Server
Installation
Run directly with npx (recommended):
npx artifex-mcpOr install globally:
npm install -g artifex-mcpAuthentication
Antigravity (Default)
npx artifex-mcp --loginThis will:
Open your browser for Google OAuth
Store credentials securely in
~/.config/artifex-mcp/auth.json
OpenAI
Set the OPENAI_API_KEY environment variable:
export OPENAI_API_KEY=sk-...Usage
As an MCP Server
Add to your MCP client configuration:
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"artifex": {
"command": "npx",
"args": ["artifex-mcp"],
"env": {
"OPENAI_API_KEY": "sk-..."
}
}
}
}OpenCode:
{
"mcp": {
"artifex": {
"type": "local",
"command": ["npx", "artifex-mcp"],
"enabled": true,
"env": {
"OPENAI_API_KEY": "sk-..."
}
}
}
}Environment Variables
Variable | Description | Default |
| Default provider to use |
|
| Default model for the provider |
|
| API key for OpenAI provider | - |
Provider Selection
Use the model parameter with provider:model format:
# Use Antigravity (default)
generate_image({ prompt: "a cat" })
# Use OpenAI DALL-E 3
generate_image({ prompt: "a cat", model: "openai:dall-e-3" })
# Use a specific Antigravity model
generate_image({ prompt: "a cat", model: "antigravity:gemini-3-pro-image" })Available Tools
generate_image
Generate images from text prompts.
Parameter | Type | Required | Default | Description |
| string | Yes | - | Image description or editing instruction |
| string | No | env default | Provider and model in |
| enum | No | "1:1" | 1:1, 16:9, 9:16, 3:4, 4:3, 2:3, 3:2, 4:5, 5:4, 21:9 |
| string | No | cwd | Directory to save images |
| string | No | auto | Custom filename |
| string | No | - | Path to image for editing (Antigravity only) |
| number | No | 1 | Number of images 1-4 (Antigravity only) |
| string | No | - | For character consistency (Antigravity only) |
Examples:
# Default provider (Antigravity)
Generate a cyberpunk cityscape at night
# Using OpenAI
Generate a cyberpunk cityscape at night, model: openai:dall-e-3
# Multiple images (Antigravity only)
Generate 4 variations of a majestic dragon, aspect ratio 16:9
# Character consistency (Antigravity only)
Create a hero named Luna, session_id: lunaauth_status
Check authentication status for a provider.
Parameter | Type | Required | Description |
| string | No | Provider to check (default: antigravity) |
auth_login
Get instructions for authenticating with a provider.
auth_logout
Delete stored credentials for a provider.
quota_status
Check rate limit and quota status for a provider.
Provider Capabilities
Feature | Antigravity | OpenAI |
Text-to-Image | ✅ | ✅ |
Image Editing | ✅ | ❌ |
Multiple Images | ✅ (1-4) | ❌ (1 only) |
Sessions | ✅ | ❌ |
Aspect Ratios | ✅ | ✅ (limited) |
Auth Type | Google OAuth | API Key |
File Locations
Purpose | Location |
Credentials |
|
Sessions |
|
Generated Images | Current working directory (or custom path) |
Troubleshooting
"Not authenticated" error (Antigravity)
npx artifex-mcp --login"OpenAI API key not found" error
Set the environment variable:
export OPENAI_API_KEY=sk-...Rate limit exceeded
Wait for the time indicated in the error message. Rate limits are enforced per-account.
Unsupported feature error
Some features are only available on specific providers. For example:
session_idonly works with Antigravityinput_image(editing) only works with Antigravitycount > 1only works with Antigravity
License
MIT
Intended Use
Personal / internal development only
Respect quotas and data handling policies
Not for production services or bypassing intended limits
Warning
By using this plugin, you acknowledge:
Terms of Service risk — This approach may violate ToS of AI model providers
Account risk — Providers may suspend or ban accounts
No guarantees — APIs may change without notice
Assumption of risk — You assume all legal, financial, and technical risks
Disclaimer
Not affiliated with Google or OpenAI. This is an independent open-source project.
"Antigravity", "Gemini", "Google Cloud", "Google", "OpenAI", and "DALL-E" are trademarks of their respective owners.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/jkalasas/artifex-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server