AWS Labs Aurora DSQL MCP 서버 - Amazon Aurora DSQL

AWS Labs Aurora DSQL MCP 서버

Aurora DSQL용 AWS Labs Model Context Protocol(MCP) 서버

기능

  • 사람이 읽을 수 있는 질문과 명령을 구조화된 Postgres 호환 SQL 쿼리로 변환하고 구성된 Aurora DSQL 데이터베이스에 대해 실행합니다.

  • 기본적으로 읽기 전용, --allow-writes에서 활성화된 트랜잭션

  • 성능 향상을 위한 요청 간 연결 재사용

  • Aurora DSQL 설명서, 검색 및 모범 사례 권장 사항에 대한 기본 제공 액세스

사용 가능한 도구

데이터베이스 작업

  • readonly_query - DSQL 클러스터에 대해 읽기 전용 SQL 쿼리 실행

  • 트랜잭션 - 트랜잭션에서 쓰기 작업 실행(필수 --allow-writes)

  • get_schema - 테이블 스키마 정보 검색

설명서 및 권장 사항

  • dsql_search_documentation - Aurora DSQL 설명서 검색

    • 파라미터: search_phrase(필수), limit(선택 사항)

  • dsql_read_documentation - 특정 DSQL 설명서 페이지 읽기

    • 파라미터: url(필수), start_index(선택 사항), max_length(선택 사항)

  • dsql_recommend - DSQL 모범 사례에 대한 권장 사항 가져오기

    • 파라미터: url(필수)

사전 조건

  1. Aurora DSQL 클러스터를 사용하는 AWS 계정

  2. 이 MCP 서버는 LLM 클라이언트와 동일한 호스트에서만 로컬로 실행할 수 있습니다.

  3. AWS 서비스에 액세스할 수 있는 AWS 자격 증명 설정

    • 다음 권한이 포함된 역할이 있는 AWS 계정이 필요합니다.

      • dsql:DbConnectAdmin - 관리자 사용자로 DSQL 클러스터에 연결

      • dsql:DbConnect - 사용자 지정 데이터베이스 역할을 사용하여 DSQL 클러스터에 연결(관리자가 아닌 사용자를 사용하는 경우에만 필요)

    • aws configure 또는 환경 변수를 사용하여 AWS 자격 증명 구성

설치

uv 사용하기

  1. Astral 또는 GitHub README에서 uv 설치

  2. uv python install 3.10을 사용하여 Python 설치

MCP 클라이언트 구성에서 MCP 서버 구성(예: Amazon Q Developer CLI의 경우 ~/.aws/amazonq/mcp.json 편집)

{ "mcpServers": { "awslabs.aurora-dsql-mcp-server": { "command": "uvx", "args": [ "awslabs.aurora-dsql-mcp-server@latest", "--cluster_endpoint", "[your dsql cluster endpoint, e.g. abcdefghijklmnopqrst234567.dsql.us-east-1.on.aws]", "--region", "[your dsql cluster region, e.g. us-east-1]", "--database_user", "[your dsql username, e.g. admin]", "--profile", "default" ], "env": { "FASTMCP_LOG_LEVEL": "ERROR" }, "disabled": false, "autoApprove": [] } } }

Windows 설치

Windows 사용자의 경우 MCP 서버 구성 형식이 약간 다릅니다.

{ "mcpServers": { "awslabs.aurora-dsql-mcp-server": { "disabled": false, "timeout": 60, "type": "stdio", "command": "uv", "args": [ "tool", "run", "--from", "awslabs.aurora-dsql-mcp-server@latest", "awslabs.aurora-dsql-mcp-server.exe" ], "env": { "FASTMCP_LOG_LEVEL": "ERROR", "AWS_PROFILE": "your-aws-profile", "AWS_REGION": "us-east-1" } } } }

설치 확인

Amazon Q Developer CLI의 경우 /mcp를 실행하여 MCP 서버의 상태를 확인합니다.

서버 구성 옵션

--allow-writes

기본적으로 dsql mcp 서버는 쓰기 작업('읽기 전용 모드')을 허용하지 않습니다. 이 모드에서는 트랜잭션 도구 호출이 실패합니다. 트랜잭션 도구를 사용하려면 --allow-writes 파라미터를 전달하여 쓰기를 허용합니다.

DSQL에 연결할 때 최소 권한 액세스를 사용하는 것이 좋습니다. 예를 들어 사용자는 가능하면 읽기 전용 역할을 사용해야 합니다. 읽기 전용 모드에는 변형을 거부하기 위한 최선의 클라이언트 측 적용이 있습니다.

--cluster_endpoint

연결할 클러스터를 지정하기 위한 필수 파라미터입니다. 이는 클러스터의 전체 엔드포인트여야 합니다. 예: 01abc2ldefg3hijklmnopqurstu.dsql.us-east-1.on.aws

--database_user

이는 연결할 사용자를 지정하는 필수 파라미터입니다. 예제: admin 또는 my_user. 사용 중인 AWS 자격 증명에는 해당 사용자로 로그인할 수 있는 권한이 있어야 합니다. DSQL에서 데이터베이스 역할을 설정하고 사용하는 방법에 대한 자세한 내용은 IAM 역할로 데이터베이스 역할 사용을 참조하세요.

--profile

자격 증명에 사용할 aws 프로파일을 지정할 수 있습니다. Docker 설치에는 지원되지 않습니다.

MCP 구성에서 AWS_PROFILE 환경 변수를 사용하는 것도 지원됩니다.

"env": { "AWS_PROFILE": "your-aws-profile" }

둘 다 제공되지 않으면 MCP 서버는 기본적으로 AWS 구성 파일에서 '기본' 프로파일을 사용합니다.

--region

이는 DSQL 데이터베이스의 리전을 지정하기 위한 필수 파라미터입니다.

--knowledge-server

DSQL 지식 도구(문서 검색, 읽기 및 권장 사항)에 대한 원격 MCP 서버 엔드포인트를 지정하는 선택적 파라미터입니다. 기본적으로 미리 구성되어 있습니다.

예제:

--knowledge-server https://custom-knowledge-server.example.com

참고: 보안을 위해 신뢰할 수 있는 지식 서버 엔드포인트만 사용합니다. 서버는 HTTPS 엔드포인트여야 합니다.

--knowledge-timeout

지식 서버에 대한 요청의 제한 시간을 초 단위로 지정하는 선택적 파라미터입니다.

기본값: 30.0

예제:

--knowledge-timeout 60.0

느린 네트워크의 설명서에 액세스할 때 제한 시간이 발생하면이 값을 늘립니다.