aws-athena-mcp

Integrations

  • Requires Node.js >= 16 to run the MCP server

@lishenxydlgzs/aws-athena-mcp

AWS Athenaクエリを実行するためのModel Context Protocol(MCP)サーバー。このサーバーにより、AIアシスタントはAWS Athenaデータベースに対してSQLクエリを実行し、結果を取得できるようになります。

使用法

  1. 次のいずれかの方法で AWS 認証情報を設定します。
    • AWS CLI 設定
    • 環境変数 ( AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY )
    • IAM ロール(AWS で実行している場合)
  2. サーバーを MCP 構成に追加します。
{ "mcpServers": { "athena": { "command": "npx", "args": ["-y", "@lishenxydlgzs/aws-athena-mcp"], "env": { // Required "OUTPUT_S3_PATH": "s3://your-bucket/athena-results/", // Optional AWS configuration "AWS_REGION": "us-east-1", // Default: AWS CLI default region "AWS_PROFILE": "default", // Default: 'default' profile "AWS_ACCESS_KEY_ID": "", // Optional: AWS access key "AWS_SECRET_ACCESS_KEY": "", // Optional: AWS secret key "AWS_SESSION_TOKEN": "", // Optional: AWS session token // Optional server configuration "ATHENA_WORKGROUP": "default_workgroup", // Optional: specify the Athena WorkGroup "QUERY_TIMEOUT_MS": "300000", // Default: 5 minutes (300000ms) "MAX_RETRIES": "100", // Default: 100 attempts "RETRY_DELAY_MS": "500" // Default: 500ms between retries } } } }
  1. サーバーは次のツールを提供します。
  • run_query : AWS Athena を使用して SQL クエリを実行する
    • パラメータ:
      • データベース: クエリするAthenaデータベース
      • クエリ: 実行するSQLクエリ
      • maxRows: 返される行の最大数 (デフォルト: 1000、最大: 10000)
    • 戻り値:
      • クエリがタイムアウト内に完了した場合: 完全なクエリ結果
      • タイムアウトに達した場合: 後で取得するための queryExecutionId のみ
  • get_status : クエリ実行のステータスを確認する
    • パラメータ:
      • queryExecutionId: run_queryから返されたID
    • 戻り値:
      • 状態: クエリの状態 (QUEUED、RUNNING、SUCCEEDED、FAILED、または CANCELLED)
      • stateChangeReason: 状態変更の理由(ある場合)
      • submissionDateTime: クエリが送信された日時
      • 完了日時: クエリが完了した日時 (完了した場合)
      • 統計: クエリ実行統計(利用可能な場合)
  • get_result : 完了したクエリの結果を取得する
    • パラメータ:
      • queryExecutionId: run_queryから返されたID
      • maxRows: 返される行の最大数 (デフォルト: 1000、最大: 10000)
    • 戻り値:
      • クエリが正常に完了した場合の完全なクエリ結果
      • クエリが失敗した場合、またはまだ実行中の場合はエラーが発生します
  • list_saved_queries : Athena に保存されている (名前付き) クエリをすべて一覧表示します。
  • 戻り値:
    • idname 、オプションのdescriptionを含む保存されたクエリの配列
    • クエリは設定されたATHENA_WORKGROUPAWS_REGIONから返されます
  • run_saved_query: 以前に保存したクエリを ID で実行します。
  • パラメータ:
    • namedQueryId : 保存されたクエリのID
    • databaseOverride : 保存されたクエリのデフォルトデータベースのオーバーライド(オプション)
    • maxRows : 返される行の最大数(デフォルト: 1000)
    • timeoutMs : タイムアウト(ミリ秒)(デフォルト: 60000)
  • 戻り値:
    • run_queryと同じ動作: 完全な結果または実行 ID

使用例

すべてのデータベースを表示

AIアシスタントへのメッセージ: List all databases in Athena

MCPパラメータ:

{ "database": "default", "query": "SHOW DATABASES" }

データベース内のテーブルの一覧表示

AIアシスタントへのメッセージ: Show me all tables in the default database

MCPパラメータ:

{ "database": "default", "query": "SHOW TABLES" }

テーブルスキーマの取得

AI アシスタントへのメッセージ: What's the schema of the asin_sitebestimg table?

MCPパラメータ:

{ "database": "default", "query": "DESCRIBE default.asin_sitebestimg" }

表の行のプレビュー

AIアシスタントへのメッセージ: Show some rows from my_database.mytable

MCPパラメータ:

{ "database": "my_database", "query": "SELECT * FROM my_table LIMIT 10", "maxRows": 10 }

フィルタリングと集計機能を備えた高度なクエリ

AIアシスタントへのメッセージ: Find the average price by category for in-stock products

MCPパラメータ:

{ "database": "my_database", "query": "SELECT category, COUNT(*) as count, AVG(price) as avg_price FROM products WHERE in_stock = true GROUP BY category ORDER BY count DESC", "maxRows": 100 }

クエリステータスの確認

{ "queryExecutionId": "12345-67890-abcdef" }

完了したクエリの結果を取得する

{ "queryExecutionId": "12345-67890-abcdef", "maxRows": 10 }

保存したクエリの一覧表示

{ "name": "list_saved_queries", "arguments": {} }

保存したクエリを実行する

{ "name": "run_saved_query", "arguments": { "namedQueryId": "abcd-1234-efgh-5678", "maxRows": 100 } }

要件

  • Node.js >= 16
  • 適切な Athena および S3 権限を持つ AWS 認証情報
  • クエリ結果用のS3バケット
  • 名前付きクエリ(オプション)は、指定されたATHENA_WORKGROUPおよびAWS_REGIONに存在する必要があります。

ライセンス

マサチューセッツ工科大学

リポジトリ

GitHubリポジトリ

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

AWS Athena を使用して SQL クエリを実行し、AWS Glue カタログから利用可能なデータにアクセスします。

  1. 使用法
    1. 使用例
      1. すべてのデータベースを表示
      2. データベース内のテーブルの一覧表示
      3. テーブルスキーマの取得
      4. 表の行のプレビュー
      5. フィルタリングと集計機能を備えた高度なクエリ
      6. クエリステータスの確認
      7. 完了したクエリの結果を取得する
      8. 保存したクエリの一覧表示
      9. 保存したクエリを実行する
    2. 要件
      1. ライセンス
        1. リポジトリ

          Related MCP Servers

          • A
            security
            A
            license
            A
            quality
            ClickHouse database integration with schema inspection and query capabilities
            Last updated -
            3
            227
            Python
            Apache 2.0
            • Apple
          • A
            security
            A
            license
            A
            quality
            Provides an MCP protocol interface for interacting with Elasticsearch 7.x databases, supporting comprehensive search functionality including aggregations, highlighting, and sorting.
            Last updated -
            3
            1
            Python
            Apache 2.0
          • -
            security
            -
            license
            -
            quality
            An MCP server that enables users to retrieve information from AWS Knowledge Bases using RAG (Retrieval-Augmented Generation) via Bedrock Agent Runtime.
            Last updated -
            257
            JavaScript
          • A
            security
            A
            license
            A
            quality
            A server that enables LLMs like Claude to query AWS DynamoDB databases through natural language requests, supporting table management, data querying, and schema analysis.
            Last updated -
            7
            49
            JavaScript
            MIT License
            • Apple

          View all related MCP servers

          ID: 0i7dhkex6t