Runs SQL queries with AWS Athena against tables in the AWS Glue Data Catalog.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add aws-athena --env OUTPUT_S3_PATH='<OUTPUT_S3_PATH>' --env AWS_REGION='<AWS_REGION>' --env AWS_PROFILE='<AWS_PROFILE>' --env AWS_ACCESS_KEY_ID='<AWS_ACCESS_KEY_ID>' --env AWS_SECRET_ACCESS_KEY='<AWS_SECRET_ACCESS_KEY>' --env AWS_SESSION_TOKEN='<AWS_SESSION_TOKEN>' --env ATHENA_WORKGROUP='<ATHENA_WORKGROUP>' --env QUERY_TIMEOUT_MS='<QUERY_TIMEOUT_MS>' --env MAX_RETRIES='<MAX_RETRIES>' --env RETRY_DELAY_MS='<RETRY_DELAY_MS>' -- npx -y @lishenxydlgzs/aws-athena-mcp~/.codex/config.toml
[mcp_servers.aws-athena]
command = "npx"
args = ["-y", "@lishenxydlgzs/aws-athena-mcp"]
env = { OUTPUT_S3_PATH = "<OUTPUT_S3_PATH>", AWS_REGION = "<AWS_REGION>", AWS_PROFILE = "<AWS_PROFILE>", AWS_ACCESS_KEY_ID = "<AWS_ACCESS_KEY_ID>", AWS_SECRET_ACCESS_KEY = "<AWS_SECRET_ACCESS_KEY>", AWS_SESSION_TOKEN = "<AWS_SESSION_TOKEN>", ATHENA_WORKGROUP = "<ATHENA_WORKGROUP>", QUERY_TIMEOUT_MS = "<QUERY_TIMEOUT_MS>", MAX_RETRIES = "<MAX_RETRIES>", RETRY_DELAY_MS = "<RETRY_DELAY_MS>" }
# codex mcp add aws-athena --env OUTPUT_S3_PATH='<OUTPUT_S3_PATH>' --env AWS_REGION='<AWS_REGION>' --env AWS_PROFILE='<AWS_PROFILE>' --env AWS_ACCESS_KEY_ID='<AWS_ACCESS_KEY_ID>' --env AWS_SECRET_ACCESS_KEY='<AWS_SECRET_ACCESS_KEY>' --env AWS_SESSION_TOKEN='<AWS_SESSION_TOKEN>' --env ATHENA_WORKGROUP='<ATHENA_WORKGROUP>' --env QUERY_TIMEOUT_MS='<QUERY_TIMEOUT_MS>' --env MAX_RETRIES='<MAX_RETRIES>' --env RETRY_DELAY_MS='<RETRY_DELAY_MS>' -- npx -y @lishenxydlgzs/aws-athena-mcp~/.cursor/mcp.json
{
"mcpServers": {
"aws-athena": {
"command": "npx",
"args": [
"-y",
"@lishenxydlgzs/aws-athena-mcp"
],
"env": {
"OUTPUT_S3_PATH": "<OUTPUT_S3_PATH>",
"AWS_REGION": "<AWS_REGION>",
"AWS_PROFILE": "<AWS_PROFILE>",
"AWS_ACCESS_KEY_ID": "<AWS_ACCESS_KEY_ID>",
"AWS_SECRET_ACCESS_KEY": "<AWS_SECRET_ACCESS_KEY>",
"AWS_SESSION_TOKEN": "<AWS_SESSION_TOKEN>",
"ATHENA_WORKGROUP": "<ATHENA_WORKGROUP>",
"QUERY_TIMEOUT_MS": "<QUERY_TIMEOUT_MS>",
"MAX_RETRIES": "<MAX_RETRIES>",
"RETRY_DELAY_MS": "<RETRY_DELAY_MS>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"aws-athena": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@lishenxydlgzs/aws-athena-mcp"
],
"env": {
"OUTPUT_S3_PATH": "<OUTPUT_S3_PATH>",
"AWS_REGION": "<AWS_REGION>",
"AWS_PROFILE": "<AWS_PROFILE>",
"AWS_ACCESS_KEY_ID": "<AWS_ACCESS_KEY_ID>",
"AWS_SECRET_ACCESS_KEY": "<AWS_SECRET_ACCESS_KEY>",
"AWS_SESSION_TOKEN": "<AWS_SESSION_TOKEN>",
"ATHENA_WORKGROUP": "<ATHENA_WORKGROUP>",
"QUERY_TIMEOUT_MS": "<QUERY_TIMEOUT_MS>",
"MAX_RETRIES": "<MAX_RETRIES>",
"RETRY_DELAY_MS": "<RETRY_DELAY_MS>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"aws-athena": {
"command": "npx",
"args": [
"-y",
"@lishenxydlgzs/aws-athena-mcp"
],
"env": {
"OUTPUT_S3_PATH": "<OUTPUT_S3_PATH>",
"AWS_REGION": "<AWS_REGION>",
"AWS_PROFILE": "<AWS_PROFILE>",
"AWS_ACCESS_KEY_ID": "<AWS_ACCESS_KEY_ID>",
"AWS_SECRET_ACCESS_KEY": "<AWS_SECRET_ACCESS_KEY>",
"AWS_SESSION_TOKEN": "<AWS_SESSION_TOKEN>",
"ATHENA_WORKGROUP": "<ATHENA_WORKGROUP>",
"QUERY_TIMEOUT_MS": "<QUERY_TIMEOUT_MS>",
"MAX_RETRIES": "<MAX_RETRIES>",
"RETRY_DELAY_MS": "<RETRY_DELAY_MS>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"aws-athena": {
"command": "npx",
"args": [
"-y",
"@lishenxydlgzs/aws-athena-mcp"
],
"env": {
"OUTPUT_S3_PATH": "<OUTPUT_S3_PATH>",
"AWS_REGION": "<AWS_REGION>",
"AWS_PROFILE": "<AWS_PROFILE>",
"AWS_ACCESS_KEY_ID": "<AWS_ACCESS_KEY_ID>",
"AWS_SECRET_ACCESS_KEY": "<AWS_SECRET_ACCESS_KEY>",
"AWS_SESSION_TOKEN": "<AWS_SESSION_TOKEN>",
"ATHENA_WORKGROUP": "<ATHENA_WORKGROUP>",
"QUERY_TIMEOUT_MS": "<QUERY_TIMEOUT_MS>",
"MAX_RETRIES": "<MAX_RETRIES>",
"RETRY_DELAY_MS": "<RETRY_DELAY_MS>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"aws-athena": {
"command": "npx",
"args": [
"-y",
"@lishenxydlgzs/aws-athena-mcp"
],
"env": {
"OUTPUT_S3_PATH": "<OUTPUT_S3_PATH>",
"AWS_REGION": "<AWS_REGION>",
"AWS_PROFILE": "<AWS_PROFILE>",
"AWS_ACCESS_KEY_ID": "<AWS_ACCESS_KEY_ID>",
"AWS_SECRET_ACCESS_KEY": "<AWS_SECRET_ACCESS_KEY>",
"AWS_SESSION_TOKEN": "<AWS_SESSION_TOKEN>",
"ATHENA_WORKGROUP": "<ATHENA_WORKGROUP>",
"QUERY_TIMEOUT_MS": "<QUERY_TIMEOUT_MS>",
"MAX_RETRIES": "<MAX_RETRIES>",
"RETRY_DELAY_MS": "<RETRY_DELAY_MS>"
}
}
}
}Environment variables
OUTPUT_S3_PATHAWS_REGIONAWS_PROFILEAWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAWS_SESSION_TOKENATHENA_WORKGROUPQUERY_TIMEOUT_MSMAX_RETRIESRETRY_DELAY_MS
Replace the placeholders with your own credentials and keep them out of version control.