AWS Nova Canvas MCP server

Generate images using Amazon Nova Canvas.
Back to servers
Setup instructions
Provider
AWS
Release date
Apr 04, 2025
Language
Python
Package
Stats
6.4K stars

Amazon Nova Canvas MCP Server is a tool for generating images through Amazon Nova Canvas using text prompts or color palettes. This server implementation follows the Model Context Protocol (MCP) and integrates with MCP-compatible clients to provide powerful image generation capabilities with customizable parameters.

Prerequisites

Before installing the Amazon Nova Canvas MCP Server, ensure you have:

  1. uv installed from Astral
  2. Python 3.10 installed via uv python install 3.10
  3. AWS credentials with access to Amazon Bedrock and Nova Canvas:
    • An AWS account with Amazon Bedrock and Amazon Nova Canvas enabled
    • AWS credentials configured through aws configure or environment variables
    • IAM permissions for Amazon Bedrock and Nova Canvas

Installation

Standard Installation

Configure the MCP server in your MCP client configuration file. For Amazon Q Developer CLI, edit ~/.aws/amazonq/mcp.json:

{
  "mcpServers": {
    "awslabs.nova-canvas-mcp-server": {
      "command": "uvx",
      "args": ["awslabs.nova-canvas-mcp-server@latest"],
      "env": {
        "AWS_PROFILE": "your-aws-profile",
        "AWS_REGION": "us-east-1",
        "FASTMCP_LOG_LEVEL": "ERROR"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

Windows Installation

For Windows users, use this configuration format:

{
  "mcpServers": {
    "awslabs.nova-canvas-mcp-server": {
      "disabled": false,
      "timeout": 60,
      "type": "stdio",
      "command": "uv",
      "args": [
        "tool",
        "run",
        "--from",
        "awslabs.nova-canvas-mcp-server@latest",
        "awslabs.nova-canvas-mcp-server.exe"
      ],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR",
        "AWS_PROFILE": "your-aws-profile",
        "AWS_REGION": "us-east-1"
      }
    }
  }
}

Docker Installation

If using Docker, first build the image with docker build -t awslabs/nova-canvas-mcp-server ., then configure your MCP client:

{
  "mcpServers": {
    "awslabs.nova-canvas-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "--interactive",
        "--env",
        "AWS_REGION=us-east-1",
        "--env",
        "FASTMCP_LOG_LEVEL=ERROR",
        "--env-file",
        "/full/path/to/your/.env",
        "awslabs/nova-canvas-mcp-server:latest"
      ],
      "env": {},
      "disabled": false,
      "autoApprove": []
    }
  }
}

Smithery Installation

For Claude Desktop, install automatically via Smithery:

npx -y @smithery/cli install @awslabs/nova-canvas-mcp-server --client claude

AWS Authentication

The server uses the AWS profile specified in the AWS_PROFILE environment variable, defaulting to the "default" profile if not specified:

"env": {
  "AWS_PROFILE": "your-aws-profile",
  "AWS_REGION": "us-east-1"
}

Ensure your AWS profile has permissions for Amazon Bedrock and Nova Canvas. Your AWS credentials remain on your local machine.

Features and Usage

Text-based Image Generation

Generate images from text prompts using the generate_image function:

  • Customize dimensions from 320px to 4096px
  • Adjust quality options and use negative prompting
  • Generate multiple images (1-5) in a single request
  • Configure parameters like cfg_scale (1.1-10.0)
  • Control randomness with seed values

Color-guided Image Generation

Create images with specific color palettes using generate_image_with_colors:

  • Define up to 10 hex color values to influence the image style
  • Combines the power of text prompts with color guidance
  • Supports the same customization options as text-based generation

Workspace Integration

All generated images are automatically saved to user-specified workspace directories with folder creation as needed.

How to install this MCP server

For Claude Code

To add this MCP server to Claude Code, run this command in your terminal:

claude mcp add-json "awslabs-nova-canvas-mcp-server" '{"command":"uvx","args":["awslabs.nova-canvas-mcp-server@latest"],"env":{"AWS_PROFILE":"your-aws-profile","AWS_REGION":"us-east-1","FASTMCP_LOG_LEVEL":"ERROR"},"disabled":false,"autoApprove":[]}'

See the official Claude Code MCP documentation for more details.

For Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "awslabs.nova-canvas-mcp-server": {
            "command": "uvx",
            "args": [
                "awslabs.nova-canvas-mcp-server@latest"
            ],
            "env": {
                "AWS_PROFILE": "your-aws-profile",
                "AWS_REGION": "us-east-1",
                "FASTMCP_LOG_LEVEL": "ERROR"
            },
            "disabled": false,
            "autoApprove": []
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.

For Claude Desktop

To add this MCP server to Claude Desktop:

1. Find your configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

2. Add this to your configuration file:

{
    "mcpServers": {
        "awslabs.nova-canvas-mcp-server": {
            "command": "uvx",
            "args": [
                "awslabs.nova-canvas-mcp-server@latest"
            ],
            "env": {
                "AWS_PROFILE": "your-aws-profile",
                "AWS_REGION": "us-east-1",
                "FASTMCP_LOG_LEVEL": "ERROR"
            },
            "disabled": false,
            "autoApprove": []
        }
    }
}

3. Restart Claude Desktop for the changes to take effect

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later