본문 바로가기
IT/AI

Claude Code CLI에서 MCP 연결하기(로컬 및 원격 Postgresql DB)

by twofootdog 2026. 1. 16.
반응형

안녕하세요

지난 시간에는 Claude Code Desktop에서 MCP를 통해서 로컬 및 원격 Postgresql DB에 연결하는 방법에 대해서 공유 드렸습니다.

 

<관련 글>

이번 시간에는 Claude Code CLI(Desktop 아닙니다)를 이용해서 MCP 서버를 통해 Postgresql DB에 연결해 보도록 하겠습니다.

[목차여기]

 


1. 사전 준비(Prerequisite)

이번 실습을 진행하기 위해서는 아래와 같은 사전 준비가 필요합니다

 

 


2. 실습1(Claude Code CLI에서 MCP 등록 후 로컬 Postgresql 연동)

지난번 Claude Code Desktop 에 MCP 설정을 완료했습니다.

하지만 Claude Code CLI에서 MCP를 사용하려면 사용할 수 없습니다(Deskop과 CLI는 MCP 설정을 별도로 해야 함)

 

2-1) Claude Code CLI 수행 후 mcp 목록 확인 -> mcp 목록 미노출

claude mcp list

 

 

2-2) Claude Code CLI에 Postgresql MCP 설치

claude mcp add 명령어를 통해서 MCP 로컬 서버를 설치합니다. 

claude mcp add --transport stdio local-db -- npx -y @modelcontextprotocol/server-postgres "postgresql://postgres:1234@localhost:5432/postgres"

 

설명 : 

  • claude mcp add : Claude Code에 MCP 서버 추가
  • --transport stdio : 로컬에서 dbhub(DB 연결용 MCP 서버) 실행
    stdio는 로컬 MCP란 뜻이며, 원격MCP 연결 시에는 sse입니다(json일 경우 http)
  • local-db : MCP 등록 시 설정하는 MCP 서버 별칭. 다른 이름으로도 설정 가능합니다
  • npx -y @modelcontextprotocol/server-postgres : MCP 서버 연결 명령어(MCP 서버는 노드를 통해 실행합니다)
    postgresql 접근 시 사용하는 MCP 서버는 @modelcontextprotocol/server-postgres와 @bytebase/dbhub가 있음.  @bytebase/dbhub가 기능이 많고, 여러 타입의 DB(MySQL, SQL Server 등)에 접근 가능하다고는 하나, 실습 시 Connection fail이 나서 @modelcontextprotocol/server-postgres로 테스트 진행
  • "postgresql://postgres:1234@localhost:5432/postgres" :  postgresql://[계정명]:[비밀번호]@[호스트주소]:[포트번호]/[데이터베이스명] 입니다

 

2-3) MCP 서버 설치 확인

설치가 완료되었으면 MCP 목록을 확인합니다. "Connected"라고 표시되면 정상 설치 후 연동까지 완료된 상태입니다.

claude mcp list

 

 

2-4) MCP를 통해서 DB ERD 조회

Claude Code CLI 실행 후 다음과 같이 질의해 보겠습니다(질의는 임의로 진행하시면 됩니다).

이 글에서는 Local에 설치된 Postgresql DB 와 연결된 MCP 서버인 "local-db" 를 통해 테이블 전체 ERD를 조회해 보겠습니다.

ERD 및 설명이 잘 나오는 걸 확인할 수 있습니다.

show all table erd using local-db mcp

 

 

 

2-5) MCP를 통해 데이터 조회

다음에는 쿼리를 통해서 데이터를 조회해 보겠습니다. 잘 나오네요

> SELECT * FROM MEMBER;

 

 

 


3. 실습2(Claude Code CLI에서 MCP 등록 후 원격 Postgresql 연동)

3-1) 원격 Postgresql DB 연동

다음으로는 MCP 서버를 활용하여 원격 Postgresql DB와 연동해 보겠습니다.

이름은 remote-db로 해서 MCP 서버를 한개 더 등록해 보겠습니다.

claude mcp add --transport stdio remote-db -- npx -y @modelcontextprotocol/server-postgres "postgresql://postgres:12345678@postgres.cklyw6tgbrhb.ap-northeast-2.rds.amazonaws.com:5432/postgres"

 

3-2) 연동 확인

원격 Postgresql 과 연동이 잘 되었는지 확인해보겠습니다. "Connected"로 잘 나오는 걸 확인할 수 있습니다.

claude mcp list

 

3-3) MCP를 통해 원격 DB 접근

이제 MCP를 활용하여 원격 DB ERD를 확인해 보겠습니다.

우선 Claude Code CLI 치신 후 Local DB의 ERD를 조회한 것처럼 질의를 해보겠습니다.

show all table erd using remote-db mcp

 

질의해보면 SSL 문제 때문에 또 안되는 걸 확인할 수 있습니다. 

오류 문구 : "The issue: The PostgreSQL server's pg_hba.conf doesn't allow connections from your current IP without SSL encryption"

 

 

3-4) 원격 DB 접속용 MCP 서버 삭제

재 등록을 해야 하니 원격 DB 접속용으로 등록한 remote-db를 삭제해줍니다.

claude mcp remove remote-db

 

 

3-5) SSL 설정까지 추가해서 재 등록

원격 접근용 MCP 등록 시 SSL 설정까지 추가해서 재 등록해줍니다.

이번에도 "sslmode=require"를 추가해주고, JSON 에 환경정보도 추가해줘야 하기 때문에 명령어를 json 형식으로 변경해줍니다(JSON은 이전 글에서 원격 Postgresql DB를 접근을 위한 MCP 등록 JSON과 동일합니다 :

2026.01.09 - [IT/AI] - Claude Desktop에서 Local MCP 서버 연동하기(feat. 로컬 및 원격 DB 접근) )

참고로 env "NODE_TLS_REJECT_UNAUTHIRIZED" 옵션을 주지 않으면 "Error: MCP error -32603: self-signed certificate in certificate chain" 에러가 발생하니 추가해 줍니다(단 보안상 이슈가 있을 수 있으니, 개발기 환경에서만 수행하시기 바랍니다)

claude mcp add-json remote-db '{"type":"stdio","command":"npx","args":["-y", "@modelcontextprotocol/server-postgres", "postgresql://postgres:12345678@postgres.cklyw6tgbrhb.ap-northeast-2.rds.amazonaws.com:5432/postgres?sslmode=require"],"env":{"NODE_TLS_REJECT_UNAUTHORIZED": "0"}}'

 

 

3-6) MCP를 통해서 원격 DB ERD 조회

원격 DB ERD를 다시 조회해 보겠습니다.

show all table erd using remote-db mcp

 

질의 결과 정상적으로 원격 DB의 ERD가 조회되는 걸 확인할 수 있습니다. 성공!

 

 


4. 마치며

이것으로 Claude Code CLI에서 MCP 서버를 활용하여 로컬 및 원격 Postgresql DB에 접근하는 방법에 대해 알아보았습니다.

Postgresql MCP 서버를 활용하면 이 외에도 다양한 DB 작업(테이블 등록 및 변경, 쿼리 생성, 튜닝 등)을 Claude를 활용하여 수행할 수 있으니 많이 활용해 보시길 추천 드립니다.

 

 

 

5. 참고자료

 

 

반응형

댓글