@devinrcai/mcp-image-generator
Version:
MCP server for generating images using ModelScope API - works with Claude Desktop and other MCP clients
218 lines (158 loc) • 4.97 kB
Markdown
# MCP Image Generator Server
一个用于生成图片的 MCP (Model Context Protocol) 服务器,专为 AI 编码工具设计,帮助开发者在构建网站时自动生成所需的图片。现在支持通过 npx 一键安装和使用!
## 功能特点
- 🎨 **文字生成图片**: 使用 ModelScope 的 FLUX 模型,根据文字描述生成高质量图片
- 🔐 **安全的 API 密钥管理**: API 密钥由客户端提供,不会硬编码在服务器中
- 🌐 **网站开发集成**: 专为网站开发场景设计,可生成占位符 HTML 代码
- 📁 **图片管理**: 自动保存生成的图片,并提供资源列表功能
- 🔧 **完整的 MCP 实现**: 支持工具、资源和提示功能
- 📦 **NPX 支持**: 通过 npx 一键安装和配置,无需手动设置
## 快速开始 (推荐)
### 方式一:使用 npx (最简单)
```bash
# 显示帮助和所有选项
npx @devinrcai/mcp-image-generator --help
# 自动生成 Claude Desktop 配置
npx @devinrcai/mcp-image-generator --setup
# 直接启动 MCP 服务器
npx @devinrcai/mcp-image-generator --start
# 查看所有配置示例
npx @devinrcai/mcp-image-generator --config
```
### 方式二:手动安装
1. 克隆或复制项目到本地:
```bash
cd mcp-image-generator
```
2. 安装依赖:
```bash
npm install
```
3. 构建项目:
```bash
npm run build
```
## 配置 MCP 客户端
### 方式一: 使用 npx 自动配置 (推荐)
最简单的配置方式,运行以下命令自动生成 Claude Desktop 配置:
```bash
npx mcp-image-generator --setup
```
这会自动生成正确的配置并告诉你如何添加到 Claude Desktop。
### 方式二: 手动配置 Claude Desktop
在 Claude Desktop 的配置文件 (`~/Library/Application Support/Claude/claude_desktop_config.json`) 中添加:
```json
{
"mcpServers": {
"image-generator": {
"command": "npx",
"args": ["mcp-image-generator", "--start"]
}
}
}
```
### 方式三: 使用项目提供的 mcp.json 配置
项目已包含预配置的 `mcp.json` 文件,使用npx方式(推荐):
```json
{
"mcpServers": {
"image-generator": {
"command": "npx",
"args": ["@devinrcai/mcp-image-generator", "--start"],
"env": {
"NODE_ENV": "production"
}
}
}
}
```
如果你需要使用本地源码,可以使用:
```json
{
"mcpServers": {
"image-generator": {
"command": "node",
"args": ["/绝对路径/to/mcp-image-generator/dist/index.js"],
"env": {
"NODE_ENV": "production"
}
}
}
}
```
### 方式四: 使用启动脚本
如果你是从源码安装,项目提供了便捷的启动脚本:
```bash
# 直接运行启动脚本
./start-mcp.sh
# 或者使用 npm
npm run start
```
### 其他 MCP 客户端
对于其他支持 MCP 的客户端,推荐使用 npx 方式:
- 命令: `npx`
- 参数: `["mcp-image-generator", "--start"]`
或者查看所有配置选项:
```bash
npx mcp-image-generator --config
```
## 使用方法
### 1. 设置 API 密钥
首次使用时,需要提供你的 ModelScope API 密钥:
```
使用 set-api-key 工具,提供你的 ModelScope API 密钥
```
### 2. 生成图片
```
使用 generate-image 工具:
- prompt: "一只金色的猫坐在窗台上看夕阳"
- filename: "golden-cat" (可选)
```
### 3. 生成 HTML 占位符
为网页生成图片占位符代码:
```
使用 generate-placeholder-html 工具:
- altText: "产品展示图"
- width: 800
- height: 600
- className: "product-image"
```
### 4. 查看已生成的图片
```
访问资源 images://generated 查看所有已生成的图片列表
```
## 可用工具
1. **set-api-key**: 设置 ModelScope API 密钥
- 参数: `key` (string) - 你的 API 密钥
2. **generate-image**: 生成图片
- 参数:
- `prompt` (string) - 图片描述
- `filename` (string, 可选) - 文件名(不含扩展名)
3. **generate-placeholder-html**: 生成 HTML 图片标签
- 参数:
- `altText` (string) - 替代文本
- `width` (number, 可选) - 宽度
- `height` (number, 可选) - 高度
- `className` (string, 可选) - CSS 类名
## 资源
- **images://generated**: 列出所有已生成的图片
## 工作流程示例
1. AI 编码助手在构建网站时遇到需要图片的地方
2. 使用 `generate-placeholder-html` 创建占位符
3. 使用 `generate-image` 根据描述生成实际图片
4. 将生成的图片路径更新到 HTML 中
## 获取 ModelScope API 密钥
1. 访问 [ModelScope 官网](https://modelscope.cn)
2. 注册/登录账号
3. 在个人中心获取 API Token
## 注意事项
- API 密钥保存在内存中,服务器重启后需要重新设置
- 生成的图片保存在 `generated-images` 目录下
- 支持 JPEG 格式输出
- 请合理使用 API,注意调用频率限制
## 开发
- 开发模式: `npm run dev`
- 构建: `npm run build`
- 清理构建文件: `npm run clean`
## 许可证
MIT