AWS Serverless MCP Server

AWS Serverless MCP Server

AWS Serverless MCPサーバーは、AIアプリケーションやアシスタントがAWSのサーバーレスサービスと連携するための特化したMCPサーバーです。自然言語またはプログラムインターフェースを通じて、AWS SAM CLIを使用してサーバーレスアプリケーションのライフサイクル全体を管理するためのツールを提供します。

Author: awslabs


プロトコルを表示

AWS Serverless MCPサーバーとは?

AWS Serverless MCPサーバーは、AWS上のサーバーレス開発の機能を提供する専用のモデルコンテキストプロトコルサーバーです。AIエージェントや開発ツールがAWS Lambda、Amazon API Gateway、Step Functions、その他のサーバーレスサービス上でワークフローや操作を調整できるようにします。標準化されたMCPエンドポイントを通じて、LLM対応のアプリケーションがサーバーレスアプリケーションをプログラム的に構築、展開、テスト、監視できるようにします。SAM CLIを使用して最良のプラクティスに従いながら実行されます。

AWS Serverless MCPサーバーの構成方法

  • 前提条件:
    • Python 3.10以上がインストールされていること
    • uvパッケージマネージャー(Astralから)
    • 関連するAWSサーバーレスリソースを管理するための権限を持つAWS資格情報が設定されていること
  • インストール手順:
    1. uvをインストールします:
      pip install uv
      
    2. Pythonがまだインストールされていない場合、次のコマンドでインストールします:
      uv python install 3.10
      
    3. AWS資格情報を設定します(AWS CLIまたは環境変数を使用)。
    4. MCPクライアントの設定を更新します(例: ~/.aws/amazonq/mcp.json または他のサポートされる設定ファイル)して、以下を含めます:
      {
        "mcpServers": {
          "awslabs.aws-serverless-mcp-server": {
            "command": "uvx",
            "args": ["awslabs.aws-serverless-mcp-server@latest"],
            "env": {
              "AWS_PROFILE": "your-aws-profile",
              "AWS_REGION": "us-east-1",
              "FASTMCP_LOG_LEVEL": "ERROR"
            }
          }
        }
      }
      
    5. コンテナで使用する場合は、Dockerイメージをビルドして実行します(詳細はサーバーのREADMEを参照)。
    • 各MCPクライアント(Amazon Q CLI、Cursor、Kiroなど)は、異なるパスに設定ファイルを必要とする場合があります。詳しくはそれらのドキュメントを参照してください。

AWS Serverless MCPサーバーの使用方法

  1. MCPクライアント(例: Amazon Q CLI、Cursor、または選んだアプリ)の設定でAWS Serverless MCPサーバーを有効にして起動します。
  2. チャットまたはコーディングインターフェースで、LLMアシスタントにサーバーレスタスクのためにServerless MCPサーバーを使用するよう指示します。
    • 例: "AWS Serverless MCPサーバーを使用して、S3イベントに応答するLambda関数を作成してデプロイしてください。"
  3. アシスタントは利用可能なツールやエンドポイントを活用し、設定に応じて提案やコマンドを自動実行することがあります。
  4. アクションを承認するよう求められることがあります(例:デプロイ、リソースの更新、関数の呼び出しなど)。
  5. 開発ワークフロー内でログや出力、提案された変更を確認します。
  6. サーバーレス操作を対象とする明示的な命令を使用するか、エージェントに必要なMCPツールを自動的に選ばせることができます。

主な特徴

  • ライフサイクル管理: AWS SAM CLIを使用してサーバーレスアプリケーションの構築、パッケージング、デプロイ、更新をサポートします。
  • マルチサービスオーケストレーション: Lambda、API Gateway、Step Functions、S3トリガーなどを統合します。
  • セキュリティと検証: AWSのセキュリティプラクティスを遵守し、デプロイ前にテンプレートを検証できます。
  • 最新のベストプラクティス: コード生成とデプロイパターンが最新のAWSサーバーレス推奨に一致するようにします。
  • ワークフロー自動化: LLMが関数の作成、デプロイ、監視などのタスクを自動化できます。
  • 自然言語操作: 会話エージェントがCLIやCloudFormationコマンドを直接書かずにサーバーレスインフラストラクチャを管理できます。
  • 開発ツールとの統合: Amazon Q CLI、Cursor、Cline、VSCode、Kiro、Windsurf、その他のMCP互換環境とシームレスに動作します。

使用例

  • 自然言語で記述されたユーザーやビジネスの要件に基づいて、Lambda関数を自動生成しデプロイします。
  • API Gatewayエンドポイント、Lambdaトリガー、DynamoDB統合を含むエンドツーエンドのサーバーレスアプリケーションをスキャフォールド、構築、デプロイします。
  • ベストプラクティスチェックを使用して、SAMまたはCloudFormationのサーバーレステンプレートを検証およびテストします。
  • 最小限の手動介入で既存のサーバーレスアプリケーションを更新し、最新の機能やパターンを利用します。
  • 展開されたサーバーレスリソースを監視し、ログをクエリしたり診断関数を呼び出したりします。
  • 開発者にサーバーレスアーキテクチャやサンプル実装について、IDEやチャットアシスタントでインタラクティブに教えます。

よくある質問

Q1: AWS Serverless MCPサーバーを使用するには、AWS SAM CLIを別途インストールする必要がありますか?
いいえ。AWS Serverless MCPサーバーは、AWS SAM CLIの機能を内部でラップしています。MCPワークフローの外で直接使用したい場合を除いて、別途SAM CLIをインストールする必要はありません。

Q2: AWS Serverless MCPサーバーは、本番環境へのデプロイに使用できますか、それとも主に開発用ですか?
開発者の生産性と迅速なプロトタイピングのために最適化されていますが、本番用の推奨される同じツールとベストプラクティスを使用しています。ただし、出力をレビューし、組織のデプロイポリシーに従ってから本番環境にプッシュする必要があります。

Q3: AWS Serverless MCPサーバーはセキュリティをどのように確保していますか?
AWSの資格情報と権限を尊重し、AWS IAMポリシーに従います。また、リスクを最小限に抑えるために、セキュリティのベストプラクティス検証と役割スコープを含むことができます。常に承認前にデプロイ計画をレビューしてください。

Q4: プライベートリソースにアクセスしたり、カスタムワークフローを実行したりする必要がある場合はどうなりますか?
AWSプロファイルや資格情報で環境を構成し、アクセス可能なLambda関数やその他のリソースに対して細かい制御を行うために役割や関数のプレフィックス/タグを指定できます。

Q5: AWS Serverless MCPサーバーはどのような環境と互換性がありますか?
Amazon Q CLI、Cursor、Cline、Kiro、Windsurf、Visual Studio Code(互換性のある拡張機能を介して)を含むすべてのMCP対応クライアントをサポートしています。