AWS Storage MCP Server について
AWS Storage MCP ServerはAmazon Q CLIとAWSストレージサービスを接続し、自然言語でリソースを調べて管理したいユーザー向けです。S3、EBS、EFS、FSx、AWS Backupなどを扱います。
主な機能
- 01自然言語によるストレージリソースの検索
- 02AWSストレージ操作の実行
- 03単一インターフェースで複数サービスを管理
- 04S3、EBS、EFS、FSxに対応
- 05ローカルのAWS認証情報で操作
活用シーン
- 01Amazon S3バケットの一覧表示
- 02AWSストレージリソース情報の取得
- 03自然言語によるストレージサービスの管理
MCP 対応
MCPサーバーはAWSストレージリソースの検索・操作機能をAmazon Q CLIに提供します。操作にはローカルで設定されたAWS認証情報と権限が使われます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
AWS Storage MCP サーバー
Amazon Q CLI を通じて、AWS のストレージサービスと自然言語でやり取りできる Model Context Protocol(MCP)サーバーです。
免責事項
このプロジェクトは、明示的または黙示的を問わず、いかなる種類の保証もなく「現状のまま」提供されます。作成者および貢献者は、このソフトウェアの使用によって生じる可能性のある損害や責任について、一切責任を負いません。
- AWS の公式製品ではありません:これはコミュニティプロジェクトであり、Amazon Web Services の公式サポート対象ではありません。
- 自己責任でご使用ください:すべての操作を実行前に確認してください。特に、リソースの変更や削除を伴う操作にはご注意ください。
- 費用に関する注意:AWS サービスの利用により、AWS アカウントに料金が発生する場合があります。これらの費用の監視と管理は、ご自身の責任で行ってください。
- セキュリティに関する考慮事項:このツールの動作には AWS 認証情報が必要です。認証情報を扱う際は、常にセキュリティのベストプラクティスに従ってください。
- 責任の否定:このソフトウェアの使用に起因するデータ損失、予期しない請求、その他の損害について、作成者および貢献者は責任を負いません。
MCP とは?
Model Context Protocol(MCP)は、アプリケーションが LLM にコンテキストを提供する方法を標準化するオープンプロトコルです。MCP により、Amazon Q などの LLM と、追加のツールや機能を提供するローカルで実行中の MCP サーバーとの通信が可能になります。
MCP を使用する理由
- 自然言語インターフェース:複雑な CLI コマンドの代わりに、平易な英語で AWS サービスを操作できます
- シンプルなワークフロー:「自分の S3 バケットを一覧表示して」のような簡単な問い合わせで、複雑な操作を実行できます
- コンテキストの理解:MCP サーバーは、LLM にドメイン固有の知識を提供します
- 機能の拡張:モデルを再トレーニングすることなく、LLM に新しい機能を追加できます
- ローカルでの実行:操作は、認証情報を使ってローカルマシン上で実行されます
このプロジェクトの機能
この AWS Storage MCP サーバーは Amazon Q を AWS ストレージサービスに接続し、次のことを可能にします。
- 自然言語を使って AWS ストレージリソースを照会する
- 複雑なコマンドを覚えなくても、AWS ストレージサービスに対する操作を実行する
- ストレージリソースに関する情報を会話形式で取得する
- 単一のインターフェースから複数のストレージサービスを管理する
アーキテクチャ図

サポート対象の AWS ストレージサービス
- Amazon S3:あらゆる種類のデータに対応するオブジェクトストレージ
- Amazon EBS:EC2 インスタンス向けのブロックストレージ
- Amazon EFS:EC2 インスタンス向けのスケーラブルなファイルストレージ
- Amazon FSx:Windows Server 上に構築されたフルマネージドのファイルストレージ
- AWS Storage Gateway:オンプレミス環境とクラウドストレージを接続するハイブリッドクラウドストレージ
- Amazon S3 Glacier:低コストのアーカイブストレージ
- AWS Snow Family:データ移行とエッジコンピューティング向けの物理デバイス
- AWS Backup:一元管理型のバックアップサービス
- Amazon S3 Object Lambda:取得時に S3 データを処理
- Amazon S3 Glacier Deep Archive:最も低コストのアーカイブストレージクラス
前提条件
- Docker と Docker Compose
- 有効な認証情報を設定済みの AWS CLI
- インストール済みの Amazon Q CLI
クイックスタート
トラブルシューティング
問題が発生した場合:
-
Docker コンテナの状態を確認する
docker ps | grep aws-storage -
コンテナログを表示する
docker logs aws-storage-mcp-aws-storage-mcp-1 -
API を直接テストする
curl -s -X POST -H "Content-Type: application/json" -d '{"tool_name": "list_aws_profiles", "parameters": {}}' http://localhost:8080/invoke -
AWS 認証情報を確認する AWS 認証情報が有効で、必要な権限があることを確認してください。
-
コンテナを再起動する
docker compose restart
プロジェクト構成
aws-storage-mcp/
├── README.md # This documentation
├── requirements.txt # Python dependencies
├── mcp-manifest.json # MCP server manifest
├── docker-compose.yml # Docker configuration
├── docker-compose.override.yml # Volume mapping for AWS credentials
├── Dockerfile # Docker build instructions
├── setup.sh # Environment setup script
├── start-docker.sh # Server startup script
└── src/ # Source code
├── server.py # MCP server implementation
└── services/ # AWS service modules
├── __init__.py
├── base.py # Base service class
├── s3.py # S3 operations
├── ebs.py # EBS operations
├── efs.py # EFS operations
└── ... # Other service modules
ドキュメント
- インストールガイド - 詳細なインストール手順
- 使用ガイド - 使用例と使用手順
- コントリビューションガイド - このプロジェクトへの貢献方法
- 行動規範 - コミュニティのガイドライン
コントリビューション
コントリビューションを歓迎します。プルリクエストの送信、問題の報告、機能強化の提案方法については、コントリビューションガイドをご覧ください。
ライセンス
このプロジェクトはMITライセンスの下でライセンスされています。詳細はLICENSEファイルをご覧ください。
セキュリティに関する注意事項
- このMCP サーバーはAWS認証情報を使用して実行されます
- すべての操作はお客様の権限で実行されます
- 本番環境で実行する前にコードを確認してください
- 最小権限の原則に基づいたIAMロールの使用をご検討ください
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。