AWS Aurora DSQL MCP Server

AWS Aurora DSQL MCP Server

AWS Aurora DSQL MCPサーバーは、Aurora PostgreSQL互換データベースへの分散SQL(DSQL)アクセスを提供する専門のMCPサーバーです。これにより、LLM駆動アプリケーションやAIアシスタントは、Amazon Auroraクラスター内の大規模な分散リレーショナルデータを安全にクエリし、管理できます。

Author: awslabs


プロトコルを表示

AWS Aurora DSQL MCPサーバーとは?

AWS Aurora DSQL MCPサーバーは、AuroraのPostgreSQL互換の分散SQLエンジンとモデルコンテキストプロトコル(MCP)との統合ポイントです。LLM駆動アプリケーションは、標準化されたMCPエンドポイントを通じてAuroraクラスター内の分散リレーショナルデータにネイティブアクセスし、クエリおよび操作が可能です。分散SQLとMCPエコシステムをつなぐことで、AIアシスタントやワークフローは、複雑でスケーラブルな分析ワークロードをAurora上で直接サポートできにすることができます。これにより、高度なSQL機能、同時実行性、高可用性を活用できます。

設定方法

  1. 前提条件:

    • 分散SQLが有効なAmazon Aurora PostgreSQL互換クラスターが必要です。
    • クラスターリソースARNと必要なAWS認証情報へのアクセスが必要です。
    • uvがインストールされたPython環境が必要です。
  2. サーバー引数(MCPクライアント構成ファイル(例:mcp.json)に設定):

    {
      "awslabs.aurora-dsql-mcp-server": {
        "command": "uvx",
        "args": ["awslabs.aurora-dsql-mcp-server@latest"],
        "env": {
          "AWS_PROFILE": "your-aws-profile",
          "AWS_REGION": "us-east-1",
          "AURORA_RESOURCE_ARN": "arn:aws:rds:us-east-1:123456789012:cluster:my-aurora-cluster",
          "AURORA_SECRET_ARN": "arn:aws:secretsmanager:us-east-1:123456789012:secret:mysecret",
          "AURORA_DATABASE": "your_database"
        }
      }
    }
    
  3. 環境変数:

    • AURORA_RESOURCE_ARN: AuroraクラスターのARN。
    • AURORA_SECRET_ARN: データベース認証情報を含むシークレットのARN。
    • AURORA_DATABASE: 対象データベース名。
    • AWS_PROFILE: AWS CLIプロファイル(または環境経由の同等の認証情報)。
  4. デプロイ:

    • 設定を適切なMCPクライアント構成に追加します(~/.aws/amazonq/mcp.json.cursor/mcp.jsonなど)。
    • IAM権限がAuroraへのData APIアクセスとSecrets Managerの取得を許可することを確認します。
    • MCPクライアントやコードアシスタントを起動して、サーバー接続を開始します。

使用方法

  1. LLM駆動のコードアシスタントやMCP対応ツール(例:Amazon Q、Cursor、Cline)を開きます。
  2. AWS Aurora DSQL MCPサーバーがMCPサーバーのリストにあることを確認します。
  3. 自然言語や明示的なプロンプト(例:「Aurora DSQL MCPサーバーを使用して、分析クエリを実行します...」)を使ってデータをリクエストしたり操作を行います。
  4. MCPクライアントは、必要に応じてサーバーツール(例:sql_query、list_tables)を呼び出し、結果やアクションをワークフローに返します。
  5. オプションで、クライアント設定に応じて各サーバーツールの呼び出しを承認または確認します。
  6. 結果(レコード、メタデータ、診断情報)が、AIアシスタントの会話または出力パネルに表示されます。

主な機能

  • AuroraでのPostgreSQL互換の分散SQLクエリ実行
  • AWS認証情報とSecrets Managerを利用した安全な役割ベースのアクセス
  • MCPエコシステムおよびLLM駆動エージェントとの完全統合
  • データベーススキーマ発見、データ探索、分析のためのツール
  • 大規模な同時実行、トランザクション、読み取りスケーラビリティ(Aurora DSQLの利点)
  • インジェクションリスクを減少させるためのパラメータ化されたSQL入力をサポート
  • 会話型、自律型、またはバックグラウンドのAIワークフローの一部としてシームレスに統合

ユースケース

  • 会話型データ分析: AIチャットボットがリアルタイムの分散SQLクエリを使用してビジネスの質問に回答できます。
  • 自動化されたETLパイプライン: LLM駆動のデータワークフローの一部として、分散変換と集約をトリガーします。
  • クラウドネイティブデータ探索: 開発者やデータサイエンティストがIDE内で自然言語クエリを使用して分散Auroraデータベースを探索できます。
  • 監査とコンプライアンス: LLMを使用して、自動的にコンプライアンスレポートを取得したり、分散データセットのセキュリティレビューを行います。
  • ダッシュボードとレポーティング: ダッシュボードツールやBIエージェントと統合して、視覚化や意思決定ツールにリアルタイムデータを取得します。

よくある質問

Q1: このサーバーは、通常のPostgreSQLクラスターをサポートしていますか、それともAurora Distributed SQLのみですか?
A1: このサーバーは、分散SQLが有効なAurora PostgreSQL互換クラスター専用に設計されています。標準的なAuroraまたはオンプレミスPostgreSQLにはAurora PostgreSQL MCPサーバーを使用してください。

Q2: どのレベルのSQL構文がサポートされていますか?
A2: サーバーは、Aurora DSQLによって実装されている完全なPostgreSQLの方言をサポートしています。高度な分析および分散クエリ機能も含まれます。一部の物理的またはシステムレベルのステートメントは、セキュリティ上の理由で制限される場合があります。

Q3: 認証と承認はどのように機能しますか?
A3: サーバーは、Aurora Data APIおよびデータベース認証情報を含むSecrets ManagerシークレットにアクセスするためのAWS IAM認証に依存しています。すべての操作は、設定されたIAMロールとデータベースの権利に基づいて承認されます。

Q4: MCPサーバーはデータベースの状態を変更できますか、それとも読み取り専用のクエリのみを実行できますか?
A4: デフォルトでは、読み取りと書き込み(INSERT、UPDATE、DELETE)の両方の操作がサポートされていますが、設定によって異なります。安全性を高めるために、環境設定でサーバーを読み取り専用アクセスに設定することも可能です。

Q5: クエリ性能に関する問題はどのように検出し解決しますか?
A5: サーバーは、各ツール呼び出しの実行診断(タイミング、エラー、ステータス)を返します。高度な調整には、標準のAurora/PostgreSQLモニタリング(CloudWatch、Performance Insights)を直接使用してください。