内容
# Flow MCP 🎨
[](https://python.org)
[](https://modelcontextprotocol.io)
[](LICENSE)
**用于通过 Google Flow 生成图像的 MCP 服务器 — 无每日配额限制。**
克劳德代码(或任何 MCP 客户端)可以使用 Google Flow 的 `batchGenerateImages` API 直接通过 Playwright 浏览器上下文,使用您保存的身份验证信息,绕过 Flow Agent 聊天配额(约 10 张图片/天)。
## 功能
- **文本转图像** — 根据文本提示生成图像
- **图像转图像** — 使用参考图像(传递 `reference_image`)
- **无配额限制** — 直接调用 API,而不是通过聊天
- **持久浏览器池** — 在多个生成过程中重用 Chrome(更快)
- **自动重试** — 如果身份验证令牌过期,则刷新
- **进度报告** — 在克劳德代码中显示生成进度
- **无外部 CLI 依赖** — 包含自己的身份验证/登录
- **跨平台** — Windows、macOS、Linux(包括无头模式)
## 要求
| 依赖项 | 备注 |
|------------|-------|
| **Python 3.11+**(或 [uv](https://docs.astral.sh/uv/)) | |
| **Google Chrome** 或 Playwright 的 Chromium | 用于身份验证和生成 |
| **Xvfb**(仅限 Linux 无头模式) | `:99` 显示 |
## 安装
### 先决条件
- **Python 3.11+**
- **Google Chrome**(用于身份验证)
- **Playwright 浏览器**(用于生成)
### 从 PyPI 安装(推荐)
```bash
pip install flow-mcp
# 或使用 uv:
# uv pip install flow-mcp
# 安装 Playwright 浏览器
playwright install chromium
# 使用 Google Flow 进行身份验证
flow-mcp auth login
```
### 或从 GitHub 安装
```bash
git clone https://github.com/alarconcesar/flow-mcp.git
cd flow-mcp
uv pip install -e .
playwright install chromium
flow-mcp auth login
```
## 与克劳德代码一起使用
添加到您的 `.claude/settings.json`:
```json
{
"mcpServers": {
"flow-image-server": {
"command": "uv",
"args": ["run", "flow-mcp"]
}
}
}
```
重启克劳德代码。`generate_image` 工具将可用。
### 参数
| 参数 | 类型 | 默认值 | 描述 |
|-----------|------|---------|-------------|
| `prompt` | 字符串 | **必填** | 图像的文本描述 |
| `model` | 枚举 | `nano-pro` | `nano2`、`nano-pro`、`narwhal`、`gem_pix_2` |
| `count` | 整数 | `1` | 图片数量(1-4) |
| `aspect` | 枚举 | `9:16` | `9:16`、`16:9`、`1:1`、`4:3`、`3:4` |
| `reference_image` | 字符串 | 可选 | 用于 I2I 的本地图像路径 |
### 示例
**文本转图像:**
```
生成一张赛博朋克风格的城市夜景图,霓虹灯,16:9
```
**图像转图像:**
```
将这张照片转换成赛博朋克风格,
reference_image: /Users/me/photo.jpg
```
## CLI 命令
```bash
flow-mcp # 启动 MCP 服务器(stdio 模式)
flow-mcp auth login # 使用 Google Flow 进行身份验证
flow-mcp auth list # 列出已保存的配置文件
flow-mcp help # 显示帮助
```
## 环境变量
| 变量 | 默认值 | 描述 |
|----------|---------|-------------|
| `GFLOW_PROFILE` | 自动检测 | 配置文件名称 |
| `GFLOW_CLI_HOME` | *平台默认值* | gflow-cli 数据目录 |
| `GFLOW_OUTPUT_DIR` | 临时目录 | 保存生成的图像 |
## 故障排除
### 身份验证过期
```
flow-mcp auth login
```
### 内容过滤器
Google Flow 会静默阻止某些提示(返回 `None`)。
尝试重新措辞 — 避免暴力、NSFW 或商标内容。
### Linux 无头模式
```bash
Xvfb :99 -screen 0 1280x720x24 & # 或让 flow-mcp 自动启动它
flow-mcp auth login --browser internal
```
### 配置文件未找到
```bash
flow-mcp auth list # 列出配置文件
flow-mcp auth login # 创建新的配置文件
```
## 项目结构
```
flow-mcp/
├── src/
│ └── flow_mcp/
│ ├── __init__.py # 包元数据和日志记录配置
│ ├── __main__.py # CLI 入口点(身份验证,服务器)
│ ├── server.py # FastMCP 工具定义
│ ├── generator.py # 核心生成逻辑
│ ├── browser.py # Playwright 上下文和令牌捕获
│ ├── browser_pool.py # 持久浏览器上下文池
│ ├── auth.py # 登录,配置文件列表命令
│ ├── profile.py # 配置文件解析
│ ├── recaptcha.py # reCAPTCHA 令牌铸造
│ ├── chrome_helpers.py # Chrome 检测
│ └── constants.py # 共享常量
├── pyproject.toml
├── LICENSE(MIT)
└── README.md
```
## 许可证
MIT — 请参阅 [LICENSE](LICENSE)。