MCPサーバ - AWS

提供: MochiuWiki : SUSE, EC, PCB

概要

AWS MCPサーバ (awslabs/mcp) は、awslabsが開発したオープンソースプロジェクト (Apache 2.0ライセンス) である。
Model Context Protocol (MCP) を通じて、AIアシスタントにAWSの機能と公式ドキュメントへのアクセスを提供する。

Claude Desktop、Claude Code、OpenCode、VS Code、Cursor、Windsurf、Kiro等の主要なMCPクライアントに対応している。
66個以上のMCPサーバを提供しており、用途に応じて必要なサーバを選択して利用できる。

利用形態は以下の2種類である。

  • ローカルMCPサーバ
    uvx コマンドを経由して実行する。
    stdio通信を使用する。
  • リモートMCPサーバ
    AWSクラウド上で実行されるマネージド版
    HTTP通信を使用する。


主な特徴は以下の通りである。

  • 最新のAWS公式ドキュメントおよびAPIリファレンスへのアクセス
  • Core MCP Serverによるロールベースのオーケストレーション機能 (複数のMCPサーバを動的に統合)
  • ワークフローの自動化によるAWSリソース管理の効率化
  • IAMベースのセキュリティによる安全なAWSリソースへのアクセス
  • Windows、MacOS、Linuxの3 OSに対応



提供されるMCPサーバの一覧

AWS MCPサーバプロジェクトは、用途別に分類された66個以上のMCPサーバを提供している。

基本設定・ドキュメント

下表に、AWSの基本的な情報アクセスと統合管理に関するサーバを示す。

基本設定・ドキュメント関連サーバ
サーバ名 パッケージ名 説明
AWS Documentation MCP Server awslabs.aws-documentation-mcp-server@latest AWS公式ドキュメントとAPIリファレンスへのアクセスを提供する。
AWS Knowledge MCP Server awslabs.aws-knowledge-mcp-server@latest AWSの知識ベースへの統合アクセスを提供する。
Core MCP Server awslabs.core-mcp-server@latest ロールベースのプロキシサーバ
複数のMCPサーバを動的に統合する。


インフラストラクチャ・デプロイメント

下表に、AWSインフラの構築・管理・デプロイメントに関するサーバを示す。

インフラストラクチャ・デプロイメント関連サーバ
サーバ名 パッケージ名 説明
AWS IaC MCP Server awslabs.aws-iac-mcp-server@latest CloudFormationテンプレートの検証、CDKドキュメントの検索を提供する。
AWS CDK MCP Server awslabs.cdk-mcp-server@latest AWS CDKを使用したインフラのコード化をサポートする。
AWS Terraform MCP Server awslabs.terraform-mcp-server@latest Terraformを使用したインフラ管理をサポートする。
AWS Cloud Control API MCP Server awslabs.aws-cloud-control-mcp-server@latest 自然言語によるクラウドリソースの管理を提供する。
Amazon ECS MCP Server awslabs.ecs-mcp-server@latest ECSコンテナオーケストレーションの管理を提供する。
Amazon EKS MCP Server awslabs.amazon-eks-mcp-server@latest Kubernetes (EKS) クラスタの管理をサポートする。
AWS Lambda Tool MCP Server awslabs.lambda-tool-mcp-server@latest Lambda関数の作成・管理・実行を提供する。


AI・機械学習

下表に、AWS上のAI・機械学習サービスに関するサーバを示す。

AI・機械学習関連サーバ
サーバ名 パッケージ名 説明
Amazon Bedrock MCP Server awslabs.amazon-bedrock-mcp-server@latest Foundational ModelへのアクセスとRAGを提供する。
Amazon Bedrock KB Retrieval MCP Server awslabs.bedrock-kb-retrieval-mcp-server@latest Bedrock Knowledge Basesの検索機能を提供する。
Amazon Nova Canvas MCP Server awslabs.nova-canvas-mcp-server@latest Amazon Nova Canvasを使用した画像生成を提供する。
Amazon SageMaker MCP Server awslabs.amazon-sagemaker-mcp-server@latest MLモデルのトレーニングと推論環境の管理を提供する。


データ・分析

AWSのデータベースおよびデータ分析サービスに関するサーバを以下に示す。

データ・分析関連サーバ
サーバ名 パッケージ名 説明
Amazon DynamoDB MCP Server awslabs.amazon-dynamodb-mcp-server@latest DynamoDB NoSQLデータベースの操作を提供する。
Amazon RDS MCP Server awslabs.amazon-rds-mcp-server@latest リレーショナルデータベースの操作を提供する。
Amazon Redshift MCP Server awslabs.amazon-redshift-mcp-server@latest データウェアハウスへのクエリ実行を提供する。
Amazon Athena MCP Server awslabs.amazon-athena-mcp-server@latest S3上のデータに対するSQLクエリ分析を提供する。
Amazon Aurora PostgreSQL MCP Server awslabs.aurora-dsql-mcp-server@latest Aurora PostgreSQLへの接続とクエリ実行を提供する。


開発者ツール

開発・セキュリティ管理に関するサーバを以下に示す。

開発者ツール関連サーバ
サーバ名 パッケージ名 説明
Git Repo Research MCP Server awslabs.git-repo-research-mcp-server@latest Gitリポジトリの分析と情報収集を提供する。
AWS IAM MCP Server awslabs.aws-iam-mcp-server@latest IAM権限の管理と分析を提供する。
AWS Diagram MCP Server awslabs.aws-diagram-mcp-server@latest AWSアーキテクチャ図の自動生成を提供する。


コスト・運用

コスト管理と運用監視に関するサーバを以下に示す。

コスト・運用関連サーバ
サーバ名 パッケージ名 説明
AWS Cost Explorer MCP Server awslabs.cost-explorer-mcp-server@latest AWSサービスのコスト分析とレポートを提供する。
Amazon CloudWatch MCP Server awslabs.amazon-cloudwatch-mcp-server@latest ログとメトリクスの監視を提供する。
AWS CloudTrail MCP Server awslabs.aws-cloudtrail-mcp-server@latest AWS API呼び出しのログ記録と監査を提供する。



動作要件

共通の要件

OS問わず共通して必要な要件を以下に示す。

  • uv (Astralが提供するPythonパッケージマネージャ)
    uvx コマンドを使用してMCPサーバを実行するために必要
  • Python 3.10以上
    MCPサーバの実行環境として必要
  • AWS CLI v2
    AWSリソースへのアクセスと認証情報の管理に必要
  • AWS認証情報 (IAMユーザまたはIAM Identity Center)
    AWSサービスへのアクセス権限として必要
  • AWSアカウント
    AWSサービスを利用するために必要


Windowsの要件

  • Windows 10 / 11
  • npx を使用するMCPサーバの場合、cmd /c ラッパーが必要
    uvx コマンドの場合はラッパー不要


MacOSの要件

  • MacOS 11.0以降を推奨
  • Intel、Apple Silicon (M1 / M2 / M3 / M4) の両方に対応


Linuxの要件

  • RHEL、SUSE、Arch Linux等の主要なディストリビューションに対応



インストール

uvのインストール

MCPサーバの実行に必要な uv をインストールする。

Windowsの場合

PowerShellを使用する場合は、以下のコマンドを実行する。

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"


WinGetを使用する場合は、以下のコマンドを実行する。

winget install --id=astral-sh.uv -e


MacOSの場合

Homebrewを使用する場合は、以下のコマンドを実行する。

brew install uv


curlを使用する場合は、以下のコマンドを実行する。

curl -LsSf https://astral.sh/uv/install.sh | sh


Linuxの場合

curlを使用する場合は、以下のコマンドを実行する。

curl -LsSf https://astral.sh/uv/install.sh | sh


wgetを使用する場合は、以下のコマンドを実行する。

wget -qO- https://astral.sh/uv/install.sh | sh


pip経由 (全OS対応)

pipを使用してインストールする場合は、以下のコマンドを実行する。

pip install uv


Pythonのインストール

uv コマンドを使用してPython 3.10以上をインストールする。

uv python install 3.10


AWS CLIのインストールと認証設定

AWS CLI v2のインストール後、以下のコマンドで認証情報を設定する。

aws configure


SSO (IAM Identity Center) を使用する場合は、以下のコマンドを実行する。

aws configure sso


認証情報が正しく設定されているかを確認するには、以下のコマンドを実行する。

aws sts get-caller-identity



設定

設定ファイルの場所

各MCPクライアントの設定ファイルの場所は以下の通りである。

Claude Desktopの設定ファイルを以下に示す。

  • Linux
    ~/.config/Claude/claude_desktop_config.json
  • MacOS
    ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows
    %APPDATA%\Claude\claude_desktop_config.json


Claude Codeの設定ファイルを以下に示す。

  • ローカルスコープ
    .mcp.json (プロジェクトルート) : claude mcp add コマンドで生成される
  • ユーザスコープ
    ~/.claude.json (ホームディレクトリ)


OpenCodeの設定ファイルを以下に示す。

  • opencode.json または opencode.jsonc (プロジェクトルート)


VS Codeの設定ファイルを以下に示す。

  • .vscode/mcp.json (プロジェクトルート)


Cursorの設定ファイルを以下に示す。

  • グローバル設定
    ~/.cursor/mcp.json
  • プロジェクト設定
    .cursor/mcp.json


ローカルMCPサーバの設定

ローカルMCPサーバは、uvx コマンドを使用してstdio通信で実行する。

Claude Desktopでの設定

claude_desktop_config.json に以下の内容を追記する。

 {
   "mcpServers": {
     "aws-documentation": {
       "command": "uvx",
       "args": ["awslabs.aws-documentation-mcp-server@latest"],
       "env": {
         "FASTMCP_LOG_LEVEL": "ERROR"
       }
     }
   }
 }


設定ファイルを保存した後、Claude Desktopを再起動して設定を反映する。

Claude Codeでの設定

Claude Codeでは、claude mcp add コマンドを使用してMCPサーバを追加できる。

以下のコマンドでMCPサーバをClaude Codeに登録する。

claude mcp add --transport stdio aws-documentation -- uvx awslabs.aws-documentation-mcp-server@latest


環境変数を指定する場合は、--env オプションを追加する。

claude mcp add --transport stdio --env FASTMCP_LOG_LEVEL=ERROR aws-documentation -- uvx awslabs.aws-documentation-mcp-server@latest


プロジェクトスコープで設定する場合は、--scope project オプションを追加する。
設定は、.mcp.json に保存される。

claude mcp add --transport stdio --scope project aws-documentation -- uvx awslabs.aws-documentation-mcp-server@latest


上記コマンドにより生成される .mcp.json の内容を以下に示す。

 {
   "mcpServers": {
     "aws-documentation": {
       "command": "uvx",
       "args": ["awslabs.aws-documentation-mcp-server@latest"],
       "env": {
         "FASTMCP_LOG_LEVEL": "ERROR"
       }
     }
   }
 }


OpenCodeでの設定

opencode.jsonmcp セクションに以下に示す内容を追加する。

 {
   "mcp": {
     "aws-documentation": {
       "command": "uvx",
       "args": ["awslabs.aws-documentation-mcp-server@latest"],
       "env": {
         "FASTMCP_LOG_LEVEL": "ERROR"
       }
     }
   }
 }


VS Code / Cursorでの設定

.vscode/mcp.json または .cursor/mcp.json に以下の内容を追加する。

 {
   "mcpServers": {
     "aws-documentation": {
       "command": "uvx",
       "args": ["awslabs.aws-documentation-mcp-server@latest"],
       "env": {
         "FASTMCP_LOG_LEVEL": "ERROR"
       }
     }
   }
 }


リモートMCPサーバの設定

リモートMCPサーバはAWSクラウド上で実行され、HTTPプロトコルで接続する。

Claude Desktopでの設定

claude_desktop_config.json に以下の内容を追記する。

 {
   "mcpServers": {
     "aws-mcp": {
       "command": "uvx",
       "args": [
         "mcp-proxy-for-aws@latest",
         "https://aws-mcp.us-east-1.api.aws/mcp",
         "--metadata", "AWS_REGION=us-west-2"
       ]
     }
   }
 }


Claude Codeでの設定

以下のコマンドでリモートMCPサーバをClaude Codeに登録する。

claude mcp add --transport http aws-mcp https://aws-mcp.us-east-1.api.aws/mcp


VS Code / Cursorでの設定

.vscode/mcp.json または .cursor/mcp.json に以下の内容を追加する。

 {
   "mcpServers": {
     "aws-mcp": {
       "command": "uvx",
       "args": [
         "mcp-proxy-for-aws@latest",
         "https://aws-mcp.us-east-1.api.aws/mcp"
       ]
     }
   }
 }


Core MCP Serverの設定

Core MCPサーバは、ロールベースのプロキシ戦略で複数のMCPサーバを動的に統合する。
環境変数でロールを有効化することにより、対応するMCPサーバが自動的に読み込まれる。

利用可能なロールを以下に示す。

Core MCP Serverの利用可能なロール一覧
ロール名 説明
aws-foundation AWSの基本知識とAPI
dev-tools 開発ツール
ci-cd-devops CI/CDとDevOps
container-orchestration コンテナ管理
serverless-architecture サーバレス開発
analytics-warehouse データ分析・ウェアハウジング
data-platform-eng データプラットフォームエンジニアリング
frontend-dev フロントエンド開発
solutions-architect ソリューションアーキテクチャ
finops 財務運用 (FinOps)
monitoring-observability 監視・可観測性
caching-performance キャッシング・パフォーマンス最適化
security-identity セキュリティ・アイデンティティ管理
sql-db-specialist SQLデータベース
nosql-db-specialist NoSQLデータベース
timeseries-db-specialist 時系列データベース
messaging-events メッセージング・イベント処理
healthcare-lifesci ヘルスケア・ライフサイエンス


以下に、solutions-architectfinops ロールを有効化する設定例を示す。

 {
   "mcpServers": {
     "awslabs.core-mcp-server": {
       "command": "uvx",
       "args": ["awslabs.core-mcp-server@latest"],
       "env": {
         "FASTMCP_LOG_LEVEL": "ERROR",
         "solutions-architect": "true",
         "finops": "true"
       }
     }
   }
 }


Windowsでの設定の注意点

Windowsでは、使用するコマンドの種類によって設定方法が異なる。

npx を使用するMCPサーバの場合は、cmd /c ラッパーが必須である。

 {
   "mcpServers": {
     "my-server": {
       "command": "cmd",
       "args": ["/c", "npx", "-y", "package-name"]
     }
   }
 }


uvx を使用するMCPサーバの場合は、ラッパーは不要である。

 {
   "mcpServers": {
     "aws-documentation": {
       "command": "uvx",
       "args": ["awslabs.aws-documentation-mcp-server@latest"]
     }
   }
 }



使用方法

MCPサーバを設定後、AIアシスタントに自然言語で指示するだけで、対応するツールが自動的に呼び出される。

AWS Documentation MCPサーバの使用例

AWS公式ドキュメントへのアクセスや情報検索に関する操作例を以下に示す。

  • S3バケットの暗号化設定を調べる場合
     # プロンプト例 :
     
     S3バケットの暗号化について、AWS公式ドキュメントから情報を取得してください。
    

  • Lambda関数のベストプラクティスを検索する場合
     # プロンプト例 :
     
     Lambda関数のタイムアウト設定について、ベストプラクティスを検索してください。
    

  • EC2インスタンスタイプを比較する場合
     # プロンプト例 :
     
     EC2インスタンスタイプの比較表を作成してください。
    


Core MCPサーバの使用例

複数のMCPサーバを統合して活用する操作例を以下に示す。

  • CloudFormationとコスト最適化を組み合わせる場合
     # プロンプト例 :
     
     デプロイメント用のCloudFormationテンプレートを作成して、インフラコストを最適化する方法を提案してください。
    

  • VPCのセキュリティ設定を確認する場合
     # プロンプト例 :
     
     VPCネットワークのセキュリティグループ設定を確認してください。
    


AWS IaC MCPサーバの使用例

インフラストラクチャのコード化に関する操作例を以下に示す。

  • CDKを使用してS3バケットを作成する場合
     # プロンプト例 :
     
     CDKでS3バケットを暗号化有効で作成する方法を教えてください。
    

  • CloudFormationテンプレートを検証する場合
     # プロンプト例 :
     
     CloudFormationテンプレートを検証してセキュリティチェックを実行してください。
    



トラブルシューティング

共通の問題

下表に、OS問わず発生する可能性がある問題と対処法を示す。

共通トラブルシューティング
問題 対処法
uv: command not found PATHの設定を確認する。
シェルの設定ファイル (~/.bashrc 等) を再読み込み、または、uvを再インストールする。
タイムアウトエラーが発生する MCPクライアントの設定でタイムアウト値を増加させる。
AccessDenied / UnauthorizedException が発生する AWS認証情報の有効期限を確認する。
aws sts get-caller-identity コマンドで認証状態を確認し、
IAMポリシーに必要な権限が付与されているか確認する。
Token has expired エラーが発生する aws sso login または aws configure sso コマンドを再実行して、
認証トークンを更新する。
Connection closedエラーが発生する (Windows) npxを使用するサーバの場合、cmd /c ラッパーを設定ファイルに追加する。
サーバが起動しない MCPクライアントを再起動する。
ログファイルを確認してエラーの詳細を調べる。


Windowsでの問題

下表に、Windows環境で発生する可能性がある問題と対処法を示す。

Windowsのトラブルシューティング
問題 対処法
ENOENTエラーが発生する 設定ファイルに環境変数 (PATH 等) を明示的に指定する。
npxが見つからない npm install -g npm コマンドを実行して、npmを最新バージョンに更新する。


MacOSでの問題

下表に、MacOS環境で発生する可能性がある問題と対処法を示す。

MacOSのトラブルシューティング
問題 対処法
Apple Silicon環境で、uvコマンドが見つからない Homebrewを使用して、uvを再インストールする。
brew install uv コマンドを実行する。


Linuxでの問題

下表に、Linux環境で発生する可能性がある問題と対処法を示す。

Linuxのトラブルシューティング
問題 対処法
uvコマンドが見つからない ~/.profileファイル等に環境変数 PATH が正しく設定されているか確認する。
パーミッションエラーが発生する 実行権限を付与する。
例: chmod +x ~/.local/bin/uv