AWS ラボ Aurora DSQL MCP サーバー - Amazon Aurora DSQL

AWS ラボ Aurora DSQL MCP サーバー

Aurora DSQL 用の AWS ラボモデルコンテキストプロトコル (MCP) サーバー

機能

  • 人間が読める質問やコマンドを、構造化された Postgres 互換 SQL クエリに変換し、設定された Aurora DSQL データベースに対して実行します。

  • デフォルトで読み取り専用、--allow-writes で有効になっているトランザクション

  • パフォーマンスを向上させるためのリクエスト間の接続の再利用

  • Aurora DSQL ドキュメント、検索、ベストプラクティスの推奨事項への組み込みアクセス

使用可能なツール

データベースのオペレーション

  • readonly_query - DSQL クラスターに対して読み取り専用 SQL クエリを実行

  • transact - トランザクションで書き込みオペレーションを実行 (--allow-writes が必要)

  • get_schema - テーブルスキーマ情報を取得

ドキュメントと推奨事項

  • dsql_search_documentation - Aurora DSQL ドキュメントの検索

    • パラメータ: search_phrase (必須)、limit (オプション)

  • dsql_read_documentation - 特定の DSQL ドキュメントページを読み込み

    • パラメータ: url (必須)、start_index (オプション)、max_length (オプション)

  • dsql_recommend - DSQL のベストプラクティスに関する推奨事項を取得

    • 必須パラメータ: url (必須)

前提条件

  1. Aurora DSQL クラスターがある AWS アカウント

  2. この MCP サーバーは、LLM クライアントと同じホストでのみローカルで実行できます。

  3. AWS サービスにアクセスできる AWS 認証情報を設定する

    • 以下のアクセス許可を含むロールを持つ AWS アカウントが必要です。

      • dsql:DbConnectAdmin - 管理者ユーザーとして DSQL クラスターに接続

      • dsql:DbConnect - カスタムデータベースロールを使用して DSQL クラスターに接続 (管理者以外のユーザーを使用する場合のみ必要)

    • aws configure または環境変数を使用した AWS 認証情報の設定

インストール

の使用uv

  1. Astral または GitHub README から uv をインストールする

  2. uv python install 3.10 を使用して Python をインストールする

MCP クライアント設定で MCP サーバーを設定します (Amazon Q Developer CLI の場合は、~/.aws/amazonq/mcp.json を編集します)。

{ "mcpServers": { "awslabs.aurora-dsql-mcp-server": { "command": "uvx", "args": [ "awslabs.aurora-dsql-mcp-server@latest", "--cluster_endpoint", "[your dsql cluster endpoint, e.g. abcdefghijklmnopqrst234567.dsql.us-east-1.on.aws]", "--region", "[your dsql cluster region, e.g. us-east-1]", "--database_user", "[your dsql username, e.g. admin]", "--profile", "default" ], "env": { "FASTMCP_LOG_LEVEL": "ERROR" }, "disabled": false, "autoApprove": [] } } }

Windows のインストール

Windows ユーザーの場合、MCP サーバー設定形式は若干異なります。

{ "mcpServers": { "awslabs.aurora-dsql-mcp-server": { "disabled": false, "timeout": 60, "type": "stdio", "command": "uv", "args": [ "tool", "run", "--from", "awslabs.aurora-dsql-mcp-server@latest", "awslabs.aurora-dsql-mcp-server.exe" ], "env": { "FASTMCP_LOG_LEVEL": "ERROR", "AWS_PROFILE": "your-aws-profile", "AWS_REGION": "us-east-1" } } } }

インストールの検証

Amazon Q Developer CLI の場合は、/mcp を実行して MCP サーバーのステータスを確認します。

サーバー設定オプション

--allow-writes

デフォルトでは、dsql MCP サーバーは書き込みオペレーション (「読み取り専用モード」) を許可しません。トランザクションツールの呼び出しは、このモードでは失敗します。トランザクションツールを使用するには、--allow-writes パラメータを渡して書き込みを許可します。

DSQL に接続するときは、最小特権アクセスを使用することをお勧めします。例えば、ユーザーは可能な限り読み取り専用のロールを使用する必要があります。読み取り専用モードには、ミューテーションを拒否するためのベストエフォートなクライアント側の強制があります。

--cluster_endpoint

これは、接続するクラスターを指定するための必須パラメータです。これはクラスターの完全なエンドポイントである必要があります。例: 01abc2ldefg3hijklmnopqurstu.dsql.us-east-1.on.aws

--database_user

これは、接続するユーザーを指定するための必須パラメータです。例えば、admin または my_user など。使用している AWS 認証情報には、そのユーザーとしてログインするためのアクセス許可が必要です。DSQL でのデータベースロールの設定と使用の詳細については、「IAM ロールでのデータベースロールの使用」を参照してください。

--profile

認証情報に使用する aws プロファイルを指定できます。これは docker のインストールではサポートされていないことに注意してください。

MCP 設定での AWS_PROFILE 環境変数の使用もサポートされています。

"env": { "AWS_PROFILE": "your-aws-profile" }

どちらも指定されていない場合、MCP サーバーはデフォルトで AWS 設定ファイルの「デフォルト」プロファイルを使用します。

--region

これは、DSQL データベースのリージョンを指定するための必須パラメータです。

--knowledge-server

DSQL ナレッジツール (ドキュメント検索、読み取り、レコメンデーション) のリモート MCP サーバーエンドポイントを指定するオプションのパラメータ。デフォルトでは、事前設定されています。

例:

--knowledge-server https://custom-knowledge-server.example.com

注: セキュリティのため、信頼できるナレッジサーバーエンドポイントのみを使用してください。サーバーは HTTPS エンドポイントである必要があります。

--knowledge-timeout

ナレッジサーバーへのリクエストのタイムアウトを秒単位で指定するオプションのパラメータ。

デフォルト: 30.0

例:

--knowledge-timeout 60.0

低速ネットワークでドキュメントにアクセスするときにタイムアウトが発生した場合は、この値を増やします。