使用说明

项目简介

本项目 'MCP-image-gen' 是一个 MCP服务器,它扩展了语言模型的能力,使其能够生成和管理图像。该服务器利用 Replicate 提供的 Stable Diffusion 模型来生成图像,并允许用户保存和管理这些图像。通过该服务器,LLM 应用可以调用工具生成图像,并将生成的图像作为资源进行管理和访问。

主要功能点

  • 图像生成: 使用 'generate-image' 工具,通过文本描述生成图像,支持调整图像风格(realistic/artistic/abstract)和高级参数(如 negative prompt, 宽度, 高度等)。
  • 图像保存: 使用 'save-image' 工具,可以将生成的图像保存到服务器本地文件系统,并与指定的prompt关联,方便后续管理。
  • 图像列表: 使用 'list-saved-images' 工具,可以列出所有已保存的图像,包括图像的元数据和缩略图。
  • 资源管理: 将生成的图像作为 资源 (Resources) 进行管理,每个图像都有唯一的 'image://' URI,可以通过该URI访问图像数据。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/rmcendarfer2017/MCP-image-gen
    cd MCP-image-gen
  2. 配置 Replicate API Token:

    • 访问 Replicate 官网 并注册账号。
    • Replicate Account 页面获取您的 API token。
    • 复制仓库中的 '.env.example' 文件并重命名为 '.env'。
    • 将您的 Replicate API token 填入 '.env' 文件中的 'REPLICATE_API_TOKEN' 变量。
      REPLICATE_API_TOKEN=your_replicate_api_token_here
  3. 创建并激活虚拟环境 (推荐):

    # 使用 venv
    python -m venv .venv
    # 激活虚拟环境 (macOS/Linux)
    source .venv/bin/activate
    # 激活虚拟环境 (Windows)
    .venv\Scripts\activate
  4. 安装依赖:

    pip install -r requirements.txt

服务器配置

为了让 MCP 客户端(例如 Claude Desktop)连接到 'MCP-image-gen' 服务器,您需要在客户端的配置文件中添加服务器配置信息。以 Claude Desktop 为例,您需要编辑 'claude_desktop_config.json' 文件,文件路径如下:

  • MacOS: '~/Library/Application\ Support/Claude/claude_desktop_config.json'
  • Windows: '%APPDATA%/Claude/claude_desktop_config.json'

在 'claude_desktop_config.json' 文件中的 '"mcpServers"' 字段下,添加如下配置(请根据您的实际项目路径进行调整):

开发/未发布服务器配置 (Development/Unpublished Servers Configuration)

{
  "mcpServers": {
    "image-generator": {  // 服务器名称,客户端用此名称引用
      "command": "uv",   // 启动服务器的命令,这里使用 uv (uvicorn 的别名)
      "args": [         // 启动命令的参数列表
        "--directory",  // 指定工作目录
        "您的MCP-image-gen仓库路径", //  请替换为您的 MCP-image-gen 仓库的绝对路径,例如 "B:\NEWTEST\MCP-image-gen" 或 "/Users/yourusername/MCP-image-gen"
        "run",          // uv 命令的子命令,表示运行 Python 模块或包
        "image-generator" //  指定要运行的 Python 包名,对应 src/image_generator/__init__.py 中的 main 函数
      ]
    }
  }
}

发布服务器配置 (Published Servers Configuration)

如果您已经将 'image-generator' 打包并发布,可以使用以下配置:

{
  "mcpServers": {
    "image-generator": { // 服务器名称,客户端用此名称引用
      "command": "uvx",  // 启动已发布服务器的命令 (uvicorn 的别名 for published packages)
      "args": [        // 启动命令的参数列表
        "image-generator" // 指定要运行的已发布包名
      ]
    }
  }
}

注意:

  • 请根据您实际的仓库路径和运行环境,修改 'args' 中的路径信息。
  • 'uv' 和 'uvx' 是 'uvicorn' 的别名,需要确保您的环境中安装了 'uvicorn'。如果使用 'pip install -r requirements.txt' 安装依赖,则会自动安装 'uvicorn'。
  • 开发配置和发布配置的区别在于 'command' 和 'args' 的设置,开发配置需要指定仓库路径,而发布配置则直接运行已发布的包。

基本使用方法

  1. 启动 MCP 服务器: 根据您选择的配置(开发或发布),在命令行中运行相应的启动命令。如果您使用开发配置,通常直接在仓库根目录下运行配置中 'command' 和 'args' 拼接的命令即可,例如:

    uv --directory 您的MCP-image-gen仓库路径 run image-generator
  2. 在 MCP 客户端中使用工具和资源: 启动服务器后,您可以在 MCP 客户端(例如 Claude Desktop)中连接到名为 'image-generator' 的 MCP 服务器。

    • 生成图像: 在客户端中使用 'generate-image' 工具,并提供图像描述 prompt。您可以选择性地设置图像风格和其他参数。工具会返回生成的图像 URL。
    • 保存图像: 使用 'save-image' 工具,提供要保存的 'image_url' 和相关的 'prompt'。图像将被保存到服务器本地,并可以通过资源列表访问。
    • 列出已保存图像: 使用 'list-saved-images' 工具,查看所有已保存的图像及其信息。
    • 访问图像资源: 客户端可以访问 'image://internal/{image_id}' 格式的 URI 来获取已保存的图像资源。

通过以上步骤,您就可以成功安装、配置和使用 'MCP-image-gen' 服务器,为您的 LLM 应用提供图像生成和管理能力。

信息

分类

AI与计算