使用说明

项目简介

本项目是一个基于 Model Context Protocol (MCP) 的服务器,专注于图像生成功能。它通过集成 Together AI 提供的 Flux.1 Schnell 模型,允许用户通过文本提示快速生成高质量的图像。作为一个 MCP 服务器,它可以与任何兼容 MCP 协议的客户端(如 Claude Desktop)配合使用,为 LLM 应用提供图像生成能力。

主要功能点

  • 高质量图像生成: 使用先进的 Flux.1 Schnell 模型,确保生成的图像质量优秀。
  • 可定制图像尺寸: 用户可以根据需要指定生成图像的宽度和高度。
  • 清晰的错误处理: 服务器能够处理来自 Prompt 验证和 API 调用的错误,并提供友好的错误信息。
  • 易于集成: 遵循 MCP 协议标准,可以轻松集成到任何兼容 MCP 的客户端应用中。

安装步骤

  1. 安装 Python: 确保你的系统已安装 Python 3.12 或更高版本。你可以从 Python 官网 下载并安装。
  2. 安装依赖: 使用 pip 安装项目所需的 Python 包。在终端中,导航到仓库根目录(包含 'requirements.txt' 文件,本仓库没有 'requirements.txt' 文件,但根据 'README.md' 和代码,需要安装 'httpx' 和 'mcp'),运行以下命令:
    pip install httpx mcp
  3. 配置 API 密钥: 你需要从 Together AI 获取 API 密钥。获取密钥后,请设置名为 'TOGETHER_AI_API_KEY' 的环境变量,将其值设置为你的 API 密钥。例如,在 Linux/macOS 中,你可以使用 'export TOGETHER_AI_API_KEY=<你的API密钥>' 命令;在 Windows 中,你可以在系统环境变量中设置。

服务器配置

要将此 MCP 服务器配置到 MCP 客户端(例如 Claude Desktop),你需要提供服务器的启动命令和参数。以下是 Claude Desktop 的配置示例,你需要将以下 JSON 配置添加到 Claude Desktop 的配置文件 ('claude_desktop_config.json') 中。

Claude Desktop 配置文件 (claude_desktop_config.json) 配置示例:

{
  "mcpServers": {
    "image-gen": {
      "command": "uv",
      "args": [
        "--directory",
        "/ABSOLUTE/PATH/TO/image-gen/",  // 替换为你的 'mcp-image-gen' 仓库的绝对路径
        "run",
        "image-gen"
      ],
      "env": {
        "TOGETHER_AI_API_KEY": "<API KEY>" //  这里可以留空,因为API密钥从系统环境变量中读取
      }
    }
  }
}

配置参数说明:

  • '"image-gen"': 服务器的名称,客户端使用此名称来识别和调用该服务器。
  • '"command": "uv"': 启动服务器的命令。这里使用 'uv' (基于 Rust 的 Python 包安装和运行工具,如果未安装,请替换为 'python' 或 'python3')。 确保你的环境中安装了 'uv' 或将 'command' 更改为 'python' 并相应调整 'args'。
  • '"args"': 传递给启动命令的参数列表。
    • '"--directory"': 指定服务器代码所在的目录,需要替换为你的 'mcp-image-gen' 仓库在本地文件系统中的绝对路径
    • '"run"': 使用 'uv run' 命令来运行 Python 包。
    • '"image-gen"': 指定要运行的 Python 包名称,对应 'src/image_gen/init.py' 文件所在的目录名。
  • '"env"': 环境变量配置。
    • '"TOGETHER_AI_API_KEY": "<API KEY>"': 注意:推荐将 'TOGETHER_AI_API_KEY' 设置为系统环境变量,此处可以留空。 如果你选择在此处配置,请将 '<API KEY>' 替换为你的 Together AI API 密钥。强烈建议不要直接在配置文件中硬编码 API 密钥,而是使用系统环境变量以提高安全性。

重要提示:

  • 绝对路径: 'args' 中的 '--directory' 参数必须使用你的 'mcp-image-gen' 仓库的绝对路径。你需要根据你的实际文件系统路径进行修改。
  • uv 或 Python: 'command' 字段示例中使用 'uv',你需要根据你的环境和偏好选择 'uv' 或 'python'。 如果使用 'python','args' 可能需要调整为 '["-m", "image_gen.server"]' 或 '["src/image_gen/server.py"]',具体取决于你的项目结构和运行方式。 使用 'uv run image-gen' 前提是项目根目录下有 'pyproject.toml' 或 'setup.py' 文件声明 'image-gen' 包,但本仓库没有,更推荐使用 'python src/image_gen/server.py' 启动服务器。
  • API 密钥安全: 务必妥善保管你的 Together AI API 密钥,避免泄露。推荐使用系统环境变量来传递 API 密钥。

基本使用方法

  1. 启动 MCP 服务器: 配置完成后,启动你的 MCP 客户端(如 Claude Desktop)。客户端会自动尝试连接并启动你在配置文件中指定的 MCP 服务器。

  2. 调用 'generate_image' 工具: 在 MCP 客户端中,你可以通过自然语言指令或图形界面来调用 'generate_image' 工具。你需要提供以下参数:

    • 'prompt': (必填) 描述你想要生成的图像的文本提示,例如 "a futuristic cityscape at sunset"。
    • 'width': (可选) 生成图像的宽度,单位为像素。
    • 'height': (可选) 生成图像的高度,单位为像素。

    客户端会将你的请求发送到 'image-gen' MCP 服务器,服务器会调用 Together AI API 生成图像,并将生成的图像数据返回给客户端。客户端会根据返回的数据展示生成的图像。

示例对话 (在 MCP 客户端中):

用户输入: '请生成一张猫咪在海边看日落的图片'

客户端会将指令转换为对 'generate_image' 工具的调用,并将 "猫咪在海边看日落" 作为 'prompt' 参数发送到 'image-gen' 服务器。服务器处理请求后,会将生成的猫咪看日落的图像返回给客户端,客户端则将图像展示给用户。

信息

分类

AI与计算