AWS Nova Canvas MCP服务器
使用说明
项目简介
本项目 'AWS Nova Canvas MCP Server' 是一个基于 Model Context Protocol (MCP) 的服务器实现,它利用 Amazon Bedrock 平台的 Nova Canvas 模型,为 MCP 客户端(如 Claude Desktop 桌面应用)提供强大的图像生成和编辑能力。用户可以通过 Claude Desktop 调用此 MCP 服务器提供的工具,实现文本生成图像、图像局部修复、图像扩展、图像变体生成、风格迁移、颜色引导生成和背景移除等功能。
主要功能点
- 文生图 (Text to Image): 根据文本描述生成全新的图像。
- 图像修复 (Image Inpainting): 根据文本提示,修复图像的指定区域。
- 图像外扩 (Image Outpainting): 根据文本提示,扩展图像的边界,创造更大的图像场景。
- 图像变体 (Image Variation): 基于上传的参考图像,生成风格相似但内容略有不同的新图像。
- 图像条件控制 (Image Conditioning): 以参考图像的构图和布局为基础,根据文本提示生成新的图像,实现风格迁移或内容替换等效果。
- 颜色引导生成 (Color Guided Generation): 根据指定的颜色列表和文本提示生成图像,可以控制图像的整体色调。
- 背景移除 (Background Removal): 自动移除图像的背景,突出前景主体。
- 图像缩略图显示 (Show Image Thumbnails): 生成并显示图像的缩略图,方便预览和管理。
安装步骤
-
克隆仓库: 打开终端,执行以下命令克隆代码仓库到本地:
git clone https://github.com/yunwoong7/aws-nova-canvas-mcp.git -
配置 Claude Desktop 开发者设置:
- 打开 Claude Desktop 桌面应用。
- 点击菜单栏的 Claude > Settings (Claude > 设置)。
- 在弹出的设置窗口中,选择左侧菜单的 Developer (开发者) 选项卡,并点击 Edit Settings (编辑设置) 按钮。
- 这将打开一个包含 'claude_desktop_config.json' 文件的文件夹。
-
修改 'claude_desktop_config.json' 文件: 将以下 JSON 配置代码添加到 'claude_desktop_config.json' 文件中。 请务必将 '"Path to clone folder"' 替换为你实际克隆仓库的本地路径。
"nova-canvas": { "serverName": "Nova Canvas MCP Server", "command": "uv", "args": [ "--directory", "Path to clone folder", // 替换为你的仓库克隆路径,例如 "/Users/yourname/aws-nova-canvas-mcp" (macOS/Linux) 或 "C:\\Users\\YourName\\aws-nova-canvas-mcp" (Windows) "run", "src/server.py" ], "env": { "AWS_ACCESS_KEY_ID": "YOUR_AWS_ACCESS_KEY_ID", // 你的AWS访问密钥 ID "AWS_SECRET_ACCESS_KEY": "YOUR_AWS_SECRET_ACCESS_KEY", // 你的AWS秘密访问密钥 "AWS_REGION": "us-east-1", // AWS 区域,默认为 us-east-1 "PORT": "8000" // 服务器端口号,默认为 8000 } } -
配置环境变量 (可选): 你也可以选择将 'AWS_ACCESS_KEY_ID', 'AWS_SECRET_ACCESS_KEY', 'AWS_REGION', 'PORT' 等配置为系统环境变量,或者在项目根目录下创建 '.env' 文件进行配置。 如果你在 'claude_desktop_config.json' 中配置了 'env',则会覆盖环境变量或 '.env' 文件中的配置。
-
验证配置: 完成配置后,在 Claude Desktop 的 Settings > Developer (设置 > 开发者) 选项卡中,你应该能看到名为 "nova-canvas" 的自定义服务器项。
重要提示: MCP 服务器设置仅在 Claude Desktop 桌面应用 中有效,Claude 网页版不支持 MCP 服务器。
服务器配置
上述 'claude_desktop_config.json' 文件中的 '"nova-canvas"' 部分是 Claude Desktop 连接到 MCP 服务器的关键配置。
- '"serverName"': 服务器名称,显示在 Claude Desktop 客户端中,可以自定义。
- '"command"': 启动 MCP 服务器的命令,这里使用 'uv' 命令,假设你已经安装了 'uv' (一个快速的 Python 包安装和运行工具,类似于 'pip' 和 'venv' 的组合)。 如果你没有安装 'uv',可能需要替换为 'python3' 或 'python',并确保你的 Python 环境中安装了项目依赖。
- '"args"': 传递给 'command' 的参数列表。
- '"--directory"': 指定工作目录为克隆仓库的路径。
- '"run"': 使用 'uv run' 运行 Python 脚本。
- '"src/server.py"': 指定要运行的服务器脚本路径。
- '"env"': 环境变量配置,传递给服务器脚本。
- '"AWS_ACCESS_KEY_ID"': 必需,你的 AWS 访问密钥 ID,用于访问 Amazon Bedrock 服务。
- '"AWS_SECRET_ACCESS_KEY"': 必需,你的 AWS 秘密访问密钥,用于访问 Amazon Bedrock 服务。
- '"AWS_REGION"': 可选,AWS 区域,默认为 'us-east-1'。 确保与你的 Bedrock 服务所在区域一致。
- '"PORT"': 可选,MCP 服务器监听的端口号,默认为 '8000'。 如果端口被占用,可以修改为其他未被占用的端口。
基本使用方法
-
确保 Claude Desktop 桌面应用已正确安装并配置了 "nova-canvas" MCP 服务器。
-
启动 Claude Desktop 应用。
-
在 Claude Desktop 的对话界面中,你可以通过自然语言指令调用 MCP 服务器提供的工具。 例如:
- "使用 nova-canvas 生成一张猫的图片" (调用文生图工具)
- "使用 nova-canvas 修复这张图片中的瑕疵" (调用图像修复工具,可能需要先上传图片)
- "使用 nova-canvas 移除这张图片的背景" (调用背景移除工具,需要先上传图片)
具体的工具调用方式和参数需要参考 Claude Desktop 或其他 MCP 客户端的文档和界面提示。 本项目主要负责提供 MCP 服务器端的图像处理能力,客户端如何调用取决于客户端的实现。
注意: 由于本项目是基于 Amazon Bedrock 和 Nova Canvas 模型,你需要确保你的 AWS 账户已开通 Amazon Bedrock 服务,并且有权访问 Nova Canvas 模型。 相关的 AWS 密钥需要正确配置。