Atlas / MCP servers / lansespirit / Image Gen

Image GenBLOCK

mcp/lansespirit/image-gen-3

An MCP server that integrates with gpt-image-1 & Gemini imagen4 model for text-to-image generation services

Verdict
BLOCK
Grade
D
Trust score
69 /100
Exposed tools
2 2r · 0w · 0d
Transport
sse · stdio · streamable-http
License
—
Stars
70
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

Empowering Universal Image Generation for AI Chatbots

Traditional AI chatbot interfaces are limited to text-only interactions, regardless of how powerful their underlying language models are. Image Gen MCP Server bridges this gap by enabling any LLM-powered chatbot client to generate professional-quality images through the standardized Model Context Protocol (MCP).

Whether you're using Claude Desktop, a custom ChatGPT interface, Llama-based applications, or any other LLM client that supports MCP, this server democratizes access to multiple AI image generation models including OpenAI's gpt-image-2, gpt-image-1.5, gpt-image-1, dall-e-3, dall-e-2, and Google's Imagen series (imagen-4, imagen-4-ultra, imagen-4-fast, imagen-3), transforming text-only conversations into rich, visual experiences.

📦 Package Manager: This project uses UV for fast, reliable Python package management. UV provides better dependency resolution, faster installs, and proper environment isolation compared to traditional pip/venv workflows.

Why This Matters

The AI ecosystem has evolved to include powerful language models from multiple providers (OpenAI, Anthropic, Meta, Google, etc.), but image generation capabilities remain fragmented and platform-specific. This creates a significant gap:

  • 🚫 Limited Access: Only certain platforms offer built-in image generation
  • 🔒 Vendor Lock-in: Image capabilities tied to specific LLM providers
  • ⚡ Poor Integration: Switching between text and image tools breaks workflow
  • 🛠️ Complex Setup: Each client needs custom integrations

Image Gen MCP Server solves this by providing:

  • 🌐 Universal Compatibility: Works with any MCP-enabled LLM client
  • 🔄 Seamless Integration: No context switching or workflow interruption
  • ⚡ Standardized Protocol: One server, multiple client support
  • 🎨 Multi-Provider Support: Access to OpenAI and Google's latest image gen
Read from source at commit 789848667c5fOBSERVED · 2026-10-07
Advertisement
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.

claude-code
claude mcp add image-gen-mcp --env PROVIDERS__OPENAI__API_KEY=${PROVIDERS__OPENAI__API_KEY} -- uvx image-gen-mcp
claude-desktop
{
  "mcpServers": {
    "image-gen-mcp": {
      "command": "uvx",
      "args": [
        "image-gen-mcp"
      ],
      "env": {
        "PROVIDERS__OPENAI__API_KEY": "${PROVIDERS__OPENAI__API_KEY}"
      }
    }
  }
}
03

Exposed tools (2)

2 read · 0 write · 0 destructive.

ToolRiskDescription
health_checkread
server_inforead
04

Trust audit

BLOCKgrade D · trust 69/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (3 observation(s))
Network
declared (13 observation(s))
Shell
none-observed
Dependencies
pinned
Secrets in source
none-found

Findings (15)

HIGHFilesystem / path · fs.credential_store · CWE-22, CWE-59
image_gen_mcp/providers/gemini.py:87
os.path.expanduser("~/.config/gcloud"),
Why it matters. touches a credential store
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
deploy/vps-setup.sh:204
proxy_pass http://127.0.0.1:3001;
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
deploy/vps-setup.sh:222
proxy_pass http://127.0.0.1:3001/health;
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
deploy/vps-setup.sh:230
proxy_pass http://127.0.0.1:3001/metrics;
LOWInventory / provenance · inv.no_license · CWE-1104
Why it matters. no LICENSE file and no repo licence
Fix. add a licence
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
deploy/VPS_DEPLOYMENT_GUIDE.md:154
proxy_pass http://127.0.0.1:3001;
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
deploy/VPS_DEPLOYMENT_GUIDE.md:170
proxy_pass http://127.0.0.1:3001/health;
LOWObfuscation / stealth · obf.decode_call · CWE-506, CWE-94
image_gen_mcp/providers/openai.py:373
image_bytes = base64.b64decode(response.data[0].b64_json)
LOWObfuscation / stealth · obf.decode_call · CWE-506, CWE-94
image_gen_mcp/providers/openai.py:487
image_bytes = base64.b64decode(response.data[0].b64_json)
LOWObfuscation / stealth · obf.decode_call · CWE-506, CWE-94
image_gen_mcp/storage/manager.py:68
image_bytes = base64.b64decode(match.group(2))
LOWObfuscation / stealth · obf.decode_call · CWE-506, CWE-94
image_gen_mcp/tools/image_editing.py:174
image_bytes = base64.b64decode(edited_image_data.b64_json)
LOWObfuscation / stealth · obf.decode_call · CWE-506, CWE-94
image_gen_mcp/utils/__init__.py:62
image_bytes = base64.b64decode(image_data)
LOWPrompt injection · prompt.authority_framing · CWE-94, CWE-1427
docs/mcp_guide.md:847
For more control, you can use the low-level server implementation directly. This gives you full access to the protocol and allows you to customize every aspect of your server, including lifecycle mana
INFOInventory / provenance · inv.oversize · CWE-1104
assets/images/img_20250708111322_9618bc559949.png
assets/images/img_20250708111322_9618bc559949.png
Why it matters. 3052686 bytes not read
INFOInventory / provenance · inv.oversize · CWE-1104
assets/images/img_20250708111847_1c78e63ed4e0.png
assets/images/img_20250708111847_1c78e63ed4e0.png
Why it matters. 2692702 bytes not read

Gates applied: no_behavioural_pass, no_license.

Audited 2026-10-07 · audit v0.4.1 · source sha 789848667c5ffull audit observations/trust-audit/mcp-server/lansespirit__image-gen-3.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-07789848667c5fBLOCKD69first audit
06

Questions

What is the Image Gen MCP server?

An MCP server that integrates with gpt-image-1 & Gemini imagen4 model for text-to-image generation services

What tools does Image Gen expose?

2 in total: 2 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is Image Gen safe to connect to an agent?

No — not without reading the findings first. The audit graded it D (69/100) and found 1 critical or high issue in the source. Each one is listed on this page with the file and line it is on.

What credentials does Image Gen need?

It reads PROVIDERS__OPENAI__API_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.

How does Image Gen run?

It speaks sse, stdio and streamable-http, so it runs as a local process your client starts. It is published on PyPI as image-gen-mcp.

How current is this page?

The grade is for one exact copy of the source (789848667c5f), read on 2026-10-07. The repository is watched and re-audited when it changes.

Advertisement