PostgreSQL MCP 서버(향상됨)
PostgreSQL 데이터베이스에 대한 읽기 및 쓰기 권한을 모두 제공하는 모델 컨텍스트 프로토콜 서버입니다. 이 서버를 통해 LLM은 데이터베이스 스키마를 검사하고, 쿼리를 실행하고, 데이터를 수정하고, 데이터베이스 스키마 객체를 생성/수정할 수 있습니다.
참고: 이 버전은 Anthropic에서 개발한 기존 PostgreSQL MCP 서버 의 향상된 버전입니다. 기존 서버는 읽기 전용 액세스를 제공했지만, 이 향상된 버전은 쓰기 기능과 스키마 관리 기능을 추가합니다.
구성 요소
도구
데이터 쿼리
질문
연결된 데이터베이스에 대해 읽기 전용 SQL 쿼리를 실행합니다.
입력:
sql(문자열): 실행할 SQL 쿼리모든 쿼리는 READ ONLY 트랜잭션 내에서 실행됩니다.
데이터 수정
실행하다
데이터를 수정하는 SQL 문(INSERT, UPDATE, DELETE)을 실행합니다.
입력:
sql(문자열): 실행할 SQL 문적절한 COMMIT/ROLLBACK 처리를 통해 트랜잭션 내에서 실행됨
끼워 넣다
테이블에 새 레코드 삽입
입력:
table(문자열): 테이블 이름data(객체): 키가 열 이름이고 값이 삽입할 데이터인 키-값 쌍
업데이트
테이블의 레코드 업데이트
입력:
table(문자열): 테이블 이름data(객체): 업데이트할 필드에 대한 키-값 쌍where(문자열): 업데이트할 레코드를 식별하기 위한 WHERE 조건
삭제
테이블에서 레코드 삭제
입력:
table(문자열): 테이블 이름where(문자열): 삭제할 레코드를 식별하는 WHERE 조건
스키마 관리
createTable
지정된 열과 제약 조건을 사용하여 새 테이블을 만듭니다.
입력:
tableName(문자열): 테이블 이름columns(배열): 이름, 유형 및 선택적 제약 조건이 포함된 열 정의 배열constraints(배열): 테이블 수준 제약 조건의 선택적 배열
createFunction
PostgreSQL 함수/프로시저 생성
입력:
name(문자열): 함수 이름parameters(문자열): 함수 매개변수returnType(문자열): 반환 유형language(문자열): 언어(plpgsql, sql 등)body(문자열): 함수 본문options(문자열): 선택적 추가 기능 옵션
트리거 생성
테이블에 트리거 만들기
입력:
name(문자열): 트리거 이름tableName(문자열): 트리거를 적용할 테이블functionName(문자열): 호출할 함수when(문자열): BEFORE, AFTER 또는 INSTEAD OFevents(배열): 이벤트 배열(INSERT, UPDATE, DELETE)forEach(문자열): ROW 또는 STATEMENTcondition(문자열): 선택 사항 WHEN 조건
인덱스 생성
테이블에 인덱스 생성
입력:
tableName(문자열): 테이블 이름indexName(string): 인덱스 이름columns(배열): 인덱싱할 열unique(부울): 인덱스가 고유한지 여부type(문자열): 선택적 인덱스 유형(BTREE, HASH, GIN, GIST 등)where(문자열): 선택 조건
변경 테이블
테이블 구조 변경
입력:
tableName(문자열): 테이블 이름operation(문자열): 작업(열 추가, 열 삭제 등)details(문자열): 작업 세부 정보
자원
서버는 데이터베이스의 각 테이블에 대한 스키마 정보를 제공합니다.
테이블 스키마 (
postgres://<host>/<table>/schema)각 테이블에 대한 JSON 스키마 정보
열 이름과 데이터 유형이 포함됩니다.
데이터베이스 메타데이터에서 자동으로 검색됨
Related MCP server: PostgreSQL MCP Server
Claude Desktop과 함께 사용
Claude Desktop 앱과 함께 이 서버를 사용하려면 claude_desktop_config.json 의 "mcpServers" 섹션에 다음 구성을 추가하세요.
도커
macOS에서 Docker를 실행할 때 서버가 호스트 네트워크(예: localhost)에서 실행 중이면 host.docker.internal을 사용하세요.
사용자 이름/암호는
postgresql://user:password@host:port/db-name으로 postgresql url에 추가할 수 있습니다.SSL 인증서 검증을 우회해야 하는 경우
?sslmode=no-verify추가하세요.
지엑스피1
엔피엑스
/mydb 데이터베이스 이름으로 바꾸세요.
사용 예
쿼리 데이터
데이터 삽입
데이터 업데이트
테이블 만들기
함수와 트리거 만들기
건물
도커:
보안 고려 사항
모든 데이터 수정 작업은 적절한 COMMIT/ROLLBACK 처리가 포함된 트랜잭션을 사용합니다.
각 작업은 투명성을 위해 실행된 SQL을 반환합니다.
서버는 SQL 주입을 방지하기 위해 삽입/업데이트 작업에 매개변수화된 쿼리를 사용합니다.
특허
이 MCP 서버는 MIT 라이선스에 따라 라이선스가 부여됩니다. 즉, MIT 라이선스의 조건에 따라 소프트웨어를 자유롭게 사용, 수정 및 배포할 수 있습니다. 자세한 내용은 프로젝트 저장소의 LICENSE 파일을 참조하세요.