
AWS Nova Canvas MCP Server
An MCP server that allows you to generate and edit images using Amazon Bedrock's Nova Canvas model, supporting features like text-to-image generation, inpainting, outpainting, image variation, and background removal.
Tools
text_to_image
Generate an image from a text prompt. After generation, you can use the show_image tool to view the thumbnail. Args: prompt: Text prompt for generating an image (maximum 1024 characters) negative_prompt: Text prompt for excluding attributes from generation (maximum 1024 characters) height: Image height (pixels) width: Image width (pixels) num_images: Number of images to generate (maximum 4) cfg_scale: Image matching degree for the prompt (1-20) seed: Seed value for image generation open_browser: Whether to open the image in the browser after generation Returns: Dict: Dictionary containing the file path of the generated image and the thumbnail image
inpainting
Inpaint a specific part of an image using a text mask prompt. Args: image_path: File path of the original image prompt: Text prompt for the area to be inpainted mask_prompt: Text prompt for specifying the area to be masked (e.g., "window", "car") negative_prompt: Text prompt for excluding attributes from generation height: Output image height (pixels) width: Output image width (pixels) cfg_scale: Image matching degree for the prompt (1-20) open_browser: Whether to open the image in the browser after generation Returns: Dict: Dictionary containing the file path of the inpainted image
outpainting
Expand the image to create an outpainting. Args: image_path: File path of the original image mask_image_path: File path of the mask image prompt: Text describing the content to be generated in the outpainting area negative_prompt: Text specifying attributes to exclude from generation outpainting_mode: Outpainting mode (DEFAULT or PRECISE) height: Output image height (pixels) width: Output image width (pixels) cfg_scale: Prompt matching degree (1-20) Returns: Dict: Dictionary containing the file path of the outpainted image
image_variation
Generate a new variation of the input image while maintaining its content. Args: image_paths: List of file paths of the original images (1-5) prompt: Text for generating a variation image (optional) negative_prompt: Text specifying attributes to exclude from generation similarity_strength: Similarity between the original image and the generated image (0.2-1.0) height: Output image height (pixels) width: Output image width (pixels) cfg_scale: Prompt matching degree (1-20) Returns: Dict: Dictionary containing the file path of the variation image
image_conditioning
Generate an image that follows the layout and composition of a reference image. Args: image_path: File path of the reference image prompt: Text describing the image to be generated negative_prompt: Text specifying attributes to exclude from generation control_mode: Control mode (CANNY_EDGE, etc.) height: Output image height (pixels) width: Output image width (pixels) cfg_scale: Prompt matching degree (1-20) Returns: Dict: Dictionary containing the file path of the generated image
color_guided_generation
Generate an image using a specified color palette. Args: prompt: Text describing the image to be generated colors: List of color codes (1-10 hex color codes, e.g., "#ff8080") reference_image_path: File path of the reference image (optional) negative_prompt: Text specifying attributes to exclude from generation height: Output image height (pixels) width: Output image width (pixels) cfg_scale: Prompt matching degree (1-20) ctx: MCP context Returns: Dict: Dictionary containing the file path of the generated image
background_removal
Remove the background of an image automatically. Args: image_path: File path of the original image ctx: MCP context Returns: Dict: Dictionary containing the file path of the image with the background removed
show_image
Create a thumbnail of the image and return it. The maximum size is 1048578. Supports URLs or local file paths. Args: image_path: Image URL or local file path width: Output image width (pixels) height: Output image height (pixels) Returns: Image: Thumbnail image
README
<h2 align="center"> AWS Nova Canvas MCP Server </h2>
<div align="center"> <img src="https://img.shields.io/badge/Python-3.12-3776AB?logo=python"/> <img src="https://img.shields.io/badge/Amazon-Bedrock-FF9900?logo=amazon&logoColor=white"/> </div>
An MCP server that allows you to generate and edit images using the Nova Canvas model of Amazon Bedrock.
Features
- Text to Image
- Image Inpainting
- Image Outpainting
- Image Variation
- Image Conditioning
- Color Guided Generation
- Background Removal
- Show Image Thumbnails
Installation
Claude Desktop Setup
- Clone the repository
git clone https://github.com/yunwoong/aws-nova-canvas-mcp.git
- Configure Claude Desktop
- Click on Claude > Settings from the Claude Desktop menu.
- When the popup appears, select Developer from the left menu, and click the Edit Settings button.
- This will open a folder containing the settings file. The name of this settings file is:
claude_desktop_config.json
<div align="center"> <img src="https://blog.kakaocdn.net/dn/bIl5q9/btsM3U5Vjw5/aGruWqP3wNmWZ1sKrnhbPk/img.png" width="70%"> </div>
-
Add the following content to the settings file (Python version):
-
python version
"nova-canvas": { "command": "uv", "args": [ "--directory", "Path to clone folder", "run", "server.py" ], "env": { "AWS_PROFILE": "YOUR_AWS_PROFILE" } }
✅ Only AWS_PROFILE is required. Other variables like AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION, and PORT are optional and not necessary if your AWS profile is set correctly.
⚙️ If the setup is completed successfully, you can see that the "nova-canvas" item has been added in Claude > Settings > Developer tab. ⚠️ Important: MCP settings only work on the Claude desktop app, not the Claude web browser version
-
Image Save Location
By default, all generated or edited images will be saved in the following directory:
- macOS / Linux:
~/Desktop/aws-nova-canvas
- Windows:
C:\Users\YourUsername\Desktop\aws-nova-canvas
📁 If no image save path is specified, the application will automatically create and use the folder above.
<div align="center"> <img src="https://blog.kakaocdn.net/dn/bpUWLj/btsM4kJZC6v/HHQfQctKsevWnK6LCKEkv0/img.png" width="70%"> </div>
Usage Example
<div align="center"> <img src="https://blog.kakaocdn.net/dn/uNi8L/btsM4pEjswV/hSfxo1gHzPvpXPsEEyuijk/img.gif" width="70%"> </div>
Limitations
- Prompt text supports up to 1024 characters
- Image generation allows up to 3 images at a time
- Image variation requires 1-5 reference images
- Color guide supports 1-10 color codes
License
MIT License
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.