内容
# AI 图像生成 MCP 服务器
> 用于Cloudflare AI API的MCP服务器,通过多个模型和提示生成能力启用图像生成操作。
## 概述
本MCP服务器提供使用Cloudflare AI模型的图像生成工具,同时保持质量并支持多种模型类型。
## 功能
* **多模型支持**:支持来自Cloudflare AI的各种Stable Diffusion模型
* **并发生成**:同时使用多个模型生成图像
* **提示生成**:AI驱动的提示生成以获得更好的结果
* **全面错误处理**:常见问题的清晰错误消息
* **批量操作**:支持并行生成多个图像
## 工具
1. `generate_images`
* 同时使用多个模型生成图像
* 输入:
* `prompt`(字符串):图像生成提示
* `size_id`(字符串):图像大小(例如“1024x1024”)
* 返回:模型ID到生成的图像的字典
2. `generate_prompt`
* 使用AI生成详细的图像提示
* 输入:
* `theme`(字符串):扩展的基本主题
* 返回:详细的生成提示
## 安装
### 先决条件
- Python 3.10 或更高版本
- 足够的磁盘空间(推荐1GB+)
- 稳定的网络连接
- Cloudflare账户和API令牌
### Cloudflare API 令牌
创建具有适当权限的Cloudflare API令牌:
1. 登录 [Cloudflare 仪表盘](https://dash.cloudflare.com)
2. 获取账户ID:
* 点击右上角的账户图标
* 选择“账户首页”
* 在概述中找到“账户ID”
3. 创建API令牌:
* 进入“我的个人资料”
* 选择“API令牌”
* 点击“创建令牌”
* 选择“创建自定义令牌”
* 添加权限:
* 账户.AI - 读取和编辑
* 账户.Workers AI - 读取和编辑
## 设置
### 选项 1:通过配置文件手动安装
将以下内容添加到您的Claude Desktop配置文件中:
* MacOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
* Windows: `%APPDATA%/Claude/claude_desktop_config.json`
```json
{
"mcpServers": {
"CloudflareAI": {
"command": "uvx",
"args": ["cloudflare-ai"]
}
}
}
```
### 选项 2:通过 Smithery 自动安装
```bash
npx -y @smithery/cli install cloudflare-ai --client claude
```
## 开发
### 构建和发布
```bash
# 同步依赖
uv sync
# 构建软件包
uv build
# 发布到 PyPI
uv publish
```
### 调试
为了获得最佳的调试体验,请使用MCP Inspector:
```bash
npx @modelcontextprotocol/inspector python serv.py
```
## 项目结构
```
cloudflare-ai/
├── src/
│ └── cloudflare_ai/
│ ├── __init__.py
│ ├── server.py
│ ├── tools/
│ │ ├── __init__.py
│ │ ├── generate_images.py
│ │ └── generate_prompt.py
│ └── utils/
│ ├── __init__.py
│ ├── cloudflare.py
│ └── logging.py
├── demo/
│ └── examples.py
├── tests/
│ └── test_tools.py
├── pyproject.toml
├── uv.lock
├── README.md
└── README_CN.md
```
## 配置
### 本地开发
1. 复制示例配置:
```bash
cp .env.example .env
```
2. 编辑配置:
```env
CLOUDFLARE_ACCOUNT_ID=your_account_id
CLOUDFLARE_API_TOKEN=your_api_token
```
### 生产环境
在生产环境中,请使用环境变量:
```bash
# Linux/Mac
export CLOUDFLARE_ACCOUNT_ID="your_account_id"
export CLOUDFLARE_API_TOKEN="your_api_token"
# Windows
set CLOUDFLARE_ACCOUNT_ID=your_account_id
set CLOUDFLARE_API_TOKEN=your_api_token
```
## 运行服务器
### MCP 客户端配置
将以下配置添加到您的MCP客户端设置中:
```json
{
"mcpServers": {
"CloudflareAI": {
"command": "python",
"args": ["serv.py"],
"env": {
"CLOUDFLARE_ACCOUNT_ID": "your_account_id",
"CLOUDFLARE_API_TOKEN": "your_api_token"
},
"cwd": "/path/to/server/directory"
}
}
}
```
配置选项:
* `command`:Python可执行文件路径
* `args`:服务器脚本和参数
* `env`:身份验证环境变量
* `cwd`:服务器工作目录
您也可以使用自定义端口运行服务器:
```json
{
"mcpServers": {
"CloudflareAI": {
"command": "python",
"args": ["serv.py", "--port", "8080"],
"env": {
"CLOUDFLARE_ACCOUNT_ID": "your_account_id",
"CLOUDFLARE_API_TOKEN": "your_api_token"
}
}
}
}
```
### 开发模式
```bash
# 在测试模式下运行服务器
python serv.py
```
### 生产部署
使用uvicorn或gunicorn:
1. 安装服务器:
```bash
pip install uvicorn gunicorn
```
2. 使用uvicorn运行:
```bash
uvicorn serv:app --host 0.0.0.0 --port 8000 --workers 4
```
3. 或使用gunicorn(仅限Linux/Mac):
```bash
gunicorn serv:app -w 4 -k uvicorn.workers.UvicornWorker -b 0.0.0.0:8000
```
## 监控和日志记录
### 日志配置
创建`logging.conf`:
```python
import logging
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
handlers=[
logging.FileHandler('server.log'),
logging.StreamHandler()
]
)
```
### 性能监控
推荐的工具:
- Prometheus + Grafana
- New Relic
- Datadog
## 安全建议
1. 使用HTTPS
2. 实现速率限制
3. 保持依赖项更新
4. 绝不硬编码凭证
5. 设置适当的文件权限
## 故障排除
### 常见问题
1. API凭证错误:
* 验证账户ID和API令牌
* 检查令牌权限
2. 网络问题:
* 检查防火墙设置
* 验证网络连接
3. 内存问题:
* 调整工作进程数量
* 监控内存使用情况
### 调试模式
```bash
# 以调试模式运行
DEBUG=1 python serv.py
```
## 维护
1. 更新依赖项:
```bash
pip install --upgrade -r requirements.txt
```
2. 监控Cloudflare API更改
3. 监控磁盘使用情况
4. 定期备份配置文件
## 支持
如需帮助:
1. 查看文档
2. 提交GitHub问题
3. 联系技术支持
## 许可证
本MCP服务器根据MIT许可证授权。