{"id":49571268,"url":"https://github.com/sagargupta16/bedrock-multi-model-mcp","last_synced_at":"2026-05-03T14:04:54.843Z","repository":{"id":351788403,"uuid":"1212492711","full_name":"Sagargupta16/bedrock-multi-model-mcp","owner":"Sagargupta16","description":"MCP server for invoking any AWS Bedrock model via the unified Converse API - Llama, Mistral, Nova, Cohere, DeepSeek and more","archived":false,"fork":false,"pushed_at":"2026-04-16T13:40:19.000Z","size":39,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-04-16T14:34:42.704Z","etag":null,"topics":["aws-bedrock","claude-code","converse-api","llama","mcp","mcp-server","mistral","multi-model","nova"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Sagargupta16.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-16T12:39:27.000Z","updated_at":"2026-04-16T13:40:22.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Sagargupta16/bedrock-multi-model-mcp","commit_stats":null,"previous_names":["sagargupta16/bedrock-multi-model-mcp"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/Sagargupta16/bedrock-multi-model-mcp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sagargupta16%2Fbedrock-multi-model-mcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sagargupta16%2Fbedrock-multi-model-mcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sagargupta16%2Fbedrock-multi-model-mcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sagargupta16%2Fbedrock-multi-model-mcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sagargupta16","download_url":"https://codeload.github.com/Sagargupta16/bedrock-multi-model-mcp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sagargupta16%2Fbedrock-multi-model-mcp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32571469,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T06:36:36.687Z","status":"ssl_error","status_checked_at":"2026-05-03T06:36:09.306Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws-bedrock","claude-code","converse-api","llama","mcp","mcp-server","mistral","multi-model","nova"],"created_at":"2026-05-03T14:04:50.225Z","updated_at":"2026-05-03T14:04:54.836Z","avatar_url":"https://github.com/Sagargupta16.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# bedrock-multi-model-mcp\n\nMCP server for AWS Bedrock - text, image, and video generation from any model. Use Llama, Mistral, Nova, Cohere, DeepSeek, Stable Diffusion, and Claude from Claude Code (or any MCP client).\n\n## Tools\n\n| Tool | Description |\n|------|-------------|\n| `bedrock_ask` | Send a prompt to any text model. Returns response with token counts and latency. |\n| `bedrock_compare` | Same prompt to 2-5 models side by side. Compare quality, speed, and style. |\n| `bedrock_list_models` | List available text models with aliases and capabilities. |\n| `bedrock_generate_image` | Generate images from text (Nova Canvas, Titan Image, SD 3.5, SDXL). Saves PNG locally. |\n| `bedrock_generate_video` | Start async video generation (Nova Reel). Output to S3. |\n| `bedrock_video_status` | Check video generation job progress. |\n\n## Supported Models\n\n### Text (Converse API)\n\n| Provider | Models | Aliases |\n|----------|--------|---------|\n| Meta | Llama 4 Maverick, Llama 4 Scout, Llama 3.3 70B, Llama 3.1 405B | `llama4`, `llama4-scout`, `llama3.3`, `llama3.1-405b` |\n| Mistral | Mistral Large 2, Mistral Small, Pixtral Large | `mistral-large`, `mistral-small`, `pixtral` |\n| Amazon | Nova Pro, Nova Lite, Nova Micro | `nova-pro`, `nova-lite`, `nova-micro` |\n| Cohere | Command R+, Command R | `command-r-plus`, `command-r` |\n| AI21 | Jamba 1.5 Large | `jamba` |\n| DeepSeek | DeepSeek R1 | `deepseek`, `deepseek-r1` |\n| Anthropic | Claude Opus 4, Sonnet 4, Haiku 3.5 | `claude-opus`, `claude-sonnet`, `claude-haiku` |\n\n### Image (InvokeModel API)\n\n| Model | Alias | Max Resolution |\n|-------|-------|----------------|\n| Amazon Nova Canvas | `nova-canvas` | 2048x2048 |\n| Amazon Titan Image Gen v2 | `titan-image` | 1408x1408 |\n| Stability SD 3.5 Large | `sd3.5-large` | aspect ratio based |\n| Stability SDXL 1.0 | `sdxl` | 1024x1024 |\n\n### Video (Async API)\n\n| Model | Duration | Resolution |\n|-------|----------|------------|\n| Amazon Nova Reel | 6s (single shot), 12-120s (multi-shot) | 1280x720 @ 24fps |\n\nYou can also pass any valid Bedrock model ID directly.\n\n## Setup\n\n### Prerequisites\n\n- Node.js \u003e= 20\n- AWS credentials configured (bearer token, env vars, `~/.aws/credentials`, SSO, or IAM role)\n- Bedrock model access enabled in your AWS account (request access in the AWS Console under Bedrock \u003e Model access)\n\n### Install and Build\n\n```bash\ngit clone https://github.com/Sagargupta16/bedrock-multi-model-mcp.git\ncd bedrock-multi-model-mcp\nnpm install\nnpm run build\n```\n\n### Configure in Claude Code\n\nAdd to your Claude Code MCP settings (`~/.claude.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"bedrock\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/bedrock-multi-model-mcp/dist/index.js\"],\n      \"env\": {\n        \"AWS_BEARER_TOKEN_BEDROCK\": \"ABSK...\",\n        \"AWS_REGION\": \"us-east-1\"\n      }\n    }\n  }\n}\n```\n\n### Environment Variables\n\n| Variable | Default | Description |\n|----------|---------|-------------|\n| `AWS_REGION` | `us-east-1` | AWS region for Bedrock API calls |\n| `AWS_BEARER_TOKEN_BEDROCK` | - | Bedrock API Key bearer token (recommended) |\n| `AWS_ACCESS_KEY_ID` | - | AWS access key (if not using bearer token/SSO) |\n| `AWS_SECRET_ACCESS_KEY` | - | AWS secret key (if not using bearer token/SSO) |\n| `AWS_PROFILE` | - | Named AWS profile from `~/.aws/credentials` |\n\n### Authentication\n\nThe server supports two auth methods:\n\n1. **Bedrock API Key (bearer token)** - Set `AWS_BEARER_TOKEN_BEDROCK`. The SDK (v3.840.0+) reads this automatically. If the SDK fails, falls back to raw HTTP with `Authorization: Bearer` header.\n2. **IAM credentials** - Standard AWS credential chain (env vars, profile, SSO, IAM role).\n\n## Usage Examples\n\n### Ask a single model\n\n```\n\"Use bedrock_ask to ask llama4 to explain Docker in 3 sentences\"\n```\n\n### Compare models\n\n```\n\"Use bedrock_compare with llama4, nova-pro, and mistral-large: What are the pros and cons of microservices?\"\n```\n\n### Generate an image\n\n```\n\"Use bedrock_generate_image with nova-canvas: A futuristic Tokyo street at night, neon lights, rain\"\n```\n\n### Generate a video\n\n```\n\"Use bedrock_generate_video: Closeup of ocean waves crashing on rocks at sunset, s3_uri: s3://my-bucket/videos/\"\n```\n\n## Architecture\n\n```\nsrc/\n  index.ts       # MCP server - tool registration, stdio transport\n  converse.ts    # Bedrock Converse API wrapper (text models)\n  image.ts       # Bedrock InvokeModel wrapper (image models)\n  video.ts       # Bedrock async invoke wrapper (video models)\n  models.ts      # Model registry with IDs, aliases, and capabilities\n```\n\n- **Text**: Uses the [Converse API](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) - unified interface across all text models\n- **Image**: Uses [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html) with model-specific request formats (handled internally)\n- **Video**: Uses [StartAsyncInvoke](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_StartAsyncInvoke.html) - requires S3 bucket for output\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsagargupta16%2Fbedrock-multi-model-mcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsagargupta16%2Fbedrock-multi-model-mcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsagargupta16%2Fbedrock-multi-model-mcp/lists"}