{"_id":"@aaa147258qq/image-gen-mcp","_rev":"2-96a1241e27561ec3e7b3f5bb61fd9c42","name":"@aaa147258qq/image-gen-mcp","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@aaa147258qq/image-gen-mcp","version":"1.0.0","keywords":["mcp","model-context-protocol","image-generation","image-editing","ai","openai-compatible"],"license":"MIT","_id":"@aaa147258qq/image-gen-mcp@1.0.0","maintainers":[{"name":"aaa147258qq","email":"ejfk1923@agent.qq.com"}],"bin":{"image-gen-mcp":"bin/image-gen-mcp.mjs"},"dist":{"shasum":"75ee0bd1e17735fbb6ee37abafb73f8267b651a9","tarball":"https://registry.npmjs.org/@aaa147258qq/image-gen-mcp/-/image-gen-mcp-1.0.0.tgz","fileCount":4,"integrity":"sha512-5jFl6SSd9EybzgRF+NpjOgYnfi2fZG7uLpm5CJNkzENeUJaUtwUQUgsCpL7uH0HmHM98zfP6kAI9pfoJ9Xtkhg==","signatures":[{"sig":"MEUCIQDz1G84fHkqNGBKZ72Mi8iKjyqmEPrpnPK9Hb5Ry+YysgIgD3+iDtxXCFH2bEzmjSX0iKswpAnd/bd/DS25v6yygLU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18594},"type":"module","engines":{"node":">=18"},"scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"aaa147258qq","email":"ejfk1923@agent.qq.com"},"_npmVersion":"10.9.7","description":"MCP server that wraps a remote OpenAI-compatible image-generation API (/v1/images/generations and /v1/images/edits). Run with `npx -y @aaa147258qq/image-gen-mcp`.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^3.23.8","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/image-gen-mcp_1.0.0_1786780721250_0.3537601316994585","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@aaa147258qq/image-gen-mcp","version":"1.0.1","description":"MCP server that wraps a remote OpenAI-compatible image-generation API (/v1/images/generations and /v1/images/edits). Run with `npx -y @aaa147258qq/image-gen-mcp`.","type":"module","bin":{"image-gen-mcp":"bin/image-gen-mcp.mjs"},"engines":{"node":">=18"},"scripts":{"build":"tsc","start":"node dist/index.js","dev":"tsx src/index.ts"},"keywords":["mcp","model-context-protocol","image-generation","image-editing","ai","openai-compatible"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/YQT-api/image-gen-mcp.git"},"homepage":"https://github.com/aaa147258qq/image-gen-mcp#readme","publishConfig":{"access":"public"},"dependencies":{"@modelcontextprotocol/sdk":"^1.0.0","zod":"^3.23.8"},"devDependencies":{"@types/node":"^22.0.0","typescript":"^5.6.0","tsx":"^4.19.0"},"_id":"@aaa147258qq/image-gen-mcp@1.0.1","gitHead":"a9a48aa08f41042bbfa69cd0b8875095a89044da","bugs":{"url":"https://github.com/YQT-api/image-gen-mcp/issues"},"_nodeVersion":"22.22.2","_npmVersion":"10.9.7","dist":{"integrity":"sha512-32ttJXw0UAMiOX2iarWuKQEp6SkGT4wZtIaxKUpCHG71m6UnGxdQQwpGGXcIpQFKxiHx75yNF5EJWMcVWBYwSA==","shasum":"96b2ca9f3085e21698eb073aad9d8e7e347bfb0d","tarball":"https://registry.npmjs.org/@aaa147258qq/image-gen-mcp/-/image-gen-mcp-1.0.1.tgz","fileCount":4,"unpackedSize":18757,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCjjcUbGs3HLd4qicXTSKqDHeClku9q0n64b300wJqKnQIgdelfEqna1vLtCWLL9bkCiqGsuxkaYDjmkJhO3lZHJr4="}]},"_npmUser":{"name":"aaa147258qq","email":"ejfk1923@agent.qq.com"},"directories":{},"maintainers":[{"name":"aaa147258qq","email":"ejfk1923@agent.qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/image-gen-mcp_1.0.1_1786789965140_0.03706419822917928"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-15T07:58:41.105Z","modified":"2026-08-15T10:32:45.416Z","1.0.0":"2026-08-15T07:58:41.391Z","1.0.1":"2026-08-15T10:32:45.285Z"},"license":"MIT","keywords":["mcp","model-context-protocol","image-generation","image-editing","ai","openai-compatible"],"description":"MCP server that wraps a remote OpenAI-compatible image-generation API (/v1/images/generations and /v1/images/edits). Run with `npx -y @aaa147258qq/image-gen-mcp`.","maintainers":[{"name":"aaa147258qq","email":"ejfk1923@agent.qq.com"}],"readme":"# image-gen-mcp\n\n把 `aiapi.shiwuyan.cn` 的图片生成接口封装成 **MCP 服务**，让 WorkBuddy、Claude Desktop、\nCursor 等任意 MCP 客户端都能直接「生成图片」。\n\n> 已用测试 Key 端到端验证：文生图正常出图；上游（官方接口）失败时统一向用户返回「官方接口繁忙，生成失败」。\n\n---\n\n## 一、接口契约（已实测）\n\n| 能力 | 端点 | 说明 |\n| --- | --- | --- |\n| 模型列表 | `GET /v1/models` | 返回可用模型 ID |\n| 文生图 | `POST /v1/images/generations` | JSON，返回 `b64_json` |\n| 图生图/编辑 | `POST /v1/images/edits` | `multipart/form-data`，需上传参考图 |\n\n鉴权统一为 `Authorization: Bearer <API_KEY>`，**Base URL** 为 `https://aiapi.shiwuyan.cn/v1`。\n\n> 注：图片模型**不能用** `/v1/chat/completions`（那是文本端点，会报不支持），必须用 `/v1/images/generations`。\n\n---\n\n## 二、工具一览\n\n### 1. `list_models`\n列出当前可用模型 ID（图片 / LLM），用于排查 Key 与账号开通情况。无需参数。\n\n### 2. `generate_image`（文生图）\n| 参数 | 类型 | 说明 |\n| --- | --- | --- |\n| `prompt` | string | 提示词（必填） |\n| `model` | string | 默认 `gpt-image-2-code`，可选 `gpt-image-2` / `gpt-image-2-code` / `gpt-image-2-code2` / `gpt-image-2-code3` |\n| `n` | int 1-4 | 张数，默认 1 |\n| `size` | string | `1:1` / `16:9` / `1024x1024` / `1024x1792` 等 |\n| `quality` | enum | `low` / `medium` / `high` |\n| `style` | enum | `natural` / `vivid` |\n| `background` | enum | `auto` / `opaque` / `transparent` |\n| `output_format` | enum | `png` / `jpeg` / `webp` |\n| `output_compression` | int 0-100 | 用于 jpeg/webp |\n| `response_format` | enum | `url` / `b64_json`（见下方实测结论） |\n| `upscale` | enum | `2k` / `4k`（仅部分模型支持） |\n| `output_path` | string | 可选，保存到本地路径 |\n\n返回：图片本身（base64 PNG，客户端直接渲染）+ `revised_prompt`。\n\n### 3. `edit_image`（图生图 / 编辑）\n| 参数 | 类型 | 说明 |\n| --- | --- | --- |\n| `prompt` | string | 编辑要求（必填），如「改成白底产品图，真实摄影」 |\n| `image_path` | string | 本地参考图路径（必填），如 `./ref.png` |\n| `mask_path` | string | 可选局部遮罩图路径 |\n| `model` | string | 默认 `gpt-image-2-code`；可选 `gpt-image-2-code` / `gpt-image-2-code2` / `gpt-image-2-code3`（**已移除易超时的 adobe 系模型**） |\n| `n` / `size` / `quality` / `background` / `output_format` / `output_compression` / `upscale` / `output_path` | — | 同文生图 |\n\n返回：编辑后的图片本身（base64 PNG，客户端直接渲染）。\n\n> 💡 用法示例：先本地准备好一张图 `ref.png`，让助手「基于 ref.png 把背景改成雪山」，助手会调用 `edit_image` 传入该路径。\n\n---\n\n## 三、实测结论（用测试 Key 跑过）\n\n- ✅ **文生图全部参数可用**：`model`(含 code 系列)、`n`、`size`(比例与像素)、`quality`、`style`、`background`、`output_format`(jpeg/webp)、`output_compression`、`upscale=4k` 均返回 200 且出图。\n- ⚠️ **`response_format=url` 实际未生效**：该接口**始终返回 `b64_json`**，不返回 url。工具默认用 `b64_json` 直接渲染图片，无影响。\n- ✅ **图生图（/images/edits）**：`gpt-image-2-code` 编辑成功返回图片（已用测试 Key 端到端验证）。默认即 `gpt-image-2-code`，不再暴露易超时的 adobe 系模型选项。\n- ❌ **上游失败时统一提示**：任何来自官方接口的失败（限流、Key 失效、服务端异常等），用户端只看到「官方接口繁忙，生成失败」，不暴露内部报错。\n\n> 注意：图片生成单次约 10–60 秒（服务端渲染），调用时请耐心等待。\n\n---\n\n## 四、安装与构建\n\n```bash\ncd image-gen-mcp\nnpm install\nnpm run build          # 编译到 dist/\n```\n\n环境变量（也可在客户端 mcp 配置的 `env` 里直接给）：\n- `IMAGE_API_KEY`：**必填**，你的 API Key\n- `IMAGE_API_BASE_URL`：默认 `https://aiapi.shiwuyan.cn/v1`\n- `IMAGE_API_MODEL`：默认图片模型 `gpt-image-2-code`\n\n---\n\n## 五、WorkBuddy 用户如何调用（两种接入方式）\n\n### 方式 A：图形化「自定义 MCP」（最接近一键导入）\n1. WorkBuddy 左侧「连接器」→ 右上角「自定义 MCP」/「MCP 服务器」→「配置 MCP」\n2. 粘贴下面的配置（把 Key 换成你自己的），保存\n3. 在连接器列表找到该条目 → 点「**信任 / 启用**」\n4. **完全退出并重启 WorkBuddy**（MCP 进程需重载），出现绿点即生效\n5. 对话里直接说「帮我生成一张……的图片」\n\n### 方式 B：直接编辑配置文件\n编辑 `~/.workbuddy/mcp.json`（没有就新建），写入下方配置，保存后按方式 A 第 3-4 步信任并重启。\n\n### 配置片段（复制即用）\n```json\n{\n  \"mcpServers\": {\n    \"image-gen\": {\n      \"command\": \"node\",\n      \"args\": [\"/绝对路径/image-gen-mcp/dist/index.js\"],\n      \"env\": {\n        \"IMAGE_API_KEY\": \"sk-你的key\",\n        \"IMAGE_API_BASE_URL\": \"https://aiapi.shiwuyan.cn/v1\",\n        \"IMAGE_API_MODEL\": \"gpt-image-2-code\"\n      }\n    }\n  }\n}\n```\n> - Windows 路径用 `/` 或双反斜 `\\\\`，**不要把 Key 写进 `args`，统一放 `env`**。\n> - Key 走环境变量，本项目源码不硬编码任何 Key。\n\n---\n\n## 六、分发与多用户\n\n### A. 已发布到 npm（推荐给最终用户，零路径）\n包名 `@aaa147258qq/image-gen-mcp` 已发布到 npm，并配置好 `bin` 入口。用户**无需下载代码、无需写路径**，配置里直接：\n```json\n{\n  \"mcpServers\": {\n    \"image-gen\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@aaa147258qq/image-gen-mcp\"],\n      \"env\": { \"IMAGE_API_KEY\": \"sk-你的key\" }\n    }\n  }\n}\n```\n首次运行 `npx` 会自动拉取最新版。导入文件见 `workbuddy-import-npx.json`（用户导入后只填 Key 即可）。\n\n发布命令（需先 `npm login` 登录你的 npm 账号）：\n```bash\ncd image-gen-mcp\nnpm run build\nnpm publish --access=public   # 已配 publishConfig.access=public，scoped 包需显式指定\n```\n\n### B. 本地 stdio（开发 / 自测）\n每个用户在自己机器装 Node + 本服务 + 自己的 Key，最安全。配置见 `workbuddy-import.json`（需填 `dist/index.js` 的绝对路径）。\n\n### C. 远程托管（多用户共用）\n若要统一管 Key、免安装，可改成 HTTP/SSE 常驻服务（SDK 已支持 `StreamableHTTPServerTransport`，复用现有工具逻辑）。需要我补一份远程版可直接说。\n\n---\n\n## 七、变更记录\n\n- **v3.0.0**：移除视频相关能力（seedance `generate_video` / `query_video` / `upload_media`）。上游失败时统一对用户返回「官方接口繁忙，生成失败」。\n- **v3.1.0**：应需求把图生图（`edit_image`）加回，但**默认模型改为稳定的 `gpt-image-2-code`，不再提供易超时的 adobe 系模型**。现共 3 个工具：`list_models` / `generate_image` / `edit_image`。实测：文生图、图生图均正常出图，上游失败统一返回「官方接口繁忙，生成失败」。\n","readmeFilename":"README.md","homepage":"https://github.com/aaa147258qq/image-gen-mcp#readme","repository":{"type":"git","url":"git+https://github.com/YQT-api/image-gen-mcp.git"},"bugs":{"url":"https://github.com/YQT-api/image-gen-mcp/issues"}}