About Amazon Bedrock MCP Server
This MCP server uses Amazon Bedrock's Nova Canvas model to generate images from text. It suits developers who want image generation through an MCP client on AWS, with negative prompts and seed control.
Key features
- 01Generates images from text descriptions
- 02Negative prompts to exclude image elements
- 03Configurable dimensions, quality and cfg_scale
- 04Seed control for reproducible results
- 05Batch generation of up to five images
Use cases
- 01Creating illustrations from text in Claude Desktop
- 02Generating several image variants for one topic
- 03Reproducing earlier results with a fixed seed
MCP support
The server exposes a generate_image tool to MCP clients, which pass the prompt and options such as size and quality to Nova Canvas.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y @zxkane/mcp-server-amazon-bedrockAWS_PROFILEAWS_ACCESS_KEY_IDSecretAWS_SECRET_ACCESS_KEYSecretAWS_REGIONLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
1Saved tool list · updated 3w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| prompt | string | Yes | Text description of the image to generate (1-1024 characters) |
| negativePrompt | string | No | Optional text description of what to avoid in the image (1-1024 characters) |
| width | number | No | Width of the generated image (default: 1024) |
| height | number | No | Height of the generated image (default: 1024) |
| quality | enum | No | Quality of the generated image (default: standard)standard | premium |
| cfg_scale | number | No | How closely to follow the prompt (1.1-10, default: 6.5) |
| seed | number | No | Seed for reproducible generation (0-858993459, default: 12) |
| numberOfImages | number | No | Number of images to generate (1-5, default: 1) |
Details
From the project READMEAmazon Bedrock MCP Server
A Model Control Protocol (MCP) server that integrates with Amazon Bedrock's Nova Canvas model for AI image generation.
Features
- High-quality image generation from text descriptions using Amazon's Nova Canvas model
- Advanced control through negative prompts to refine image composition
- Flexible configuration options for image dimensions and quality
- Deterministic image generation with seed control
- Robust input validation and error handling
Prerequisites
- Active AWS account with Amazon Bedrock and Nova Canvas model access
- Properly configured AWS credentials with required permissions
- Node.js version 18 or later
Installation
AWS Credentials Configuration
The server requires AWS credentials with appropriate Amazon Bedrock permissions. Configure these using one of the following methods:
-
Environment variables:
export AWS_ACCESS_KEY_ID=your_access_key export AWS_SECRET_ACCESS_KEY=your_secret_key export AWS_REGION=us-east-1 # or your preferred region -
AWS credentials file (
~/.aws/credentials):[the_profile_name] aws_access_key_id = your_access_key aws_secret_access_key = your_secret_keyEnvironment variable for active profile:
export AWS_PROFILE=the_profile_name -
IAM role (when deployed on AWS infrastructure)
Claude Desktop Integration
To integrate with Claude Desktop, add the following configuration to your settings file:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"amazon-bedrock": {
"command": "npx",
"args": [
"-y",
"@zxkane/mcp-server-amazon-bedrock"
],
"env": {
"AWS_PROFILE": "your_profile_name", // Optional, only if you want to use a specific profile
"AWS_ACCESS_KEY_ID": "your_access_key", // Optional if using AWS credentials file or IAM role
"AWS_SECRET_ACCESS_KEY": "your_secret_key", // Optional if using AWS credentials file or IAM role
"AWS_REGION": "us-east-1" // Optional, defaults to 'us-east-1'
}
}
}
}
Available Tools
generate_image
Creates images from text descriptions using Amazon Bedrock's Nova Canvas model.
Parameters
prompt(required): Descriptive text for the desired image (1-1024 characters)negativePrompt(optional): Elements to exclude from the image (1-1024 characters)width(optional): Image width in pixels (default: 1024)height(optional): Image height in pixels (default: 1024)quality(optional): Image quality level - "standard" or "premium" (default: "standard")cfg_scale(optional): Prompt adherence strength (1.1-10, default: 6.5)seed(optional): Generation seed for reproducibility (0-858993459, default: 12)numberOfImages(optional): Batch size for generation (1-5, default: 1)
Example Implementation
const result = await callTool('generate_image', {
prompt: "A serene mountain landscape at sunset",
negativePrompt: "people, buildings, vehicles",
quality: "premium",
cfg_scale: 8,
numberOfImages: 2
});
Prompt Guidelines
For optimal results, avoid negative phrasing ("no", "not", "without") in the main prompt. Instead, move these elements to the negativePrompt parameter. For example, rather than using "a landscape without buildings" in the prompt, use "buildings" in the negativePrompt.
For detailed usage guidelines, refer to the Nova Canvas documentation.
Development
To set up and run the server in a local environment:
git clone https://github.com/zxkane/mcp-server-amazon-bedrock.git
cd mcp-server-amazon-bedrock
npm install
npm run build
Performance Considerations
Generation time is influenced by resolution (width and height), numberOfImages, and quality settings. When using higher values, be mindful of potential timeout implications in your implementation.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.
