Amazon Q CLI와 MCP 서버로 데이터베이스 다루기

Amazon Q CLI 설치 및 세션 시작
Amazon Q CLI를 사용하려면 공식 문서에 따라 설치 후, Builder ID로 인증을 완료해야 합니다. 설치가 끝나면 q chat
명령어로 세션을 시작할 수 있습니다.
MCP 서버와 연동하기
Amazon Q CLI는 MCP 서버(예: Postgres)를 통해 외부 데이터베이스와 연결할 수 있습니다. 연결할 때는 다음 형식의 설정 파일이 필요합니다.
{
mcpServers: {
postgres: {
command: npx,
args: [
-y,
@modelcontextprotocol/server-postgres,
postgresql://USERNAME:PASSWORD@HOST:5432/DBNAME
]
}
}
}
특수문자가 포함된 비밀번호는 URL 인코딩이 반드시 필요합니다.
데이터베이스 및 테이블 생성
초기에는 데이터베이스에 테이블이 없으므로 pgAdmin 또는 psql을 사용해 여러 테이블과 예시 데이터를 생성할 수 있습니다. 아래는 테이블 생성 및 데이터 삽입을 위한 SQL 예시입니다.
-- 테이블 생성, 예시 데이터 삽입 스크립트
CREATE TABLE users (...);
CREATE TABLE products (...);
-- (중간 생략, 원문 참고)
INSERT INTO categories (name) SELECT Category || i FROM generate_series(1, 50) AS s(i);
-- 추가 데이터 삽입
Q CLI를 통한 데이터베이스 쿼리
테이블과 데이터가 준비되면 Q CLI에서 데이터베이스의 테이블 목록 확인, 복잡한 데이터 조회 같은 다양한 쿼리를 실행할 수 있습니다.
/editor 명령어로 복잡한 쿼리 요청
/editor
명령어와 프롬프트를 활용해 아래와 같은 상세 정보를 조회할 수 있습니다.
상위 10명의 사용자: 이름, 이메일, 주문 수, 총 주문 금액, 평균 리뷰 점수, 리뷰한 제품 수
Q CLI가 이를 기반으로 적절한 SQL 쿼리를 생성해 실행합니다.
결과 검증의 중요성
Q CLI 또는 챗봇 기반 AI가 자동 생성한 쿼리나 코드의 결과가 반드시 맞는 것은 아닙니다. 실제로 동일한 요청에도 예상과 다른 결과가 나올 수 있으니, 직접 검증 쿼리를 작성해 교차 확인이 필요합니다.
예를 들어:
SELECT SUM(quantity * price) AS total_order_value
FROM public.order_items
WHERE order_id IN (SELECT id FROM public.orders WHERE user_id=6)
을 통해 사용자의 실제 총 주문 금액을 확인할 수 있습니다.
문제 해결 과정
AI 챗봇(Q 등)과 대화하며 잘못된 결과를 정정하는 절차도 필요합니다. 실제로 반복적으로 챗봇에 피드백을 주고, 수정된 쿼리를 확인해 최종적으로 올바른 데이터에 도달할 수 있습니다.
실무 팁: AI 코드 결과 항상 확인하기
생성형 AI가 자동으로 쿼리나 코드를 작성해 주더라도, 직접 결과를 체크하는 과정은 필수입니다. AI의 답변을 바로 신뢰하기보다는 반드시 결과 값 또는 로직을 다시 검증하세요. 이는 효율적인 개발과 오류 예방에 도움이 됩니다.
활용 예시 및 확장 아이디어
이번 예시는 Postgres 기반이지만, Amazon Q CLI와 MCP 연동을 통해 다양한 데이터베이스, 실시간 서비스와 AI 기반 데이터 조회 자동화에서도 활용할 수 있습니다. 자신만의 설정 파일과 쿼리 템플릿을 만들어 업무 효율화를 꾀해보세요.
출처 : Using MCP Servers With Amazon Q CLI | by Vinayak Pandey | AWS in Plain English