Skip to main content
Glama

Enhanced PostgreSQL MCP Server

by GarethCott

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 OF
      • events (배열): 이벤트 배열(INSERT, UPDATE, DELETE)
      • forEach (문자열): ROW 또는 STATEMENT
      • condition (문자열): 선택 사항 WHEN 조건
  • 인덱스 생성
    • 테이블에 인덱스 생성
    • 입력:
      • tableName (문자열): 테이블 이름
      • indexName (string): 인덱스 이름
      • columns (배열): 인덱싱할 열
      • unique (부울): 인덱스가 고유한지 여부
      • type (문자열): 선택적 인덱스 유형(BTREE, HASH, GIN, GIST 등)
      • where (문자열): 선택 조건
  • 변경 테이블
    • 테이블 구조 변경
    • 입력:
      • tableName (문자열): 테이블 이름
      • operation (문자열): 작업(열 추가, 열 삭제 등)
      • details (문자열): 작업 세부 정보

자원

서버는 데이터베이스의 각 테이블에 대한 스키마 정보를 제공합니다.

  • 테이블 스키마 ( postgres://<host>/<table>/schema )
    • 각 테이블에 대한 JSON 스키마 정보
    • 열 이름과 데이터 유형이 포함됩니다.
    • 데이터베이스 메타데이터에서 자동으로 검색됨

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

엔피엑스

{ "mcpServers": { "postgres": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-postgres", "postgresql://localhost/mydb" ] } } }

/mydb 데이터베이스 이름으로 바꾸세요.

사용 예

쿼리 데이터

/query SELECT * FROM users LIMIT 5

데이터 삽입

/insert table="users", data={"name": "John Doe", "email": "john@example.com"}

데이터 업데이트

/update table="users", data={"status": "inactive"}, where="id='123'"

테이블 만들기

/createTable tableName="tasks", columns=[ {"name": "id", "type": "SERIAL", "constraints": "PRIMARY KEY"}, {"name": "title", "type": "VARCHAR(100)", "constraints": "NOT NULL"}, {"name": "created_at", "type": "TIMESTAMP", "constraints": "DEFAULT CURRENT_TIMESTAMP"} ]

함수와 트리거 만들기

/createFunction name="update_timestamp", parameters="", returnType="TRIGGER", language="plpgsql", body="BEGIN NEW.updated_at = NOW(); RETURN NEW; END;" /createTrigger name="set_timestamp", tableName="tasks", functionName="update_timestamp", when="BEFORE", events=["UPDATE"], forEach="ROW"

건물

도커:

docker build -t mcp/postgres -f Dockerfile .

보안 고려 사항

  1. 모든 데이터 수정 작업은 적절한 COMMIT/ROLLBACK 처리가 포함된 트랜잭션을 사용합니다.
  2. 각 작업은 투명성을 위해 실행된 SQL을 반환합니다.
  3. 서버는 SQL 주입을 방지하기 위해 삽입/업데이트 작업에 매개변수화된 쿼리를 사용합니다.

특허

이 MCP 서버는 MIT 라이선스에 따라 라이선스가 부여됩니다. 즉, MIT 라이선스의 조건에 따라 소프트웨어를 자유롭게 사용, 수정 및 배포할 수 있습니다. 자세한 내용은 프로젝트 저장소의 LICENSE 파일을 참조하세요.

-
security - not tested
F
license - not found
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

PostgreSQL 데이터베이스에 대한 읽기 및 쓰기 액세스를 모두 제공하는 모델 컨텍스트 프로토콜 서버로, 이를 통해 LLM이 데이터를 쿼리하고, 레코드를 수정하고, 데이터베이스 스키마를 관리할 수 있습니다.

  1. 구성 요소
    1. 도구
    2. 자원
  2. Claude Desktop과 함께 사용
    1. 도커
    2. 엔피엑스
  3. 사용 예
    1. 쿼리 데이터
    2. 데이터 삽입
    3. 데이터 업데이트
    4. 테이블 만들기
    5. 함수와 트리거 만들기
  4. 건물
    1. 보안 고려 사항
      1. 특허

        Related MCP Servers

        • -
          security
          A
          license
          -
          quality
          A Model Context Protocol server providing LLMs read-only access to PostgreSQL databases for inspecting schemas and executing queries.
          Last updated -
          16,948
          17
          JavaScript
          MIT License
          • Apple
        • -
          security
          A
          license
          -
          quality
          A Model Context Protocol server that provides read-only access to PostgreSQL databases with enhanced multi-schema support, allowing LLMs to inspect database schemas across multiple namespaces and execute read-only queries while maintaining schema isolation.
          Last updated -
          13
          2
          JavaScript
          MIT License
        • -
          security
          F
          license
          -
          quality
          A Model Context Protocol server that enables interaction with PostgreSQL databases to list tables, retrieve schemas, and execute read-only SQL queries.
          Last updated -
          16,948
          JavaScript
          • Linux
          • Apple
        • -
          security
          F
          license
          -
          quality
          A Model Context Protocol server that provides LLMs with full read-write access to PostgreSQL databases, allowing both querying and modifying database content with transaction management and safety controls.
          Last updated -
          84
          7
          TypeScript
          • Apple

        View all related MCP servers

        MCP directory API

        We provide all the information about MCP servers via our MCP API.

        curl -X GET 'https://glama.ai/api/mcp/v1/servers/GarethCott/enhanced-postgres-mcp-server'

        If you have feedback or need assistance with the MCP directory API, please join our Discord server