Skip to main content
Glama

@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


Related MCP server: AWS Athena MCP Server

使用例

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

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リポジトリ

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lishenxydlgzs/aws-athena-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server