Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
MCP server for AI image generation via OpenAI, Stable Diffusion (SD WebUI), or placeholders.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
IMAGE_GENERATION_MCP_KV_STORE_URL, IMAGE_GENERATION_MCP_TOOLS_ALLOW, IMAGE_GENERATION_MCP_TOOLS_DENY, IMAGE_GENERATION_MCP_SERVER_NAME, IMAGE_GENERATION_MCP_INSTRUCTIONS, FASTMCP_LOG_LEVEL, FASTMCP_ENABLE_RICH_LOGGING, IMAGE_GENERATION_MCP_A1111_HOST, IMAGE_GENERATION_MCP_A1111_MODEL, IMAGE_GENERATION_MCP_READ_ONLY, IMAGE_GENERATION_MCP_SCRATCH_DIR, IMAGE_GENERATION_MCP_OPENAI_API_KEY, IMAGE_GENERATION_MCP_GOOGLE_API_KEY, IMAGE_GENERATION_MCP_SD_WEBUI_HOST, IMAGE_GENERATION_MCP_SD_WEBUI_MODEL, IMAGE_GENERATION_MCP_DEFAULT_PROVIDER, IMAGE_GENERATION_MCP_TRANSFORM_CACHE_SIZE, IMAGE_GENERATION_MCP_PAID_PROVIDERS, IMAGE_GENERATION_MCP_STYLES_DIR, IMAGE_GENERATION_MCP_ALLOW_LOCAL_FILE_INPUT, IMAGE_GENERATION_MCP_MAX_INPUT_IMAGE_BYTES, IMAGE_GENERATION_MCP_FETCH_TIMEOUT_S, IMAGE_GENERATION_MCP_TRANSFER_TTL_DEFAULT_S, IMAGE_GENERATION_MCP_TRANSFER_TTL_MAX_S, IMAGE_GENERATION_MCP_TRANSFER_GRACE_TTL_S, IMAGE_GENERATION_MCP_TRANSFER_LEASE_S, IMAGE_GENERATION_MCP_TRANSFER_MAX_UPLOAD_BYTESค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"image-generation": {
"command": "uvx",
"args": [
"image-generation-mcp"
],
"env": {
"IMAGE_GENERATION_MCP_KV_STORE_URL": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_TOOLS_ALLOW": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_TOOLS_DENY": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_SERVER_NAME": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_INSTRUCTIONS": "ใส่ค่าของคุณ",
"FASTMCP_LOG_LEVEL": "ใส่ค่าของคุณ",
"FASTMCP_ENABLE_RICH_LOGGING": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_A1111_HOST": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_A1111_MODEL": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_READ_ONLY": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_SCRATCH_DIR": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_OPENAI_API_KEY": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_GOOGLE_API_KEY": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_SD_WEBUI_HOST": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_SD_WEBUI_MODEL": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_DEFAULT_PROVIDER": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_TRANSFORM_CACHE_SIZE": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_PAID_PROVIDERS": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_STYLES_DIR": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_ALLOW_LOCAL_FILE_INPUT": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_MAX_INPUT_IMAGE_BYTES": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_FETCH_TIMEOUT_S": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_TRANSFER_TTL_DEFAULT_S": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_TRANSFER_TTL_MAX_S": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_TRANSFER_GRACE_TTL_S": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_TRANSFER_LEASE_S": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_TRANSFER_MAX_UPLOAD_BYTES": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add image-generation --env IMAGE_GENERATION_MCP_KV_STORE_URL='ใส่ค่าของคุณ' --env IMAGE_GENERATION_MCP_TOOLS_ALLOW='ใส่ค่าของคุณ' --env IMAGE_GENERATION_MCP_TOOLS_DENY='ใส่ค่าของคุณ' --env IMAGE_GENERATION_MCP_SERVER_NAME='ใส่ค่าของคุณ' --env IMAGE_GENERATION_MCP_INSTRUCTIONS='ใส่ค่าของคุณ' --env FASTMCP_LOG_LEVEL='ใส่ค่าของคุณ' --env FASTMCP_ENABLE_RICH_LOGGING='ใส่ค่าของคุณ' --env IMAGE_GENERATION_MCP_A1111_HOST='ใส่ค่าของคุณ' --env IMAGE_GENERATION_MCP_A1111_MODEL='ใส่ค่าของคุณ' --env IMAGE_GENERATION_MCP_READ_ONLY='ใส่ค่าของคุณ' --env IMAGE_GENERATION_MCP_SCRATCH_DIR='ใส่ค่าของคุณ' --env IMAGE_GENERATION_MCP_OPENAI_API_KEY='ใส่ค่าของคุณ' --env IMAGE_GENERATION_MCP_GOOGLE_API_KEY='ใส่ค่าของคุณ' --env IMAGE_GENERATION_MCP_SD_WEBUI_HOST='ใส่ค่าของคุณ' --env IMAGE_GENERATION_MCP_SD_WEBUI_MODEL='ใส่ค่าของคุณ' --env IMAGE_GENERATION_MCP_DEFAULT_PROVIDER='ใส่ค่าของคุณ' --env IMAGE_GENERATION_MCP_TRANSFORM_CACHE_SIZE='ใส่ค่าของคุณ' --env IMAGE_GENERATION_MCP_PAID_PROVIDERS='ใส่ค่าของคุณ' --env IMAGE_GENERATION_MCP_STYLES_DIR='ใส่ค่าของคุณ' --env IMAGE_GENERATION_MCP_ALLOW_LOCAL_FILE_INPUT='ใส่ค่าของคุณ' --env IMAGE_GENERATION_MCP_MAX_INPUT_IMAGE_BYTES='ใส่ค่าของคุณ' --env IMAGE_GENERATION_MCP_FETCH_TIMEOUT_S='ใส่ค่าของคุณ' --env IMAGE_GENERATION_MCP_TRANSFER_TTL_DEFAULT_S='ใส่ค่าของคุณ' --env IMAGE_GENERATION_MCP_TRANSFER_TTL_MAX_S='ใส่ค่าของคุณ' --env IMAGE_GENERATION_MCP_TRANSFER_GRACE_TTL_S='ใส่ค่าของคุณ' --env IMAGE_GENERATION_MCP_TRANSFER_LEASE_S='ใส่ค่าของคุณ' --env IMAGE_GENERATION_MCP_TRANSFER_MAX_UPLOAD_BYTES='ใส่ค่าของคุณ' -- uvx image-generation-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"image-generation": {
"command": "uvx",
"args": [
"image-generation-mcp"
],
"env": {
"IMAGE_GENERATION_MCP_KV_STORE_URL": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_TOOLS_ALLOW": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_TOOLS_DENY": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_SERVER_NAME": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_INSTRUCTIONS": "ใส่ค่าของคุณ",
"FASTMCP_LOG_LEVEL": "ใส่ค่าของคุณ",
"FASTMCP_ENABLE_RICH_LOGGING": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_A1111_HOST": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_A1111_MODEL": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_READ_ONLY": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_SCRATCH_DIR": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_OPENAI_API_KEY": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_GOOGLE_API_KEY": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_SD_WEBUI_HOST": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_SD_WEBUI_MODEL": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_DEFAULT_PROVIDER": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_TRANSFORM_CACHE_SIZE": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_PAID_PROVIDERS": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_STYLES_DIR": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_ALLOW_LOCAL_FILE_INPUT": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_MAX_INPUT_IMAGE_BYTES": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_FETCH_TIMEOUT_S": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_TRANSFER_TTL_DEFAULT_S": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_TRANSFER_TTL_MAX_S": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_TRANSFER_GRACE_TTL_S": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_TRANSFER_LEASE_S": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_TRANSFER_MAX_UPLOAD_BYTES": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"image-generation": {
"type": "stdio",
"command": "uvx",
"args": [
"image-generation-mcp"
],
"env": {
"IMAGE_GENERATION_MCP_KV_STORE_URL": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_TOOLS_ALLOW": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_TOOLS_DENY": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_SERVER_NAME": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_INSTRUCTIONS": "ใส่ค่าของคุณ",
"FASTMCP_LOG_LEVEL": "ใส่ค่าของคุณ",
"FASTMCP_ENABLE_RICH_LOGGING": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_A1111_HOST": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_A1111_MODEL": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_READ_ONLY": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_SCRATCH_DIR": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_OPENAI_API_KEY": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_GOOGLE_API_KEY": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_SD_WEBUI_HOST": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_SD_WEBUI_MODEL": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_DEFAULT_PROVIDER": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_TRANSFORM_CACHE_SIZE": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_PAID_PROVIDERS": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_STYLES_DIR": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_ALLOW_LOCAL_FILE_INPUT": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_MAX_INPUT_IMAGE_BYTES": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_FETCH_TIMEOUT_S": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_TRANSFER_TTL_DEFAULT_S": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_TRANSFER_TTL_MAX_S": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_TRANSFER_GRACE_TTL_S": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_TRANSFER_LEASE_S": "ใส่ค่าของคุณ",
"IMAGE_GENERATION_MCP_TRANSFER_MAX_UPLOAD_BYTES": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
IMAGE_GENERATION_MCP_KV_STORE_URL envIMAGE_GENERATION_MCP_TOOLS_ALLOW envIMAGE_GENERATION_MCP_TOOLS_DENY envIMAGE_GENERATION_MCP_SERVER_NAME envIMAGE_GENERATION_MCP_INSTRUCTIONS envFASTMCP_LOG_LEVEL envFASTMCP_ENABLE_RICH_LOGGING envIMAGE_GENERATION_MCP_A1111_HOST envIMAGE_GENERATION_MCP_A1111_MODEL envIMAGE_GENERATION_MCP_READ_ONLY envIMAGE_GENERATION_MCP_SCRATCH_DIR envIMAGE_GENERATION_MCP_SD_WEBUI_HOST envIMAGE_GENERATION_MCP_SD_WEBUI_MODEL envIMAGE_GENERATION_MCP_DEFAULT_PROVIDER envIMAGE_GENERATION_MCP_TRANSFORM_CACHE_SIZE envIMAGE_GENERATION_MCP_PAID_PROVIDERS envIMAGE_GENERATION_MCP_STYLES_DIR envIMAGE_GENERATION_MCP_ALLOW_LOCAL_FILE_INPUT envIMAGE_GENERATION_MCP_MAX_INPUT_IMAGE_BYTES envIMAGE_GENERATION_MCP_FETCH_TIMEOUT_S envIMAGE_GENERATION_MCP_TRANSFER_TTL_DEFAULT_S envIMAGE_GENERATION_MCP_TRANSFER_TTL_MAX_S envIMAGE_GENERATION_MCP_TRANSFER_GRACE_TTL_S envIMAGE_GENERATION_MCP_TRANSFER_LEASE_S envIMAGE_GENERATION_MCP_TRANSFER_MAX_UPLOAD_BYTES envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub pvliesdonk ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: IMAGE_GENERATION_MCP_OPENAI_API_KEY, IMAGE_GENERATION_MCP_GOOGLE_API_KEY
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.12.1) เข้า registry 2 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv), Docker ในเครื่องด้วย
ในหมวดเดียวกันมี Figma Context MCP, Claude Real Video, Figma MCP Server
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
Let any LLM watch a video locally — and search everything it has ever watched.
server ทางการของ Figma ส่งข้อมูลงานออกแบบให้ AI อ่าน เพื่อเปลี่ยนแบบเป็นโค้ดหรืออธิบายแบบได้ตรงขึ้น ต่อผ่านคลาวด์ของ Figma
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Multi-provider image generation MCP server built on FastMCP. Generate images from Claude Desktop, Claude Code, or any MCP client using OpenAI, Google Gemini, Stable Diffusion (SD WebUI), or a zero-cost placeholder provider.
[Documentation](https://pvliesdonk.github.io/image-generation-mcp/) | [Config wizard](https://pvliesdonk.github.io/image-generation-mcp/latest/configuration-generator/) | [PyPI](https://pypi.org/project/image-generation-mcp/) | [Docker](https://github.com/pvliesdonk/image-generation-mcp/pkgs/container/image-generation-mcp)
gpt-image-2, gpt-image-1.5, dall-e-3), Google Gemini (gemini-3.1-flash-image, gemini-3-pro-image, gemini-3.1-flash-lite-image), SD WebUI (Stable Diffusion / Forge / reForge), and a zero-cost placeholder for testing.style_profile (strengths, prompt grammar, lifecycle); list_providers includes a top-level warnings array for deprecated models. See Model Catalog.provider="auto" routes by prompt content (text/logo → OpenAI, photoreal/anime → SD WebUI, draft → placeholder).image://{id}/view?format=webp&width=512&crop_x=... resizes / re-encodes / crops on demand without re-generating.task=True (poll for status); short OpenAI calls stream progress in the foreground.app: resources..deb/.rpm with hardened systemd, OIDC + bearer auth, persistent EventStore for HTTP session resumability.With this server mounted in an MCP client, you can ask:
gpt-image-1.5 for typography-aware photorealism.generate_image with provider="sd_webui" and a stylised checkpoint like dreamshaperXL.image://{id}/view?width=512&height=512&crop_x=... resource transforms.image://list resource and the MCP Apps gallery viewer.transform_image with the gallery image_id as a reference (image-to-image via Gemini).pip install image-generation-mcp
If you add optional extras via the PROJECT-EXTRAS-START / PROJECT-EXTRAS-END sentinels in pyproject.toml, document them below:
| Extra | Includes | Use when |
|---|---|---|
mcp | fastmcp[tasks]>=3.0,<4 | Background-task support (task=True), required for long SD generations. |
openai | openai>=1.0 | Enables the OpenAI provider. |
google-genai | google-genai>=1.0 | Enables the Gemini provider. |
all | fastmcp[tasks] + openai + google-genai | Everything except SD WebUI (which is HTTP-only, no extra needed). |
Example: pip install image-generation-mcp[all].
git clone https://github.com/pvliesdonk/image-generation-mcp.git
cd image-generation-mcp uv sync --all-extras --all-groups
docker pull ghcr.io/pvliesdonk/image-generation-mcp:latest
To run the newest merged code instead of the newest release, use the rolling edge tag. It is rebuilt on every merge to main and carries no version identity. See Image tags for the full tag list.
docker pull ghcr.io/pvliesdonk/image-generation-mcp:edge
A compose.yml ships at the repo root as a starting point. Copy .env.example to .env, edit, and docker compose up -d.
To attach a remote Python debugger (development only; the protocol is unauthenticated), see Remote debugging.
Download .deb or .rpm packages from the GitHub Releases page. Both install a hardened systemd unit; env configuration is sourced from /etc/image-generation-mcp/env (copy from the shipped /etc/image-generation-mcp/env.example).
Download the .mcpb bundle from the GitHub Releases page and double-click to install, or run:
mcpb install image-generation-mcp-<version>.mcpb
Claude Desktop prompts for required env vars via a GUI wizard, with no manual JSON editing needed.
For manual Claude Desktop configuration and setup options, see Claude Desktop deployment.
Artifacts ship on three channels. Each row lists exactly what that channel publishes.
| Channel | Version identity | Artifacts |
|---|---|---|
edge (rolling) | None; the commit is the identity | Docker image :edge rebuilt on every merge to main; .mcpb bundle as the mcpb-bundle-edge workflow artifact; Claude Code plugin .zip as the plugin-zip-edge artifact; rolling unstable docs version. It leaves no git tag, GitHub release, or PyPI entry behind. |
| Pre-release | vX.Y.Z-rc.N, computed and reviewed in its release pull request | PyPI (as the pre-release X.Y.ZrcN); GitHub release with wheels, sdist, .deb/.rpm packages, .mcpb bundle, plugin .zip, and SBOM attached; Docker image under its immutable vX.Y.Z-rc.N tag plus the ordering-aware rolling rc tag. Skips the plugin marketplace, the MCP registry, and the docs deploy. |
| Stable | vX.Y.Z | Everything: PyPI, Docker (version tag plus ordering-aware latest / vX / vX.Y), .deb/.rpm, GitHub release assets (wheels, sdist, .mcpb bundle, plugin .zip, SBOM), plugin marketplace and MCP registry entries (when the release is the newest stable), versioned docs with an ordering-aware latest alias. |
Pre-releases reach PyPI so that a candidate's .mcpb bundle installs: the bundle points at PyPI rather than carrying the code. Ordinary installers never see them, because a PEP 440 resolver skips pre-releases unless the requirement pins one or you pass --pre. Ask for a candidate by name with pip install image-generation-mcp==X.Y.ZrcN. PyPI spells it in the PEP 440 canonical form, while tags use SemVer. Rolling pointers are ordering-aware, so a patch release cut from an old release/X.Y branch never moves latest-style tags back to older content, and a candidate for an already-released version never moves rc. See Release process for the full model.
image-generation-mcp serve # stdio transport
image-generation-mcp serve --transport http --port 8000 # streamable HTTP
For library usage (embedding the domain logic without the MCP transport), import from the image_generation_mcp package directly. See the project's domain modules under src/image_generation_mcp/ for entry points.
The server registers a built-in get_server_info tool (via fastmcp_pvl_core.register_server_info_tool) so operators can confirm the deployed version with a single MCP call. The default response carries server_name, server_version, and core_version. Servers that talk to a remote upstream wire upstream version reporting inside the DOMAIN-UPSTREAM-START / DOMAIN-UPSTREAM-END sentinel in src/image_generation_mcp/server.py; see CLAUDE.md for the wiring pattern.
Core environment variables shared across all fastmcp-pvl-core-based services:
| Variable | Default | Description |
|---|---|---|
IMAGE_GENERATION_MCP_KV_STORE_URL | file:///data/state | Persistent-state backend URL shared by every pvl-core subsystem that needs state. memory:// is in-process and lost on restart; file:///path persists on one server; redis://, dynamodb:// and mongodb:// each need their matching extra. When unset, defaults to file:///data/state (the volume family Docker images mount), or to memory://; with a warning; on a host where that directory is not usable. |
FASTMCP_LOG_LEVEL | INFO | Log level for FastMCP internals and app loggers (DEBUG / INFO / WARNING / ERROR / CRITICAL). The -v CLI flag overrides to DEBUG. |
FASTMCP_ENABLE_RICH_LOGGING | true | Set false for plain or structured JSON log output. |
Domain-specific variables go below under Domain configuration.
Callers authenticate via a bearer token or OIDC (mutually exclusive). See the Authentication guide for setup, mapped multi-subject tokens, OIDC, and troubleshooting.
After copier copy and gh repo create --push:
DOMAIN sentinel comment) in this README and in CLAUDE.md. The GENERATED-ENV-TABLE-* regions are not DOMAIN blocks; the config generator owns them and rewrites them on every run.uv sync --all-extras --all-groups.uv run pre-commit install.uv run pytest -x -q && uv run ruff check --fix . && uv run ruff format . && uv run mypy src/ tests/.CI workfl
ตัดมาแค่ช่วงต้น อ่านต่อใน repo