Skip to main content
Glama
alexei-led

AWS Model Context Protocol Server

by alexei-led

AWS モデルコンテキストプロトコル (MCP) サーバー

CI コードカバレッジ リンター:ラフ 画像タグ 画像サイズ

AI アシスタントがモデルコンテキストプロトコル (MCP) を介して AWS CLI コマンドを実行できるようにする軽量サービス。

概要

AWS MCPサーバーは、MCP対応AIアシスタント(Claude Desktop、Cursor、Windsurfなど)とAWS CLI間の橋渡し機能を提供します。これにより、これらのアシスタントは以下のことが可能になります。

  1. AWS CLI ドキュメントの取得( aws_cli_help ) - AWS のサービスとコマンドに関する詳細なヘルプを取得します

  2. AWS CLI コマンドを実行する( aws_cli_pipeline ) - Unix パイプを使用してコマンドを実行し、AI での使用に最適化されたフォーマットされた結果を受け取ります

flowchart LR
    AI[AI Assistant] <-->|MCP Protocol| Server[AWS MCP Server]
    Server <-->|Subprocess| AWS[AWS CLI]
    AWS <-->|API| Cloud[AWS Cloud]

Related MCP server: MCP2Lambda

デモ

デモ

このビデオでは、Claude Desktop と AWS MCP Server を使用して、AWS SSM エージェントがインストールされた新しい AWS EC2 インスタンスを作成する方法を説明します。

特徴

  • コマンドドキュメント- AWS CLI コマンドの詳細なヘルプ情報

  • コマンド実行- AWS CLI コマンドを実行し、人間が読める形式で結果を返す

  • Unix パイプのサポート- 標準の Unix パイプとユーティリティを使用して AWS CLI 出力をフィルタリングおよび変換します

  • AWS リソースコンテキスト- MCP リソース経由で AWS プロファイル、リージョン、アカウント情報、環境の詳細にアクセスします

  • プロンプトテンプレート- ベストプラクティスに従った一般的な AWS タスク用の事前定義されたプロンプトテンプレート

  • Docker 統合- マルチアーキテクチャ (AMD64/x86_64 および ARM64) をサポートするコンテナ化によるシンプルな導入

  • AWS認証- ホストマシン上の既存のAWS認証情報を活用する

要件

  • Docker (デフォルト) または Python 3.13+ (およびローカルにインストールされた AWS CLI)

  • AWS認証情報が設定されている

はじめる

注:。重要な考慮事項については、 「セキュリティに関する考慮事項」セクションをご確認ください。

サーバー実行オプション 1: Docker の使用 (推奨)

# Clone repository
git clone https://github.com/alexei-led/aws-mcp-server.git
cd aws-mcp-server

# Build and run Docker container
docker compose -f deploy/docker/docker-compose.yml up -d

Docker イメージは、AMD64/x86_64 (Intel/AMD) と ARM64 (Apple Silicon M1-M4、AWS Graviton) の両方のアーキテクチャをサポートしています。

: GitHub Packages の公式イメージはマルチアーキテクチャであり、システムに適したバージョンが自動的に使用されます。

# Use the latest stable version
docker pull ghcr.io/alexei-led/aws-mcp-server:latest

# Or pin to a specific version (recommended for production)
docker pull ghcr.io/alexei-led/aws-mcp-server:1.0.0

Dockerイメージタグ:

  • latest : 最新の安定リリース

  • xyz (例: 1.0.0 ): 特定のバージョン

  • sha-<commit-sha> : GitコミットSHAでタグ付けされた開発ビルド(例: sha-gb697684

サーバー実行オプション2: Pythonの使用

**注意して使用してください:**ネイティブ環境での実行には慎重な環境設定が必要であり、推奨されるDockerデプロイメントと比較してセキュリティリスクが高くなります。 「セキュリティに関する考慮事項」セクションに記載されている影響について必ず理解してください。

# Clone repository
git clone https://github.com/alexei-led/aws-mcp-server.git
cd aws-mcp-server

# Set up virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install in development mode
pip install -e .

# Run the server
python -m aws_mcp_server

構成

AWS MCP サーバーは環境変数を使用して設定できます。

環境変数

説明

デフォルト

AWS_MCP_TIMEOUT

コマンド実行タイムアウト(秒)

300

AWS_MCP_MAX_OUTPUT

最大出力サイズ(文字数)

100000

AWS_MCP_TRANSPORT

使用するトランスポートプロトコル(「stdio」または「sse」)

標準入出力

AWS_PROFILE

使用するAWSプロファイル

デフォルト

AWS_REGION

使用するAWSリージョン

米国東部1

AWS_MCP_SECURITY_MODE

セキュリティ モード (「厳格」または「許可」)

厳しい

AWS_MCP_SECURITY_CONFIG

カスタムセキュリティ構成ファイルへのパス

「」

**重要:**マウントされた~/.awsファイルまたは環境変数を介してサーバーに提供されるAWS認証情報は、安全に管理してください。認証情報は、 「セキュリティに関する考慮事項」セクションに記載されている最小権限の原則に従っていることを確認してください。Docker経由で実行する場合は、これらの変数がコンテナ環境に正しく渡されていることを確認してください(例: docker run -e VAR=value ... )。

セキュリティに関する考慮事項

AWS環境に対してコマンドを実行する際は、セキュリティが最優先事項です。AWS MCP Serverは機能を提供しますが、安全な設定と実行はお客様の責任となります。以下の点を厳守してください。

1. 推奨されるデプロイメント: Dockerコンテナ

  • 分離: Dockerコンテナ内でサーバーを実行することは**、強く推奨されるデフォルトのデプロイ方法です。コンテナ化により、ファイルシステムとプロセスの重要な分離が実現します。パイプ経由で実行される、潜在的に破壊的なUnixコマンド( ありません**。コンテナは簡単に停止・再作成できます。

  • 制御された環境: Docker は、必要な依存関係を持つ一貫した環境を確保し、予期しない動作を減らします。

2. AWS 認証情報と IAM 最小権限(重要)

  • ユーザーの責任: AWS 認証情報をサーバーに提供します (マウントされた~/.awsまたは環境変数経由)。

  • 最小限の権限が不可欠です:非常に重要**です。

    • ルート認証情報を使用しない: AWS アカウントのルートユーザー認証情報は使用しないでください。

    • **定期的に権限を確認する:**認証情報に関連付けられた IAM 権限を定期的に監査します。

  • 影響の制限:です。たとえコマンドが操作されたとしても、特定のIAMポリシーで許可されたアクションのみを実行できます。

3. 信頼できるユーザーモデル

  • サーバーは、MCPクライアント(Claude Desktop、Cursorなど)を操作するエンドユーザーが、サーバーを設定し、最小限の権限を持つAWS認証情報を提供した信頼できるユーザーと同一であると想定します。信頼できないユーザーにサーバーまたは接続されたクライアントを公開しないでください。

4. 実行リスクの理解(現在の実装)

  • **コマンド実行:**現在の実装では、シェル機能(サブプロセス呼び出しでshell=True使用)を使用してAWSコマンドを実行し、Unixパイプを処理しています。このアプローチは便利ですが、入力コマンド文字列が操作された場合(コマンドインジェクション)に固有のリスクを伴います。

  • 運用制御による軽減: 信頼できるユーザー モデルDocker デプロイメントのコンテキストでは、これらのリスクは運用的に軽減されます。

    • 信頼できるユーザーは、自身の環境に対して意図的に悪意のあるコマンドを提供しないことが前提となります。

    • Docker にはファイルシステムの副作用が含まれます。

    • 重要なのは、IAM の最小権限によって、実行できる AWS

  • 認証情報漏洩リスク:

5. ネットワーク露出(SSEトランスポート)

  • sseトランスポート(ネットワークリスナーを暗黙的に使用する)を使用する場合は、サーバーを信頼できるネットワークインターフェース(例: localhost )にのみバインドするか、より広範囲に公開する場合は適切なネットワークセキュリティ制御(ファイアウォール、認証プロキシ)を実装してください。デフォルトのstdioトランスポートはネットワークポートを開きません。

6. 共有責任の要約

  • AWS MCP サーバーはツールを提供します。

  • ユーザーは以下の責任を負います:

    • 推奨される安全な Docker 環境内で実行します。

    • 最小限の権限のAWS 認証情報を提供し、安全に管理します。

    • 信頼できるユーザーのみがサーバー/クライアントと対話できるようにします。

    • 該当する場合は、ネットワーク環境を保護します。

Docker のデプロイメントと IAM の最小権限構成を厳密に遵守することで、現在の実装で AWS MCP サーバーを安全に使用するのに必要な運用制御を確立します。

Claude Desktopとの統合

構成

AWS MCP Server を Claude Desktop と手動で統合するには:

  1. Claude Desktop 構成ファイルを見つけます:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

  2. 設定ファイルを編集してAWS MCP サーバーを追加します。

    {
      "mcpServers": {
        "aws-mcp-server": {
          "command": "docker",
          "args": [
            "run",
            "-i",
            "--rm",
            "-v",
            "/Users/YOUR_USER_NAME/.aws:/home/appuser/.aws:ro",
            "ghcr.io/alexei-led/aws-mcp-server:latest"
          ]
        }
      }
    }
  3. 変更を適用するには、 Claude Desktopを再起動してください。

    • 再起動後、入力ボックスの右下隅にハンマー🔨アイコンが表示されます。

    • これはAWS MCPサーバーが使用可能であることを示します

flowchart TD
    subgraph "User Device"
        config[Edit claude_desktop_config.json]
        claude[Claude Desktop]
        docker[Docker Container]
        aws_creds[AWS Credentials]
    end
    
    subgraph "AWS Cloud"
        services[AWS Services]
    end
    
    subgraph "MCP Server Components"
        tools[AWS CLI Tools]
        resources[AWS Resources]
        templates[Prompt Templates]
    end
    
    config -->|Add MCP Server Config| claude
    claude -->|Docker Run Command| docker
    docker --- tools
    docker --- resources
    docker --- templates
    aws_creds -->|Mount Read-only| docker
    resources -.->|Read| aws_creds
    tools -->|API Calls| services

やり取りの例

AWS CLI ドキュメントの入手:

User: What are the available options for the AWS S3 cp command?

Claude: Let me get that information for you.

The AWS S3 cp command has the following options:

NAME
    cp - Copies a local file or S3 object to another location locally or in S3.

SYNOPSIS
    cp <LocalPath> <S3Uri> or <S3Uri> <LocalPath> or <S3Uri> <S3Uri> [--acl <value>] [--cache-control <value>] ...

AWS CLI コマンドの実行:

User: List my S3 buckets

Claude: I'll list your S3 buckets for you.

2023-10-15 14:30:45 my-bucket-1
2023-11-20 09:15:32 my-bucket-2
2024-01-05 11:22:18 my-backup-bucket

コマンドパイプの使用:

User: List my S3 buckets that have "backup" in their name and show them in alphabetical order

Claude: Let me find that for you.

2024-01-05 11:22:18 my-backup-bucket
2024-03-01 09:44:12 weekly-backup-bucket
2024-03-15 13:10:57 database-backup-bucket

AWS リソースへのアクセス:

User: What AWS regions are available for me to use?

Claude: Let me check what AWS regions are available for you.

Available regions:
- us-east-1 (US East, N. Virginia) - Currently selected
- us-east-2 (US East, Ohio)
- us-west-1 (US West, N. California)
- us-west-2 (US West, Oregon)
- eu-west-1 (EU West, Ireland)
- eu-central-1 (EU Central, Frankfurt)
- ap-northeast-1 (Asia Pacific, Tokyo)
- ap-southeast-1 (Asia Pacific, Singapore)
- ap-southeast-2 (Asia Pacific, Sydney)

You're currently using the us-east-1 region.

プロンプトテンプレートの使用:

User: I need to perform a security audit of my S3 buckets

Claude: I'll help you audit the security of your S3 buckets.

Here are AWS CLI commands to perform a comprehensive security audit:

# List all buckets with public access settings
aws s3api list-buckets --query 'Buckets[*].Name' --output text | xargs -I {} aws s3api get-public-access-block --bucket {}

# Check bucket policies for public access
aws s3api list-buckets --query 'Buckets[*].Name' --output text | xargs -I {} aws s3api get-bucket-policy --bucket {} 2>/dev/null

# Identify buckets without encryption
aws s3api list-buckets --query 'Buckets[*].Name' --output text | xargs -I {} aws s3api get-bucket-encryption --bucket {} 2>/dev/null

# Check for buckets without logging enabled
aws s3api list-buckets --query 'Buckets[*].Name' --output text | xargs -I {} aws s3api get-bucket-logging --bucket {} 2>/dev/null

# Verify bucket versioning status
aws s3api list-buckets --query 'Buckets[*].Name' --output text | xargs -I {} aws s3api get-bucket-versioning --bucket {}

利用可能なプロンプトテンプレート

AWS MCP サーバーには、次の定義済みプロンプトテンプレートが含まれています。

コアオペレーション

プロンプト

説明

パラメータ

create_resource

ベストプラクティスに従って AWS リソースを作成するためのコマンドを生成する

resource_typeresource_name

resource_inventory

包括的なリソースインベントリを作成する

serviceregion (オプション)

troubleshoot_service

サービスの問題をトラブルシューティングするためのコマンドを生成する

serviceresource_id

resource_cleanup

資源を特定し安全に清掃する

servicecriteria (オプション)

セキュリティとコンプライアンス

プロンプト

説明

パラメータ

security_audit

特定の AWS サービスのセキュリティ設定を監査する

service

security_posture_assessment

AWS 環境全体の包括的なセキュリティ評価

なし

iam_policy_generator

最小権限のIAMポリシーを作成する

serviceactionsresource_pattern (オプション)

compliance_check

規格への準拠を確認する

compliance_standardservice (オプション)

コストとパフォーマンス

プロンプト

説明

パラメータ

cost_optimization

サービスのコスト最適化の機会を見つける

service

performance_tuning

AWSリソースのパフォーマンスを最適化および調整する

serviceresource_id

インフラストラクチャとアーキテクチャ

プロンプト

説明

パラメータ

serverless_deployment

ベストプラクティスに従ってサーバーレスアプリケーションをデプロイする

application_nameruntime (オプション)

container_orchestration

コンテナ環境(ECS/EKS)のセットアップ

cluster_nameservice_type (オプション)

vpc_network_design

安全な VPC ネットワークを設計および実装する

vpc_namecidr_block (オプション)

infrastructure_automation

インフラストラクチャ管理の自動化

resource_typeautomation_scope (オプション)

multi_account_governance

安全なマルチアカウント戦略を実装する

account_type (オプション)

信頼性と監視

プロンプト

説明

パラメータ

service_monitoring

包括的な監視を設定する

servicemetric_type (オプション)

disaster_recovery

エンタープライズグレードのDRソリューションを実装する

servicerecovery_point_objective (オプション)

安全

AWS MCP サーバーは、コマンドの検証とセキュリティに対して包括的な多層アプローチを実装します。

コマンド検証システム

サーバーは、3 層システムを通じてすべての AWS CLI コマンドを検証します。

  1. 基本的なコマンド構造:

    • コマンドが「aws」プレフィックスで始まり、有効なサービスが含まれていることを確認します

    • 適切なコマンド構文を保証する

  2. セキュリティ重視のコマンドフィルタリング

    • 危険なコマンド: セキュリティを侵害する可能性のあるコマンドをブロックします

    • 安全なパターン: 通常の使用に必要な読み取り専用操作を明示的に許可します

    • 正規表現パターンマッチング:パターンマッチングで複雑なセキュリティリスクを防止

  3. パイプコマンドのセキュリティ:

    • パイプで使用されるUnixコマンドを検証します

    • コマンドを安全な許可リストに制限します

    • ファイルシステムの操作と任意のコマンドの実行を防止します

デフォルトのセキュリティ構成

デフォルトのセキュリティ構成は、次の攻撃ベクトルの防止に重点を置いています。

1. アイデンティティとアクセス管理(IAM)のリスク

ブロックされたコマンド

セキュリティリスク

aws iam create-user

永続的なアクセスを持つ潜在的なバックドアアカウントを作成する

aws iam create-access-key

盗難や悪用される可能性のある長期的な認証情報を作成する

aws iam attach-*-policy

ポリシー添付による潜在的な権限昇格

aws iam put-user-policy

インラインポリシーは過剰な権限を付与する可能性がある

aws iam create-policy

潜在的に危険な権限を持つ新しいポリシーの作成

aws iam create-login-profile

既存のユーザーのコンソールパスワードを作成します

aws iam deactivate-mfa-device

多要素認証を無効にし、セキュリティを弱める

aws iam update-assume-role-policy

信頼関係を変更し、権限の昇格を可能にする

2. 監査とログの改ざん

ブロックされたコマンド

セキュリティリスク

aws cloudtrail delete-trail

AWSアクティビティの監査証跡を削除します

aws cloudtrail stop-logging

アクティビティログの収集を停止し、死角を生じさせる

aws cloudtrail update-trail

ログ設定をリダイレクトまたは変更できる

aws config delete-configuration-recorder

AWS Config によるリソース変更の記録を無効にする

aws guardduty delete-detector

脅威検出機能を無効にする

3. 機密データへのアクセスと保護

ブロックされたコマンド

セキュリティリスク

aws secretsmanager put-secret-value

機密性の高い資格情報を変更する

aws secretsmanager delete-secret

機密性の高い認証情報を削除します

aws kms schedule-key-deletion

暗号化キーの削除をスケジュールし、データ損失のリスクがある

aws kms disable-key

暗号化キーを無効にし、データが漏洩する可能性がある

aws s3api put-bucket-policy

パブリックS3バケットを作成し、データを公開できる

aws s3api delete-bucket-policy

バケットから保護ポリシーを削除します

4. ネットワークセキュリティリスク

ブロックされたコマンド

セキュリティリスク

aws ec2 authorize-security-group-ingress

受信ネットワークアクセスが開かれ、潜在的な露出が発生

aws ec2 authorize-security-group-egress

アウトバウンドネットワークアクセスが開かれ、データの流出の可能性がある

aws ec2 modify-instance-attribute

インスタンスのセキュリティプロパティを変更できる

これらのパターンに一致する多くの読み取り専用操作は、安全なパターンを通じて明示的に許可されます。

  • すべてのget-list-describe-コマンド

  • すべてのヘルプコマンド ( --helphelp )

  • シミュレーションおよびテストコマンド(例: aws iam simulate-custom-policy

設定オプション

  • セキュリティモード:

    • strict (デフォルト):すべてのセキュリティ検証を強制します

    • permissive : 警告をログに記録しますが、実行は許可します(注意して使用してください)

  • カスタム構成:

    • YAML 構成ファイルを使用してデフォルトのセキュリティ ルールを上書きする

    • サービス固有の危険なコマンドを設定する

    • カスタムの安全なパターンと正規表現ルールを定義する

    • 環境変数: AWS_MCP_SECURITY_CONFIG

  • 実行制御:

    • タイムアウトにより、長時間実行されるコマンドを防止します (デフォルト: 300 秒)

    • 出力サイズの制限によりメモリの問題を防止

    • 環境変数: AWS_MCP_TIMEOUTAWS_MCP_MAX_OUTPUT

カスタムセキュリティルールの例

YAML 構成ファイルを定義することで、カスタム セキュリティ ルールを作成できます。

# Example custom security configuration
# Save to a file and set AWS_MCP_SECURITY_CONFIG environment variable

# Dangerous commands to block
dangerous_commands:
  iam:
    # Only block specific IAM operations for your environment
    - "aws iam create-user"
    - "aws iam attach-user-policy"
  
  # Custom service restrictions for your organization
  lambda:
    - "aws lambda delete-function"
    - "aws lambda remove-permission"
  
  # Prevent accidental DynamoDB table deletion
  dynamodb:
    - "aws dynamodb delete-table"

# Safe patterns to explicitly allow
safe_patterns:
  # Global safe patterns
  general:
    - "--help"
    - "--dry-run"
  
  # Allow read operations on IAM
  iam:
    - "aws iam get-"
    - "aws iam list-"
  
  # Allow specific Lambda operations
  lambda:
    - "aws lambda list-functions"
    - "aws lambda get-function"

# Complex regex rules for security validation
regex_rules:
  general:
    # Prevent use of root credentials
    - pattern: "aws .* --profile\\s+root"
      description: "Prevent use of root profile"
      error_message: "Using the root profile is not allowed for security reasons"
  
  iam:
    # Block creation of admin users
    - pattern: "aws iam create-user.*--user-name\\s+.*admin.*"
      description: "Prevent creation of admin users"
      error_message: "Creating users with 'admin' in the name is restricted"
    
    # Prevent wildcards in IAM policies
    - pattern: "aws iam create-policy.*\"Effect\":\\s*\"Allow\".*\"Action\":\\s*\"\\*\".*\"Resource\":\\s*\"\\*\""
      description: "Prevent wildcards in policies"
      error_message: "Creating policies with '*' wildcards for both Action and Resource is not allowed"
  
  s3:
    # Prevent public bucket policies
    - pattern: "aws s3api put-bucket-policy.*\"Effect\":\\s*\"Allow\".*\"Principal\":\\s*\"\\*\""
      description: "Prevent public bucket policies"
      error_message: "Creating bucket policies with public access is restricted"

セキュリティの例

システムは IAM のベスト プラクティスに従い、権限の昇格の防止に重点を置いています。

# This command would be blocked (creates user)
aws iam create-user --user-name new-user
> Error: This command (aws iam create-user) is restricted for security reasons.

# This command would be blocked (attaches admin policy)
aws iam attach-user-policy --user-name any-user --policy-arn arn:aws:iam::aws:policy/AdministratorAccess
> Error: Attaching Administrator policies is restricted for security reasons.

# This command would be blocked (opens SSH port globally)
aws ec2 authorize-security-group-ingress --group-id sg-12345 --protocol tcp --port 22 --cidr 0.0.0.0/0
> Error: Opening non-web ports to the entire internet (0.0.0.0/0) is restricted.

# These commands are allowed (read-only operations)
aws iam list-users
aws s3 ls
aws ec2 describe-instances

セキュリティのベストプラクティス

  • 本番環境では常にデフォルトのstrictセキュリティモードを使用する

  • セキュリティに関する考慮事項の展開推奨事項に従ってください。

  • 最小権限のAWS認証情報で実行する

  • カスタム構成の場合は、セキュリティ要件に重点を置きます

発達

開発環境のセットアップ

# Install only runtime dependencies using pip
pip install -e .

# Install all development dependencies using pip
pip install -e ".[dev]"

# Or use uv for faster dependency management
make uv-install       # Install runtime dependencies
make uv-dev-install   # Install development dependencies

Makefileコマンド

このプロジェクトには、一般的なタスクのさまざまなターゲットを含む Makefile が含まれています。

# Test commands
make test             # Run tests excluding integration tests
make test-unit        # Run unit tests only (all tests except integration tests)
make test-integration # Run integration tests only (requires AWS credentials)
make test-all         # Run all tests including integration tests

# Test coverage commands
make test-coverage    # Run tests with coverage report (excluding integration tests)
make test-coverage-all # Run all tests with coverage report (including integration tests)

# Linting and formatting
make lint             # Run linters (ruff check and format --check)
make lint-fix         # Run linters and auto-fix issues where possible
make format           # Format code with ruff

使用可能なコマンドの完全なリストについては、 make helpを実行してください。

コードカバレッジ

このプロジェクトには、コードカバレッジメトリクスを追跡するためのCodecovの設定が含まれています。設定はcodecov.ymlファイルに保存されており、以下のようになります。

  • ターゲットカバレッジしきい値を80%に設定する

  • カバレッジレポートからテストファイル、セットアップファイル、ドキュメントを除外します

  • PRコメントとステータスチェックを設定します

カバレッジ レポートは CI/CD 実行中に自動的に生成され、Codecov にアップロードされます。

統合テスト

統合テストは、AWS MCP Server が実際の AWS リソースで正しく動作することを確認します。テストを実行するには、以下の手順に従ってください。

  1. AWS リソースをセットアップします:

    • テスト用のS3バケットを作成する

    • 環境変数を設定します: export AWS_TEST_BUCKET=your-test-bucket-name

    • AWS認証情報が設定されていることを確認する

  2. 統合テストを実行します:

    # Run all tests including integration tests
    make test-all
    
    # Run only integration tests
    make test-integration

または、pytest コマンドを直接実行することもできます。

# Run all tests including integration tests
pytest --run-integration

# Run only integration tests
pytest --run-integration -m integration

トラブルシューティング

  • 認証の問題: AWS 認証情報が正しく設定されていることを確認してください

  • 接続エラー: サーバーが実行中であること、および AI アシスタントの接続設定が正しいことを確認してください

  • 権限エラー: AWS認証情報に必要な権限があることを確認してください

  • タイムアウトエラー: 長時間実行されるコマンドの場合は、 AWS_MCP_TIMEOUT環境変数を増やします。

Dockerでデプロイする理由

Docker 経由で AWS MCP Server をデプロイすることが推奨されるアプローチであり、ツールの安全な使用パターンの中核となる、セキュリティと信頼性の大きな利点を提供します。

セキュリティ上の利点

  • 分離(主要な緩和策): Dockerコンテナは、ファイルシステムとプロセスの重要な分離を提供します。AWS CLIコマンドとパイプされたUnixユーティリティは、隔離された環境で実行されます。ファイルシステムに影響を与える偶発的または誤用されたコマンドはコンテナ内に限定され、ホストマシンを保護します

  • **制御された認証情報アクセス:**認証情報をマウントするときに、 :ro (読み取り専用) フラグを使用すると、コンテナが AWS 構成ファイルを変更する機能が制限されます。

  • ローカルインストールなし: AWS CLI とその依存関係をホストシステムに直接インストールすることを回避します。

  • **クリーンな環境:**各コンテナの実行は、既知のクリーンな状態から開始されます。

信頼性の利点

  • 一貫した構成: 必要なツール (AWS CLI、SSM プラグイン、jq) はすべて事前にインストールされ、適切に構成されています。

  • 依存関係管理: ツールと依存関係間のバージョン競合を回避する

  • クロスプラットフォームの一貫性: 異なるオペレーティングシステム間で同じように動作します

  • 完全な環境: コマンド パイプ、フィルタリング、フォーマットに必要なすべてのツールが含まれています

その他の特典

  • マルチアーキテクチャサポート: Intel/AMD (x86_64) と ARM (Apple Silicon、AWS Graviton) の両方のプロセッサで実行

  • シンプルなアップデート: 1 回の pull コマンドで新しいバージョンにアップデート

  • Python環境の競合なし: システム上の他のPythonアプリケーションとの潜在的な競合を回避します

  • バージョン固定: 実稼働環境での安定性を確保するために、特定のバージョンに簡単に固定できます。

バージョン管理

このプロジェクトでは、 setuptools_scmを使用して、Git タグに基づいてバージョンを自動的に決定します。

  • リリースバージョン: Gitタグが存在する場合(例: 1.2.3 )、バージョンはそのタグとまったく同じになります。

  • 開発バージョン: タグのないコミットの場合、開発バージョンは次の形式で生成されます: <last-tag>.post<commits-since-tag>+g<commit-hash>.d<date> (例: 1.2.3.post10+gb697684.d20250406 )

バージョンは自動的に次の場所に含まれます:

  • パッケージのバージョン情報

  • Dockerイメージラベル

  • 継続的インテグレーションビルド

リリースの作成

新しいリリース バージョンを作成するには:

# Create and push a new tag
git tag -a 1.2.3 -m "Release version 1.2.3"
git push origin 1.2.3

CI/CD パイプラインは、適切なバージョン タグが付いた Docker イメージを自動的にビルドして公開します。

バージョン管理システムの詳細については、 VERSION.md を参照してください。

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細については LICENSE ファイルを参照してください。

-
security - not tested
A
license - permissive license
-
quality - not tested

Resources

Looking for Admin?

Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/alexei-led/aws-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server