mcpField
A
AWS CLI MCP Server

AWS CLI MCP Server

ローカル
github.com/musaddiq-devクラウド・インフラ023 週間前に更新

AWS CLI MCP Server について

AWS CLI MCP Serverは、MCPクライアントからAWS CLIを通じてAWSを調査・操作するサーバーです。AWSリソースの管理向けに、コマンド実行や提案、アカウントとリージョンの照会を備え、シェル演算子や破壊的な操作らしきコマンドを制限します。

主な機能

  1. 01AWS CLIコマンドの実行
  2. 02自然言語によるコマンド提案
  3. 03利用可能なAWSリージョンの一覧
  4. 04呼び出し元のID確認
  5. 05破壊的な操作らしきコマンドの警告

活用シーン

  1. 01AWSアカウントのID確認
  2. 02AWS作業に使うコマンドの検索
  3. 03MCPクライアントからのAWS CLI操作

MCP 対応

stdio経由で、AWS CLIの実行、コマンド提案、リージョン照会、呼び出し元ID確認のツールをMCPクライアントに提供します。コマンドはサーバープロセスが利用できる認証情報で実行されます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"musaddiq-dev-aws-cli": {
"command": "uvx",
"args": [
"mdev-aws-mcp-server"
],
"env": {
"AWS_REGION": "<AWS_REGION>",
"AWS_PROFILE": "<AWS_PROFILE>",
"AWS_MCP_WORKING_DIR": "<AWS_MCP_WORKING_DIR>",
"AWS_MCP_REQUIRE_CONFIRMATION": "<AWS_MCP_REQUIRE_CONFIRMATION>",
"AWS_MCP_LOG_LEVEL": "<AWS_MCP_LOG_LEVEL>"
}
}
}
}
起動コマンドuvx mdev-aws-mcp-server
設定が必要な環境変数
AWS_REGIONDefault AWS region
AWS_PROFILEAWS credentials profile
AWS_MCP_WORKING_DIRWorking directory for file operations
AWS_MCP_REQUIRE_CONFIRMATIONEmit warnings for destructive-looking operations
AWS_MCP_LOG_LEVELApplication log level

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypimdev-aws-mcp-server0.1.2

ツール

4

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
cli_commandstringはい実行する AWS CLI コマンド全体。'aws' で始まる必要があります
max_resultsanyいいえ結果数の任意の上限(ページネーションに便利です)

詳細

AWS MCP サーバー

MCP 対応クライアントが AWS CLI を通じて AWS を調査・操作できる Python 製の Model Context Protocol(MCP)サーバーです。検証付きのコマンド実行、コマンドの提案、AWS リージョンの検索、呼び出し元 ID の確認に対応しています。

機能

  • シェル展開を使わずに AWS CLI コマンドを実行し、シェル形式の解析によって引用符で囲まれた引数を保持します
  • 自然言語のリクエストから、よく使われる AWS CLI コマンドを提案します
  • 利用可能な AWS リージョンを返します
  • 現在の呼び出し元 ID を返します
  • ローカル MCP クライアント向けの stdio トランスポートに対応します
  • 設定を検証し、stderr とローカルログファイルにログを書き込みます

安全性モデル

このサーバーは、プロセスで利用可能な認証情報を使用して AWS CLI コマンドを実行できます。subprocess.run(..., shell=False) を使用してシェル演算子をブロックし、破壊的に見えるコマンドにフラグを付けますが、IAM の最小権限や人によるレビューに取って代わるものではありません。権限を絞った AWS プロファイルまたはロールを使用し、テストには本番環境以外のアカウントを優先してください。また、MCP クライアントでは破壊的なコマンドを手動承認の対象にしてください。

要件

インストール

PyPI で公開されたら、標準的な Python MCP パッケージと同様にサーバーをインストールまたは実行します。

uvx mdev-aws-mcp-server

ソースからローカルで開発する場合:

git clone https://github.com/musaddiq-dev/aws-cli-mcp-server.git
cd aws-cli-mcp-server
python -m venv .venv
source .venv/bin/activate
pip install -e .

設定

このサーバーを実行する前に、公式の AWS CLI インストールガイドに従って AWS CLI をインストールし、公式の AWS CLI サインインガイドおよび AWS CLI 設定ガイドに従って認証情報を設定してください。AWS は可能な場合に短期認証情報を推奨しています。ユースケースで必要な場合を除き、長期的な IAM ユーザーキーは避けてください。

環境変数のサンプルファイルをコピーし、必要に応じて値を調整します。

cp .env.example .env
変数説明デフォルト
AWS_REGIONデフォルトの AWS リージョンus-east-1
AWS_PROFILEAWS 認証情報プロファイルdefault
AWS_MCP_WORKING_DIRファイル操作用の作業ディレクトリ/tmp/aws-mcp-work
AWS_MCP_REQUIRE_CONFIRMATION破壊的に見える操作に警告を出すかどうかtrue
AWS_MCP_LOG_LEVELアプリケーションのログレベルINFO

実行

mdev-aws-mcp-server

PyPI で公開される前にローカルのチェックアウトから実行する場合:

python -m aws_mcp_server.server

MCP クライアントの設定

公開済みのパッケージをインストールする場合は、uvx の使用を推奨します。stdio を使用する MCP サーバーは、プロトコルメッセージのみを stdout に書き込む必要があります。このサーバーは、ログを stderr と ~/.aws-mcp-server/logs 配下のローカルファイルに書き込みます。

Claude Desktop / Cursor / Windsurf / Cline

ほとんどの MCP クライアントは、次の mcpServers JSON 形式に対応しています。

{
  "mcpServers": {
    "aws": {
      "command": "uvx",
      "args": ["mdev-aws-mcp-server"],
      "env": {
        "AWS_PROFILE": "default",
        "AWS_REGION": "us-east-1"
      }
    }
  }
}

このリポジトリからローカルで開発する場合は、代わりにインストール済みのコンソールスクリプトのパスを使用します。

{
  "mcpServers": {
    "aws": {
      "command": "/absolute/path/to/aws-cli-mcp-server/.venv/bin/mdev-aws-mcp-server",
      "args": [],
      "env": {
        "AWS_PROFILE": "default",
        "AWS_REGION": "us-east-1"
      }
    }
  }
}
Claude Code CLI
claude mcp add aws --env AWS_PROFILE=default --env AWS_REGION=us-east-1 -- uvx mdev-aws-mcp-server
VS Code MCP

VS Code では、MCP 設定に同じ command/args/env モデルを使用します。

{
  "servers": {
    "aws": {
      "type": "stdio",
      "command": "uvx",
      "args": ["mdev-aws-mcp-server"],
      "env": {
        "AWS_PROFILE": "default",
        "AWS_REGION": "us-east-1"
      }
    }
  }
}

ツール

ツール用途安全性
call_awsAWS CLI コマンドを実行しますAWS リソースを変更する可能性があります
suggest_aws_commandsよく使われる AWS CLI コマンドを提案します読み取り専用
get_aws_regionsAWS リージョンの一覧を取得します読み取り専用
get_caller_identity現在の AWS ID を返します読み取り専用

開発

pip install -e .
pip install -e '.[dev]'
pytest
ruff check .
ruff format .
pyright

スモークチェック

python -m py_compile src/aws_mcp_server/server.py src/aws_mcp_server/config.py src/aws_mcp_server/aws/executor.py
python -m pytest

認証情報が設定されている場合の AWS 手動チェック:

aws sts get-caller-identity

配布

このサーバーは、標準的な Python MCP 配布経路で公開されています。

  • PyPI パッケージ:mdev-aws-mcp-server
  • MCP Registry 名:io.github.musaddiq-dev/aws-cli-mcp-server
  • 実行時のヒント:uvx
  • トランスポート:stdio

この README の先頭にある mcp-name マーカーは、MCP Registry の所有権確認に必要です。ユーザーは、ローカルの MCP クライアント設定で uvx mdev-aws-mcp-server を使用することをおすすめします。

セキュリティに関する注意事項

  • .env、AWS 認証情報、プロファイル、アクセスキー、アカウント固有の出力をコミットしないでください。
  • このサーバーの実行に使用するプロファイルまたはロールには、最小権限の IAM 権限を設定してください。
  • MCP クライアントでは、call_aws に対して明示的な手動承認を必須にしてください。
  • 認証、TLS、ネットワーク制御を追加せずに、このサーバーをネットワーク経由で公開しないでください。
  • 生成されたコマンドの提案は、実行前に確認してください。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。