MCP server for AWS Bedrock - text, image, video, and embeddings across Claude, Llama, Mistral, Nova, Qwen, DeepSeek, GPT-OSS and more
Server has 7 well-named tools with clear descriptions and complete Zod schemas. Tool names follow verb_noun pattern (bedrock_ask, bedrock_compare, bedrock_list_models, bedrock_generate_image, bedrock_generate_video, bedrock_video_status, bedrock_embed). All tools have descriptions (194 - 250 chars, within baseline 34 - 392). All parameters are typed and described. Tool annotations (readOnlyHint, openWorldHint) are present. However, output schemas are not explicitly documented in code, responses are inferred from implementation. Error handling returns text-only messages without structured guidance or recovery hints. No pagination support for list_models despite potentially large result sets. bedrock_generate_image and bedrock_generate_video are WRITE operations but lack confirmation/dry-run patterns.
Send a prompt to any AWS Bedrock model via the Converse API. Supports Claude, Llama, Mistral, Nova, Qwen, DeepSeek, GPT-OSS, and more. Use short aliases (e.g. 'llama4', 'nova-pro') or full model IDs.
Send the same prompt to multiple Bedrock models and compare responses side by side. Useful for evaluating model quality, speed, and style differences.
Generate embeddings for one or more texts using AWS Bedrock embedding models (Amazon Titan, Cohere). Returns vectors and optional similarity scores.
Generate an image from a text prompt using AWS Bedrock image models (Stable Image Ultra, Stable Diffusion 3.5 Large, Stable Image Core). Saves the image to the current working directory by default (or output_dir if passed, or BEDROCK_MCP_OUTPUT_DIR env var, falling back to ~/bedrock-images/ if cwd is not writable).
Start a video generation job using Luma Ray 2 on AWS Bedrock. Videos are generated asynchronously and saved to an S3 bucket. Returns a job ARN - use bedrock_video_status to check progress. Note: the output S3 bucket must be in us-west-2 (the model region).
Output schemas not documented. Tool responses are inferred from implementation (text content, token counts, latency). LLMs cannot plan downstream calls or extract structured data without explicit response schema documentation.
Error handling returns plain text messages without structured guidance. Errors like 'Error: <message>' do not tell the LLM whether to retry, ask the user, or abandon the task. No error classification (retryable vs user-fixable vs fatal).
bedrock_generate_image and bedrock_generate_video are destructive WRITE operations (save files, start async jobs) but lack confirmation/dry-run patterns. Agents can accidentally generate expensive images or videos without user approval.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |
List available Bedrock text models with their aliases, providers, use cases, and capabilities. Filter by provider name if needed.
Check the status of an async video generation job started by bedrock_generate_video. Returns job status, S3 output URI, and timestamps.
bedrock_list_models returns all matching models in a single response with no pagination. If hundreds of models exist, response bloats context window. No limit parameter or next_cursor support.
bedrock_generate_image description mentions environment variable BEDROCK_MCP_OUTPUT_DIR and fallback paths but does not document the output schema (file path, dimensions, seed used). Agents cannot verify success or retrieve the generated image path.