内容
# 🎨 Image Generation MCP Server
一个为 **Claude Code** 打造的图片生成 MCP 服务器。让 Claude 能够根据你的描述生成图片,或基于已有图片进行修改编辑。
## 它能做什么?
- **文生图** — 说「画一只赛博朋克风格的猫」就能生成图片
- **图生图** — 给一张参考图,让 AI 按你的要求修改(换风格、加元素、调色等)
- **自动保存** — 生成图片自动保存到项目文件夹或桌面
## 效果示例
```
你:「画一个小女孩吃雪糕」
→ ✨ 图片已生成,保存在项目目录
你:「把这张图改成铅笔素描风格」
→ ✨ 图片编辑成功!参考图已按你的要求修改
```
## 实现原理
```
┌─────────────────────┐ stdio ┌──────────────────────────┐
│ Claude Code Agent │ ◄─── MCP ────► │ image-mcp/server.py │
│ │ │ (FastMCP Python 服务) │
│ 用户提出生图需求 │ │ │
│ Agent 自动调用工具 │ │ Tool: generate_image() │
└─────────────────────┘ └───────────┬──────────────┘
│ HTTP (OpenAI 兼容)
▼
┌──────────────────┐
│ 生图 API │
│ (如 gpt-image、 │
│ dall-e、flux 等) │
└──────────────────┘
```
### 技术栈
| 组件 | 技术 |
|---|---|
| MCP 框架 | [FastMCP](https://github.com/jlowin/fastmcp) (Python) |
| 通信协议 | MCP stdio(标准输入输出) |
| API 协议 | OpenAI 兼容格式(`/images/generations`) |
| 图片处理 | base64 / Pillow |
| 配置存储 | `~/.claude/mcp-image-gen-config.json` |
### 工具接口
MCP 暴露一个工具 `generate_image`,包含以下参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| `prompt` | string | ✅ | 图片描述或编辑要求 |
| `image_path` | string | ❌ | 参考图片路径(传此参数即为图生图模式) |
| `output_dir` | string | ❌ | 输出目录(默认当前工作目录) |
| `size` | string | ❌ | 图片尺寸如 `1024x1024`(默认) |
## 快速上手
### 1. 安装依赖
```bash
pip install fastmcp httpx
```
### 2. 配置 API 凭证
运行配置脚本:
```bash
cd image-mcp
python setup_config.py
```
按提示输入以下信息:
- **API 地址** (base_url) — 你的生图 API 地址
- **API Key** — 你的密钥
- **模型名称** — 如 `gpt-image-2-03`、`dall-e-3`、`flux-pro` 等
配置脚本还会询问是否注册到 Claude Code。
### 3. 在 Claude Code 中使用
配置完成后,直接对 Claude 说:
```
画一只可爱的小猫
生成一张赛博朋克风格的城市夜景图,1920x1080
把这张图改成水彩画风格
```
Claude Code 会自动调用 MCP 工具生成图片。生成的图片保存在你当前的项目目录中(如果是全局对话则保存在桌面)。
### 手动注册到 Claude Code
如果不想用配置脚本,可以手动在 `~/.claude/settings.json` 中添加:
```json
{
"mcpServers": {
"image-generator": {
"command": "python",
"args": ["/path/to/image-mcp/server.py"]
}
}
}
```
添加后重启 Claude Code 或执行 `/reload`。
### 使用环境变量(更安全)
在 `~/.claude/settings.json` 的 `"env"` 中设置(优先级高于配置文件):
```json
{
"mcpServers": {
"image-generator": {
"command": "python",
"args": ["/path/to/image-mcp/server.py"]
}
},
"env": {
"MCP_IMAGE_GEN_API_KEY": "你的API Key",
"MCP_IMAGE_GEN_BASE_URL": "https://api.openai.com/v1",
"MCP_IMAGE_GEN_MODEL": "gpt-image-2-03"
}
}
```
## 安全说明
- **API Key 不会出现在项目文件夹中** — 凭证存储在你的 `~/.claude/` 目录下
- 支持两种配置方式:独立配置文件和环境变量(环境变量优先级更高)
- `.gitignore` 已自动排除图片文件和 `__pycache__`
- 分享项目时不会泄露你的任何凭证
## 项目结构
```
image-mcp/
├── server.py # MCP 服务器主程序
├── setup_config.py # 配置安装脚本
├── mcp-image-gen-config.example.json # 配置模板(供参考)
├── .gitignore # Git 忽略规则
└── README.md # 本文件
```
## 许可证
MIT