使用说明
项目简介
MCP图片生成器是一个实现了 Model Context Protocol (MCP) 协议的服务器,它为大型语言模型(LLM)客户端提供图像生成功能。通过注册 'generate_image' 工具,LLM 客户端可以调用此服务器来根据文本提示生成图像。本服务器支持通过 Stdio 和 SSE 两种传输协议与客户端通信,并可配置使用 Replicate 或 Together AI 作为图像生成服务的提供商。
主要功能点
- 图像生成工具: 提供 'generate_image' 工具,允许 LLM 客户端根据文本提示生成图像。
- 多服务提供商支持: 支持 Replicate 和 Together AI 两种流行的图像生成服务,用户可以根据需求配置使用。
- 灵活的部署方式: 支持本地 Stdio 模式和基于 Docker 的 SSE 模式部署,满足不同场景的需求。
- 可配置的参数: 'generate_image' 工具支持配置图像的宽度、高度和生成数量等参数。
安装步骤
-
克隆仓库
git clone https://github.com/GMKR/mcp-imagegen.git cd mcp-imagegen -
安装依赖 确保已安装 Node.js 和 pnpm。然后运行:
pnpm install -
配置环境变量 根据您选择的图像生成服务提供商,您需要设置相应的 API 密钥和 Provider。
- Replicate: 设置 'REPLICATE_API_TOKEN' 环境变量,并将 'PROVIDER' 环境变量设置为 'replicate'。
- Together AI: 设置 'TOGETHER_API_KEY' 环境变量,并将 'PROVIDER' 环境变量设置为 'together'。
您还可以选择性地设置 'MODEL_NAME' 环境变量来指定使用的图像生成模型,默认为 'black-forest-labs/flux-schnell'。
服务器配置 (MCP 客户端)
MCP 客户端需要配置服务器的连接信息才能使用 MCP 图片生成器。以下是 Stdio 和 SSE 两种模式的配置示例。
1. Stdio 模式 (本地运行)
如果您希望在本地运行 MCP 图片生成器,可以使用 Stdio 模式。在 MCP 客户端的配置文件中,添加以下服务器配置:
{ "mcpServers": { "imagegenerator": { "command": "pnpx", "args": [ "-y", "tsx", "/path/to/mcp-imagegen/src/index.ts" // 将 "/path/to/mcp-imagegen" 替换为您的仓库本地路径 ], "env": { "PROVIDER": "replicate", // 或 "together" "REPLICATE_API_TOKEN": "YOUR_REPLICATE_API_TOKEN" // 或 "TOGETHER_API_KEY": "YOUR_TOGETHER_API_KEY" } } } }
配置参数说明:
- 'server name': 'imagegenerator' (服务器名称,客户端用于引用)
- 'command': 'pnpx' (用于执行 Node.js 包的命令)
- 'args': '["-y", "tsx", "/path/to/mcp-imagegen/src/index.ts"]' (启动服务器的参数,需要将 '/path/to/mcp-imagegen/src/index.ts' 替换为 'index.ts' 文件的实际绝对路径)
- 'env': 环境变量配置,用于设置 API 密钥和 Provider。
请务必将 '/path/to/mcp-imagegen/src/index.ts' 替换为 'index.ts' 文件的实际绝对路径。
2. SSE 模式 (Docker 运行)
如果您使用 Docker 运行 MCP 图片生成器,可以使用 SSE 模式。首先按照仓库 README 中的 Docker 指令构建和运行 Docker 容器。然后在 MCP 客户端的配置文件中,添加以下服务器配置:
{ "mcpServers": { "imagegenerator": { "url": "http://localhost:3000/sse", // 如果服务器部署在其他地址,请替换为实际地址 "env": { "PROVIDER": "replicate", // 或 "together" "REPLICATE_API_TOKEN": "YOUR_REPLICATE_API_TOKEN" // 或 "TOGETHER_API_KEY": "YOUR_TOGETHER_API_KEY" } } } }
配置参数说明:
- 'server name': 'imagegenerator' (服务器名称,客户端用于引用)
- 'url': 'http://localhost:3000/sse' (MCP 服务器的 SSE 端点 URL,如果服务器部署在其他地址,请替换为实际地址)
- 'env': 环境变量配置,用于设置 API 密钥和 Provider。
请根据您的服务器实际部署地址替换 'url' 字段。
基本使用方法
配置完成后,LLM 客户端可以通过调用 'imagegenerator.generate_image' 工具来生成图像。
工具名称: 'imagegenerator.generate_image'
参数:
- 'prompt' (string, 必选): 生成图像的文本提示。
- 'width' (number, 可选): 图像宽度,默认为 512。
- 'height' (number, 可选): 图像高度,默认为 512。
- 'numberOfImages' (number, 可选): 生成图像的数量,默认为 1。
示例 (假设客户端使用 JSON-RPC 请求):
{ "jsonrpc": "2.0", "method": "call", "params": { "tool_call_id": "123", "tool_name": "imagegenerator.generate_image", "tool_arguments": { "prompt": "A futuristic cityscape at sunset", "width": 1024, "height": 768" } }, "id": 1 }
服务器将返回生成的图像数据(Base64 编码)作为响应。
信息
分类
AI与计算