使用说明

项目简介

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' 工具支持配置图像的宽度、高度和生成数量等参数。

安装步骤

  1. 克隆仓库

    git clone https://github.com/GMKR/mcp-imagegen.git
    cd mcp-imagegen
  2. 安装依赖 确保已安装 Node.js 和 pnpm。然后运行:

    pnpm install
  3. 配置环境变量 根据您选择的图像生成服务提供商,您需要设置相应的 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与计算