aws-athena-mcp

by lishenxydlgzs
Verified

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.

Integrations

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

@lishenxydlgzs/aws-athena-mcp

AWS Athena 쿼리를 실행하기 위한 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 서버를 통해 AI 어시스턴트는 AWS Athena 데이터베이스에 SQL 쿼리를 실행하고 결과를 검색할 수 있습니다.

용법

  1. 다음 방법 중 하나를 사용하여 AWS 자격 증명을 구성합니다.
    • AWS CLI 구성
    • 환경 변수( AWS_ACCESS_KEY_ID , AWS_SECRET_ACCESS_KEY )
    • IAM 역할(AWS에서 실행하는 경우)
  2. MCP 구성에 서버를 추가합니다.

지엑스피1

  1. 서버는 다음과 같은 도구를 제공합니다.
  • run_query : AWS Athena를 사용하여 SQL 쿼리를 실행합니다.
    • 매개변수:
      • 데이터베이스: 쿼리할 Athena 데이터베이스
      • 쿼리: 실행할 SQL 쿼리
      • maxRows: 반환할 최대 행 수(기본값: 1000, 최대값: 10000)
    • 보고:
      • 쿼리가 시간 초과 내에 완료되면: 전체 쿼리 결과
      • 시간 초과에 도달한 경우: 나중에 검색할 수 있는 queryExecutionId만
  • get_status : 쿼리 실행 상태 확인
    • 매개변수:
      • queryExecutionId: run_query에서 반환된 ID
    • 보고:
      • 상태: 쿼리 상태(대기 중, 실행 중, 성공, 실패 또는 취소됨)
      • stateChangeReason: 상태 변경 이유(있는 경우)
      • submissionDateTime: 쿼리가 제출된 시간
      • completionDateTime: 쿼리가 완료된 시간(완료된 경우)
      • 통계: 쿼리 실행 통계(사용 가능한 경우)
  • get_result : 완료된 쿼리에 대한 결과를 검색합니다.
    • 매개변수:
      • queryExecutionId: run_query에서 반환된 ID
      • maxRows: 반환할 최대 행 수(기본값: 1000, 최대값: 10000)
    • 보고:
      • 쿼리가 성공적으로 완료된 경우 전체 쿼리 결과
      • 쿼리가 실패하거나 계속 실행 중인 경우 오류 발생
  • list_saved_queries : Athena에 저장된(명명된) 모든 쿼리를 나열합니다.
  • 보고:
    • id , name 및 선택적 description 포함된 저장된 쿼리 배열
    • 구성된 ATHENA_WORKGROUPAWS_REGION 에서 쿼리가 반환됩니다.
  • run_saved_query: 이전에 저장된 쿼리를 ID로 실행합니다.
  • 매개변수:
    • namedQueryId : 저장된 쿼리의 ID
    • databaseOverride : 저장된 쿼리의 기본 데이터베이스를 선택적으로 재정의합니다.
    • maxRows : 반환할 최대 행 수(기본값: 1000)
    • timeoutMs : 밀리초 단위의 시간 초과(기본값: 60000)
  • 보고:
    • run_query 와 동일한 동작: 전체 결과 또는 실행 ID

사용 예

모든 데이터베이스 표시

AI Assistant에게 보내는 메시지: List all databases in Athena

MCP 매개변수:

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

데이터베이스의 테이블 나열

AI Assistant에게 보내는 메시지: Show me all tables in the default database

MCP 매개변수:

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

테이블 스키마 가져오기

AI Assistant에게 보내는 메시지: What's the schema of the asin_sitebestimg table?

MCP 매개변수:

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

테이블 행 미리보기

AI Assistant에 대한 메시지: 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 } }

요구 사항

  • 노드.js >= 16
  • 적절한 Athena 및 S3 권한이 있는 AWS 자격 증명
  • 쿼리 결과를 위한 S3 버킷
  • 명명된 쿼리(선택 사항)는 지정된 ATHENA_WORKGROUPAWS_REGION 에 있어야 합니다.

특허

MIT

저장소

GitHub 저장소

You must be authenticated.

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

AWS Athena로 SQL 쿼리를 실행하여 AWS Glue 카탈로그에서 사용 가능한 데이터에 액세스합니다.

  1. Usage
    1. Usage Examples
      1. Show All Databases
      2. List Tables in a Database
      3. Get Table Schema
      4. Table Rows Preview
      5. Advanced Query with Filtering and Aggregation
      6. Checking Query Status
      7. Getting Results for a Completed Query
      8. Listing Saved Queries
      9. Running a Saved Query
    2. Requirements
      1. License
        1. Repository
          ID: 0i7dhkex6t