AWS Keyspaces MCPサーバーとは?
AWS Keyspaces MCPサーバーは、AWS MCPサーバーの軽量オープンソースコンポーネントで、LLM駆動のツールやエージェントがAmazon Keyspaces(Apache Cassandra用)データベースとシームレスにやり取りできるようにします。モデルコンテキストプロトコル(MCP)を実装しており、安全なエンドポイントを提供して、Keyspacesやテーブルの発見、Cassandraクエリ言語(CQL)SELECTクエリの実行、スキーマ設計の分析を行います。これにより、AIアシスタントがクラウドを意識したインサイトを提供し、Cassandra操作を自動化し、コードやワークフローの生成をサポートします。
AWS Keyspaces MCPサーバーの設定方法
-
前提条件:
- Python仮想環境用のuvをインストールします。
uv python install 3.10
でPython 3.10以降をセットアップします。- AWS資格情報が必要なAmazon Keyspacesリソースと地域へのアクセスを許可していることを確認します。
-
MCPクライアント設定にサーバーを追加する:
-
MCPクライアントの設定ファイル(例:
~/.aws/amazonq/mcp.json
、.cursor/mcp.json
、またはWindSurfの設定)に以下のエントリを追加します:"awslabs.amazon-keyspaces-mcp-server": { "command": "uvx", "args": ["awslabs.amazon-keyspaces-mcp-server@latest"], "env": { "AWS_PROFILE": "your-aws-profile", "AWS_REGION": "us-east-1", "FASTMCP_LOG_LEVEL": "ERROR" } }
-
"your-aws-profile"
と"us-east-1"
を実際のAWSプロファイルと地域に置き換えます。 -
必要に応じて、IAMロールやカスタム環境変数を追加してセキュリティやアクセスコントロールを強化します。
-
-
コンテナオプション:
- 必要に応じて、MCPサーバーをDockerコンテナとしてビルドおよび実行し、
--env
または--env-file
で環境変数を設定し、プロファイルを使用する場合はAWS資格情報ディレクトリをマウントします。
- 必要に応じて、MCPサーバーをDockerコンテナとしてビルドおよび実行し、
-
インストールの検証:
- サーバーがクライアントツールのMCPサーバーリストに有効として表示され、ツールの発見と呼び出しが可能であることを確認します。
AWS Keyspaces MCPサーバーの使用方法
-
AIツールでサーバーを有効にする
- IDE拡張機能、チャットインターフェース、またはMCP対応のLLMクライアントを使用して、AWS Keyspaces MCPサーバーを有効にします。
- セッションがプリセットのAWS資格情報と地域を使用することを確認します。
-
ツールを発見する
tools/list
エンドポイントまたはエージェントのGUIを使用して、Keyspaces操作(キー空間/テーブルの探査やクエリ実行など)を表示します。
-
操作を実行する
- 自然言語や構造化リクエストを使って、AIアシスタントに次のことを指示します:
- 利用可能なキー空間またはテーブルをリストする
- キー空間/テーブルのスキーマを取得する
- CQL SELECTクエリを実行してデータを取得するか、使用状況を分析する
- スキーマ分析または最適化の提案を依頼する
- 自然言語や構造化リクエストを使って、AIアシスタントに次のことを指示します:
-
アクションをレビューして承認する
- MCPクライアントの設定に応じて、CQLクエリの実行やスキーマ分析のようなアクションを手動で承認するか、迅速なワークフローのために自動承認を有効にします。
-
ワークフローに統合する
- AWS Keyspaces MCPサーバーを、データベース構造に基づいてIaCコードを生成する、スキーマ設計を検証する、またはクラウドプロジェクト内でライブデータインサイトを取得するなど、より大きなAI駆動の自動化の一部として使用します。
主な機能
- キー空間とテーブルの発見: AWSアカウント内のすべてのAmazon Keyspacesとテーブルを列挙し、指定された地域でアクセス可能です。
- CQLクエリ実行: LLMアシスタントからCQL SELECTクエリを直接実行し、安全な資格情報管理とサポートするクエリタイプに制限があります。
- スキーマインストロスペクション: キー空間とテーブルの完全なスキーマを取得し、カラム、タイプ、テーブルプロパティを含みます。
- スキーマ分析とガイダンス: テーブル設計、データモデリング、クエリパフォーマンスを分析し、Apache Cassandraのベストプラクティスに基づくインサイトを提供します。
- Cassandra互換: Amazon Keyspacesに対応したCassandraクエリ言語(CQL)操作を完全にサポートしています。
- 安全なアクセス: AWS IAMロール/プロファイルまたは指定された資格情報を使用し、データ保護のためにMCPのベストプラクティスを適用します。
- 柔軟な統合: IDE、チャットボット、インタラクティブまたは自動化ワークフローのための任意のエージェントMCPクライアントから使用できます。
ユースケース
- クラウドデータ探査: 手動でコンソールを操作することなく、Keyspacesスキーマとサンプルデータを瞬時に探査および可視化します。
- AI支援トラブルシューティング: AIアシスタントに診断情報を取得させたり、特定のCQLクエリを実行したりして、デバッグをサポートします。
- スキーマ最適化: パフォーマンス、非正規化、パーティションキー選択のためにテーブル設計を分析し、自動推奨を行います。
- 自動コード生成: ライブテーブルスキーマデータを使用してバックエンドコード、ORMマッピング、またはマイグレーションスクリプトを生成します。
- DevOpsおよびDataOpsワークフロー: Keyspacesデータアクセスを、LLMに支えられた大規模なインフラストラクチャとしてのコード、マイグレーション、または可観測性パイプラインに統合します。
- 自然言語からCQLへ: ビジネスユーザーやジュニア開発者が、シンプルな英語で質問することによってKeyspacesデータを取得できるようにします。
FAQ
Q1: MCPサーバーはKeyspacesへの書き込み(INSERT/UPDATE/DELETE)をサポートしていますか、それともSELECTクエリのみですか?
A1: AWS Keyspaces MCPサーバーは、CQL SELECTクエリを実行し、スキーマを探査するなどの読み取り専用操作に焦点を当てています。これにより、セキュリティが確保され、意図しないデータ変更を避けることができます。将来のリリースでは、しっかりとした安全策の下で書き込みサポートを検討するかもしれません。
Q2: MCPサーバーを使用する際、私のKeyspacesデータへのアクセスはどのように保護されていますか?
A2: すべての操作は、設定したAWS資格情報/ロールを使用し、MCPサーバーは資格情報管理と安全なIAMスコーピングのためのベストプラクティスに従います。データは、明示的で認証されたリクエストを除いて、外部ネットワークに公開されることはありません。
Q3: CQLクエリが複雑すぎるかサポートされていない場合はどうなりますか?
A3: サーバーは受信したクエリを検証およびサニタイズし、SELECT文のみをサポートします。複雑またはサポートされていないクエリは、説明的なエラーを生成し、安全でないまたは未テストの操作がKeyspacesクラスタ上で実行されないようにします。
Q4: MCPサーバーは、複数の地域やAWSアカウントで同時に使用できますか?
A4: 異なるAWSプロファイルや地域設定で、AWS Keyspaces MCPサーバーの別々のインスタンスを実行し、複数のKeyspaces環境に同時にアクセスできます。各インスタンスは、設定された資格情報によって隔離されます。
Q5: このサーバーを他のAWSサービスを含むより大きなエージェントワークフローの一部として使用することは可能ですか?
A5: はい、AWS Keyspaces MCPサーバーは複雑なマルチサーバーAIワークフローに組み込むために設計されており、他のAWS MCPサーバーと共に動作し、包括的なクラウド開発および管理機能を提供します。