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(필수)
-
사전 조건
-
Aurora DSQL 클러스터를 사용하는 AWS 계정
-
이 MCP 서버는 LLM 클라이언트와 동일한 호스트에서만 로컬로 실행할 수 있습니다.
-
AWS 서비스에 액세스할 수 있는 AWS 자격 증명 설정
-
다음 권한이 포함된 역할이 있는 AWS 계정이 필요합니다.
-
dsql:DbConnectAdmin- 관리자 사용자로 DSQL 클러스터에 연결 -
dsql:DbConnect- 사용자 지정 데이터베이스 역할을 사용하여 DSQL 클러스터에 연결(관리자가 아닌 사용자를 사용하는 경우에만 필요)
-
-
aws configure또는 환경 변수를 사용하여 AWS 자격 증명 구성
-
설치
uv 사용하기
-
Astral
또는 GitHub README 에서 uv설치 -
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
느린 네트워크의 설명서에 액세스할 때 제한 시간이 발생하면이 값을 늘립니다.