Skip to main content
Glama
awslabs

AWS Nova Canvas

Official
by awslabs

Amazon Nova Canvas MCP Server

MCP server for generating images using Amazon Nova Canvas

Features

Text-based image generation

  • Create images from text prompts with generate_image

  • Customizable dimensions (320-4096px), quality options, and negative prompting

  • Supports multiple image generation (1-5) in single request

  • Adjustable parameters like cfg_scale (1.1-10.0) and seeded generation

Color-guided image generation

  • Generate images with specific color palettes using generate_image_with_colors

  • Define up to 10 hex color values to influence the image style and mood

  • Same customization options as text-based generation

Workspace integration

  • Images saved to user-specified workspace directories with automatic folder creation

AWS authentication

  • Uses AWS profiles for secure access to Amazon Nova Canvas services

Related MCP server: MCP Media Generator

Prerequisites

  1. Install uv from Astral or the GitHub README

  2. Install Python using uv python install 3.10

  3. Set up AWS credentials with access to Amazon Bedrock and Nova Canvas

    • You need an AWS account with Amazon Bedrock and Amazon Nova Canvas enabled

    • Configure AWS credentials with aws configure or environment variables

    • Ensure your IAM role/user has permissions to use Amazon Bedrock and Nova Canvas

Installation

Kiro

Cursor

VS Code

Add to Kiro

Install MCP Server

Install on VS Code

Configure the MCP server in your MCP client configuration (e.g., for Kiro, edit ~/.kiro/settings/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, the MCP server configuration format is slightly different:

{
  "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"
      }
    }
  }
}

or docker after a successful docker build -t awslabs/nova-canvas-mcp-server .:

# fictitious `.env` file with AWS temporary credentials
AWS_ACCESS_KEY_ID=ASIAIOSFODNN7EXAMPLE
AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
AWS_SESSION_TOKEN=AQoEXAMPLEH4aoAH0gNCAPy...truncated...zrkuWJOgQs8IZZaIv2BXIa2R4Olgk
  {
    "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": []
      }
    }
  }

NOTE: Your credentials will need to be kept refreshed from your host

Installing via Smithery

To install Amazon Nova Canvas MCP Server for Claude Desktop automatically via Smithery:

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

AWS Authentication

The MCP server uses the AWS profile specified in the AWS_PROFILE environment variable. If not provided, it defaults to the "default" profile in your AWS configuration file.

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

Make sure the AWS profile has permissions to access Amazon Bedrock and Amazon Nova Canvas. The MCP server creates a boto3 session using the specified profile to authenticate with AWS services. Your AWS IAM credentials remain on your local machine and are strictly used for using the Amazon Bedrock model APIs.

Available Tools

2 tools
generate_imageA

Generate an image using Amazon Nova Canvas with text prompt.

This tool uses Amazon Nova Canvas to generate images based on a text prompt.
The generated image will be saved to a file and the path will be returned.

IMPORTANT FOR ASSISTANT: Always send the current workspace directory when calling this tool!
The workspace_dir parameter should be set to the directory where the user is currently working
so that images are saved to a location accessible to the user.

## Prompt Best Practices

An effective prompt often includes short descriptions of:
1. The subject
2. The environment
3. (optional) The position or pose of the subject
4. (optional) Lighting description
5. (optional) Camera position/framing
6. (optional) The visual style or medium ("photo", "illustration", "painting", etc.)

Do not use negation words like "no", "not", "without" in your prompt. Instead, use the
negative_prompt parameter to specify what you don't want in the image.

You should always include "people, anatomy, hands, low quality, low resolution, low detail" in your negative_prompt

## Example Prompts

- "realistic editorial photo of female teacher standing at a blackboard with a warm smile"
- "whimsical and ethereal soft-shaded story illustration: A woman in a large hat stands at the ship's railing looking out across the ocean"
- "drone view of a dark river winding through a stark Iceland landscape, cinematic quality"

Returns:
    McpImageGenerationResponse: A response containing the generated image paths.
ParametersJSON Schema
NameRequiredDescriptionDefault
promptYesThe text description of the image to generate (1-1024 characters)
negative_promptNoText to define what not to include in the image (1-1024 characters)
filenameNoThe name of the file to save the image to (without extension)
widthNoThe width of the generated image (320-4096, divisible by 16)
heightNoThe height of the generated image (320-4096, divisible by 16)
qualityNoThe quality of the generated image ("standard" or "premium")standard
cfg_scaleNoHow strongly the image adheres to the prompt (1.1-10.0)
seedNoSeed for generation (0-858,993,459)
number_of_imagesNoThe number of images to generate (1-5)
workspace_dirNoThe current workspace directory where the image should be saved. CRITICAL: Assistant must always provide the current IDE workspace directory parameter to save images to the user's current project.

Output Schema

ParametersJSON Schema
NameRequiredDescription
pathsYes
statusYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden and does well: it discloses that images are saved to files with paths returned, emphasizes the critical workspace_dir requirement, and provides detailed prompt best practices and negative prompt guidance. It doesn't mention rate limits, authentication needs, or error conditions, but covers core behavioral aspects adequately for a generation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections: purpose statement, important note, prompt best practices, examples, and return type. It's appropriately sized for a complex tool with 10 parameters. Some redundancy exists (e.g., repeating that it uses Amazon Nova Canvas), but overall it's efficient and front-loaded with critical information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (10 parameters, generation operation) and the presence of an output schema (McpImageGenerationResponse), the description is complete. It covers purpose, critical usage requirements, detailed prompt guidance, examples, and return information. With no annotations, it adequately compensates by explaining behavioral aspects and best practices for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 10 parameters thoroughly. The description adds some value by explaining prompt best practices and negative prompt usage, which helps understand the 'prompt' and 'negative_prompt' parameters beyond their schema descriptions. However, it doesn't add significant semantic context for other parameters like width, height, or seed beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate an image using Amazon Nova Canvas with text prompt' and 'The generated image will be saved to a file and the path will be returned.' This specifies the verb (generate), resource (image), technology (Amazon Nova Canvas), and outcome (saved file with returned path). It distinguishes from the sibling tool 'generate_image_with_colors' by not mentioning color parameters.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool: for image generation based on text prompts using Amazon Nova Canvas. It includes an 'IMPORTANT FOR ASSISTANT' section about always providing workspace_dir. However, it doesn't explicitly contrast when to use this vs. the sibling 'generate_image_with_colors' tool, which would be needed for a perfect score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_image_with_colorsA

Generate an image using Amazon Nova Canvas with color guidance.

This tool uses Amazon Nova Canvas to generate images based on a text prompt and color palette.
The generated image will be saved to a file and the path will be returned.

IMPORTANT FOR Assistant: Always send the current workspace directory when calling this tool!
The workspace_dir parameter should be set to the directory where the user is currently working
so that images are saved to a location accessible to the user.

## Prompt Best Practices

An effective prompt often includes short descriptions of:
1. The subject
2. The environment
3. (optional) The position or pose of the subject
4. (optional) Lighting description
5. (optional) Camera position/framing
6. (optional) The visual style or medium ("photo", "illustration", "painting", etc.)

Do not use negation words like "no", "not", "without" in your prompt. Instead, use the
negative_prompt parameter to specify what you don't want in the image.

## Example Colors

- ["#FF5733", "#33FF57", "#3357FF"] - A vibrant color scheme with red, green, and blue
- ["#000000", "#FFFFFF"] - A high contrast black and white scheme
- ["#FFD700", "#B87333"] - A gold and bronze color scheme

Returns:
    McpImageGenerationResponse: A response containing the generated image paths.
ParametersJSON Schema
NameRequiredDescriptionDefault
promptYesThe text description of the image to generate (1-1024 characters)
colorsYesList of up to 10 hexadecimal color values (e.g., "#FF9800")
negative_promptNoText to define what not to include in the image (1-1024 characters)
filenameNoThe name of the file to save the image to (without extension)
widthNoThe width of the generated image (320-4096, divisible by 16)
heightNoThe height of the generated image (320-4096, divisible by 16)
qualityNoThe quality of the generated image ("standard" or "premium")standard
cfg_scaleNoHow strongly the image adheres to the prompt (1.1-10.0)
seedNoSeed for generation (0-858,993,459)
number_of_imagesNoThe number of images to generate (1-5)
workspace_dirNoThe current workspace directory where the image should be saved. CRITICAL: Assistant must always provide this parameter to save images to the user's current project.

Output Schema

ParametersJSON Schema
NameRequiredDescription
pathsYes
statusYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key behaviors: the tool generates and saves images, returns file paths, and requires workspace_dir for accessibility. It also mentions prompt best practices and example color schemes. However, it doesn't cover potential limitations like rate limits, error conditions, or performance characteristics, which would be helpful for a complex tool with 11 parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (purpose, important note, best practices, examples, returns) and is appropriately sized for a complex tool. However, it includes some redundancy (e.g., repeating the importance of workspace_dir) and could be more front-loaded by moving critical usage instructions earlier. Every sentence adds value, but minor trimming could improve efficiency.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (11 parameters, no annotations, but with output schema), the description is complete enough. It covers purpose, usage, behavioral context, and examples, and the output schema handles return values. The description compensates for the lack of annotations by providing practical guidance and warnings, making it sufficient for an agent to use the tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, so the schema already documents all 11 parameters thoroughly. The description adds minimal parameter-specific semantics beyond the schema—it emphasizes the importance of workspace_dir and provides example color values, but doesn't explain the meaning or interaction of parameters like cfg_scale, seed, or quality. Given the high schema coverage, a baseline score of 3 is appropriate as the description adds some value but relies heavily on the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate an image using Amazon Nova Canvas with color guidance.' It specifies the verb ('generate'), resource ('image'), and technology ('Amazon Nova Canvas'), and distinguishes it from the sibling tool 'generate_image' by emphasizing color guidance. The description goes beyond the name to explain the core functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage guidelines, including when to use this tool (for image generation with color guidance) and critical instructions like 'Always send the current workspace directory when calling this tool!' It also offers prompt best practices and distinguishes from alternatives by noting the sibling tool 'generate_image' exists, though it doesn't explicitly say when to choose one over the other. The guidance is comprehensive and actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updates
    • First observedgenerate_image
    • First observedgenerate_image_with_colors

TDQS

A3.9/5.0

Scored across 2 tools

Disambiguation2/5

The two tools have significant overlap in purpose and functionality. Both generate images using Amazon Nova Canvas with text prompts, and both require workspace directory parameters. The only distinction is that 'generate_image_with_colors' adds color palette guidance, which could be handled as an optional parameter in a single tool. This overlap creates ambiguity about when to use each tool.

Naming Consistency5/5

The tool names follow a consistent snake_case pattern with clear verb_noun structure. Both tools start with 'generate_image' and use descriptive suffixes ('with_colors') to indicate variations. This consistency makes the tools easy to identify and understand at a glance.

Tool Count3/5

With only 2 tools, the server feels thin for an image generation domain. While the tools cover basic generation with and without color guidance, there are no tools for editing, upscaling, batch processing, or other common image generation operations. The count is borderline minimal for the apparent scope.

Completeness2/5

The tool surface is severely incomplete for image generation. There are no tools for modifying generated images (e.g., resize, crop, filter), managing generation parameters beyond colors, handling multiple images, or accessing generation history. The server provides only basic creation functionality without supporting common workflows like iterative refinement or batch processing.

Maintenance

ActivityActive
ResponsivenessResponsive

Related MCP Connectors

Related MCP Servers