Image Generation MCP Server for VS Code
io.github.pvliesdonk/image-generation-mcp
MCP server for AI image generation via OpenAI, Stable Diffusion (SD WebUI), or placeholders.
client:VS Code
transport:stdio
runtime:pypi
Install Image Generation MCP Server in VS Code
.vscode/mcp.json
{
"inputs": [
{
"type": "promptString",
"id": "image-generation-mcp-kv-store-url",
"description": "IMAGE_GENERATION_MCP_KV_STORE_URL",
"password": true
},
{
"type": "promptString",
"id": "image-generation-mcp-tools-allow",
"description": "IMAGE_GENERATION_MCP_TOOLS_ALLOW",
"password": true
},
{
"type": "promptString",
"id": "image-generation-mcp-tools-deny",
"description": "IMAGE_GENERATION_MCP_TOOLS_DENY",
"password": true
},
{
"type": "promptString",
"id": "image-generation-mcp-server-name",
"description": "IMAGE_GENERATION_MCP_SERVER_NAME",
"password": true
},
{
"type": "promptString",
"id": "image-generation-mcp-instructions",
"description": "IMAGE_GENERATION_MCP_INSTRUCTIONS",
"password": true
},
{
"type": "promptString",
"id": "fastmcp-log-level",
"description": "FASTMCP_LOG_LEVEL",
"password": true
},
{
"type": "promptString",
"id": "fastmcp-enable-rich-logging",
"description": "FASTMCP_ENABLE_RICH_LOGGING",
"password": true
},
{
"type": "promptString",
"id": "image-generation-mcp-a1111-host",
"description": "IMAGE_GENERATION_MCP_A1111_HOST",
"password": true
},
{
"type": "promptString",
"id": "image-generation-mcp-a1111-model",
"description": "IMAGE_GENERATION_MCP_A1111_MODEL",
"password": true
},
{
"type": "promptString",
"id": "image-generation-mcp-read-only",
"description": "IMAGE_GENERATION_MCP_READ_ONLY",
"password": true
},
{
"type": "promptString",
"id": "image-generation-mcp-scratch-dir",
"description": "IMAGE_GENERATION_MCP_SCRATCH_DIR",
"password": true
},
{
"type": "promptString",
"id": "image-generation-mcp-openai-api-key",
"description": "IMAGE_GENERATION_MCP_OPENAI_API_KEY",
"password": true
},
{
"type": "promptString",
"id": "image-generation-mcp-google-api-key",
"description": "IMAGE_GENERATION_MCP_GOOGLE_API_KEY",
"password": true
},
{
"type": "promptString",
"id": "image-generation-mcp-sd-webui-host",
"description": "IMAGE_GENERATION_MCP_SD_WEBUI_HOST",
"password": true
},
{
"type": "promptString",
"id": "image-generation-mcp-sd-webui-model",
"description": "IMAGE_GENERATION_MCP_SD_WEBUI_MODEL",
"password": true
},
{
"type": "promptString",
"id": "image-generation-mcp-default-provider",
"description": "IMAGE_GENERATION_MCP_DEFAULT_PROVIDER",
"password": true
},
{
"type": "promptString",
"id": "image-generation-mcp-transform-cache-size",
"description": "IMAGE_GENERATION_MCP_TRANSFORM_CACHE_SIZE",
"password": true
},
{
"type": "promptString",
"id": "image-generation-mcp-paid-providers",
"description": "IMAGE_GENERATION_MCP_PAID_PROVIDERS",
"password": true
},
{
"type": "promptString",
"id": "image-generation-mcp-styles-dir",
"description": "IMAGE_GENERATION_MCP_STYLES_DIR",
"password": true
},
{
"type": "promptString",
"id": "image-generation-mcp-allow-local-file-input",
"description": "IMAGE_GENERATION_MCP_ALLOW_LOCAL_FILE_INPUT",
"password": true
},
{
"type": "promptString",
"id": "image-generation-mcp-max-input-image-bytes",
"description": "IMAGE_GENERATION_MCP_MAX_INPUT_IMAGE_BYTES",
"password": true
},
{
"type": "promptString",
"id": "image-generation-mcp-fetch-timeout-s",
"description": "IMAGE_GENERATION_MCP_FETCH_TIMEOUT_S",
"password": true
},
{
"type": "promptString",
"id": "image-generation-mcp-transfer-ttl-default-s",
"description": "IMAGE_GENERATION_MCP_TRANSFER_TTL_DEFAULT_S",
"password": true
},
{
"type": "promptString",
"id": "image-generation-mcp-transfer-ttl-max-s",
"description": "IMAGE_GENERATION_MCP_TRANSFER_TTL_MAX_S",
"password": true
},
{
"type": "promptString",
"id": "image-generation-mcp-transfer-grace-ttl-s",
"description": "IMAGE_GENERATION_MCP_TRANSFER_GRACE_TTL_S",
"password": true
},
{
"type": "promptString",
"id": "image-generation-mcp-transfer-lease-s",
"description": "IMAGE_GENERATION_MCP_TRANSFER_LEASE_S",
"password": true
},
{
"type": "promptString",
"id": "image-generation-mcp-transfer-max-upload-bytes",
"description": "IMAGE_GENERATION_MCP_TRANSFER_MAX_UPLOAD_BYTES",
"password": true
}
],
"servers": {
"image-generation-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"image-generation-mcp"
],
"env": {
"IMAGE_GENERATION_MCP_KV_STORE_URL": "${input:image-generation-mcp-kv-store-url}",
"IMAGE_GENERATION_MCP_TOOLS_ALLOW": "${input:image-generation-mcp-tools-allow}",
"IMAGE_GENERATION_MCP_TOOLS_DENY": "${input:image-generation-mcp-tools-deny}",
"IMAGE_GENERATION_MCP_SERVER_NAME": "${input:image-generation-mcp-server-name}",
"IMAGE_GENERATION_MCP_INSTRUCTIONS": "${input:image-generation-mcp-instructions}",
"FASTMCP_LOG_LEVEL": "${input:fastmcp-log-level}",
"FASTMCP_ENABLE_RICH_LOGGING": "${input:fastmcp-enable-rich-logging}",
"IMAGE_GENERATION_MCP_A1111_HOST": "${input:image-generation-mcp-a1111-host}",
"IMAGE_GENERATION_MCP_A1111_MODEL": "${input:image-generation-mcp-a1111-model}",
"IMAGE_GENERATION_MCP_READ_ONLY": "${input:image-generation-mcp-read-only}",
"IMAGE_GENERATION_MCP_SCRATCH_DIR": "${input:image-generation-mcp-scratch-dir}",
"IMAGE_GENERATION_MCP_OPENAI_API_KEY": "${input:image-generation-mcp-openai-api-key}",
"IMAGE_GENERATION_MCP_GOOGLE_API_KEY": "${input:image-generation-mcp-google-api-key}",
"IMAGE_GENERATION_MCP_SD_WEBUI_HOST": "${input:image-generation-mcp-sd-webui-host}",
"IMAGE_GENERATION_MCP_SD_WEBUI_MODEL": "${input:image-generation-mcp-sd-webui-model}",
"IMAGE_GENERATION_MCP_DEFAULT_PROVIDER": "${input:image-generation-mcp-default-provider}",
"IMAGE_GENERATION_MCP_TRANSFORM_CACHE_SIZE": "${input:image-generation-mcp-transform-cache-size}",
"IMAGE_GENERATION_MCP_PAID_PROVIDERS": "${input:image-generation-mcp-paid-providers}",
"IMAGE_GENERATION_MCP_STYLES_DIR": "${input:image-generation-mcp-styles-dir}",
"IMAGE_GENERATION_MCP_ALLOW_LOCAL_FILE_INPUT": "${input:image-generation-mcp-allow-local-file-input}",
"IMAGE_GENERATION_MCP_MAX_INPUT_IMAGE_BYTES": "${input:image-generation-mcp-max-input-image-bytes}",
"IMAGE_GENERATION_MCP_FETCH_TIMEOUT_S": "${input:image-generation-mcp-fetch-timeout-s}",
"IMAGE_GENERATION_MCP_TRANSFER_TTL_DEFAULT_S": "${input:image-generation-mcp-transfer-ttl-default-s}",
"IMAGE_GENERATION_MCP_TRANSFER_TTL_MAX_S": "${input:image-generation-mcp-transfer-ttl-max-s}",
"IMAGE_GENERATION_MCP_TRANSFER_GRACE_TTL_S": "${input:image-generation-mcp-transfer-grace-ttl-s}",
"IMAGE_GENERATION_MCP_TRANSFER_LEASE_S": "${input:image-generation-mcp-transfer-lease-s}",
"IMAGE_GENERATION_MCP_TRANSFER_MAX_UPLOAD_BYTES": "${input:image-generation-mcp-transfer-max-upload-bytes}"
}
}
}
}
VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs