AWS Nova Canvas MCP server

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

The Amazon Nova Canvas MCP Server provides a Model Context Protocol server for generating images using Amazon Nova Canvas. It connects compatible AI assistants to Amazon's image generation capabilities, allowing for text and color-guided image creation through simple API calls.

Prerequisites

  • Install UV: First install uv from Astral or GitHub
  • Install Python: Run uv python install 3.10
  • AWS Setup:
    • An AWS account with Amazon Bedrock and Amazon Nova Canvas enabled
    • AWS credentials configured via aws configure or environment variables
    • IAM permissions for Amazon Bedrock and Nova Canvas services

Installation Options

Using MCP Configuration

Add the following to your MCP 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": []
    }
  }
}

Using Docker

After building the Docker image with docker build -t awslabs/nova-canvas-mcp-server .:

Create an environment file for AWS credentials:

AWS_ACCESS_KEY_ID=ASIAIOSFODNN7EXAMPLE
AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
AWS_SESSION_TOKEN=AQoEXAMPLEH4aoAH0gNCAPy...truncated...zrkuWJOgQs8IZZaIv2BXIa2R4Olgk

Configure your MCP servers:

{
  "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/file/above/.env",
        "awslabs/nova-canvas-mcp-server:latest"
      ],
      "env": {},
      "disabled": false,
      "autoApprove": []
    }
  }
}

Installing via Smithery

For Claude Desktop, install automatically using 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 provided:

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

Ensure your AWS profile has the necessary permissions for Amazon Bedrock and Nova Canvas.

Usage Features

Text-Based Image Generation

  • Generate images from text prompts using generate_image
  • Customize dimensions (320-4096px), quality settings, and negative prompting
  • Create multiple images (1-5) in a single request
  • Adjust parameters like cfg_scale (1.1-10.0) and seed values for consistent results

Color-Guided Image Generation

  • Generate images with specific color palettes via generate_image_with_colors
  • Define up to 10 hex color values to influence the image style
  • Access the same customization options available in text-based generation

Workspace Integration

All generated images are automatically saved to user-specified workspace directories, with folders created as needed.

How to add this MCP server to 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 > MCP and click "Add new global MCP server".

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

{
    "mcpServers": {
        "cursor-rules-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "cursor-rules-mcp"
            ]
        }
    }
}

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 explictly ask the agent to use the tool by mentioning the tool name and describing what the function does.

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