logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

aws-athena-mcp

Execute SQL queries against AWS Athena databases and retrieve the results for analysis and reporting.

Author

aws-athena-mcp logo

lishenxydlgzs

MIT License

Quick Info

GitHub GitHub Stars 36
NPM Weekly Downloads 0
Tools 1
Last Updated 2026-02-19

Tags

databasesdatabaseathenaathena databasesaws athenadatabases secure

@lishenxydlgzs/aws-athena-mcp

smithery badge

A Model Context Protocol (MCP) server for running AWS Athena queries. This server enables AI assistants to execute SQL queries against your AWS Athena databases and retrieve results.

aws-athena-mcp MCP server

Usage

  1. Configure AWS credentials using one of the following methods:
  2. AWS CLI configuration
  3. Environment variables (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
  4. IAM role (if running on AWS)

  5. Add the server to your MCP configuration:

{
  "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. The server provides the following tools:

  2. run_query: Execute a SQL query using AWS Athena

  3. Parameters:
    • database: The Athena database to query
    • query: SQL query to execute
    • maxRows: Maximum number of rows to return (default: 1000, max: 10000)
  4. Returns:

    • If query completes within timeout: Full query results
    • If timeout reached: Only the queryExecutionId for later retrieval
  5. get_status: Check the status of a query execution

  6. Parameters:
    • queryExecutionId: The ID returned from run_query
  7. Returns:

    • state: Query state (QUEUED, RUNNING, SUCCEEDED, FAILED, or CANCELLED)
    • stateChangeReason: Reason for state change (if any)
    • submissionDateTime: When the query was submitted
    • completionDateTime: When the query completed (if finished)
    • statistics: Query execution statistics (if available)
  8. get_result: Retrieve results for a completed query

  9. Parameters:
    • queryExecutionId: The ID returned from run_query
    • maxRows: Maximum number of rows to return (default: 1000, max: 10000)
  10. Returns:

    • Full query results if the query has completed successfully
    • Error if query failed or is still running
  11. list_saved_queries: List all saved (named) queries in Athena.

  12. Returns:

  13. An array of saved queries with id, name, and optional description
  14. Queries are returned from the configured ATHENA_WORKGROUP and AWS_REGION

  15. run_saved_query: Run a previously saved query by its ID.

  16. Parameters:
  17. namedQueryId: ID of the saved query
  18. databaseOverride: Optional override of the saved query's default database
  19. maxRows: Maximum number of rows to return (default: 1000)
  20. timeoutMs: Timeout in milliseconds (default: 60000)
  21. Returns:
  22. Same behavior as run_query: full results or execution ID

Usage Examples

Show All Databases

Message to AI Assistant: List all databases in Athena

MCP parameter:

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

List Tables in a Database

Message to AI Assistant: Show me all tables in the default database

MCP parameter:

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

Get Table Schema

Message to AI Assistant: What's the schema of the asin_sitebestimg table?

MCP parameter:

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

Table Rows Preview

Message to AI Assistant: Show some rows from my_database.mytable

MCP parameter:

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

Advanced Query with Filtering and Aggregation

Message to AI Assistant: Find the average price by category for in-stock products

MCP parameter:

{
  "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
}

Checking Query Status

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

Getting Results for a Completed Query

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

Listing Saved Queries

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

Running a Saved Query

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

Requirements

  • Node.js >= 16
  • AWS credentials with appropriate Athena and S3 permissions
  • S3 bucket for query results
  • Named queries (optional) must exist in the specified ATHENA_WORKGROUP and AWS_REGION

License

MIT

Repository

GitHub Repository

See Also

`