Token导航 LogoToken导航TokenDH.com
custom postgres MCP logo
数据服务未说明官方级别未说明来源级核验

custom postgres MCP

MCP Server

一款自动分析PostgreSQL操作最佳实践的MCP服务器,提供实时性能优化、安全检查和索引建议。适用于数据库开发与运维场景。

工具数

6

提示词数

0

GitHub Stars

0

资源数

0
TypeScriptClaude性能分析Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

KBY-CL

提供方

KBY-CL

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

PostgreSQL Best Practices MCP Server

Claude Code에서 PostgreSQL 작업 시 Best Practices를 자동으로 분석해주는 커스텀 MCP 서버입니다.

쿼리 실행, 스키마 조회, 데이터 변경 등 모든 DB 작업에 대해 인덱스 누락, 보안 취약점, 성능 개선 사항을 실시간으로 경고합니다.

주요 기능

  • 6개 MCP 도구connect_db, query, execute, describe_table, list_tables, list_schemas
  • Best Practices 자동 분석 — 쿼리/스키마/DML 실행 시 30개+ 규칙 기반 분석 결과 자동 포함
  • postgresql-best-practices Skill — 8개 카테고리 규칙 파일 (Claude가 참조하는 문서)

분석 예시

⚠️ [WARNING] query-missing-indexes
   WHERE/JOIN 조건의 컬럼 [modelname]에 인덱스가 없습니다.
   → CREATE INDEX ON pmis_ai.tsst_ai_logs (modelname); 를 고려하세요.

🔴 [CRITICAL] security-rls-basics
   사용자/테넌트 식별 컬럼이 있지만 RLS가 비활성화되어 있습니다.
   → ALTER TABLE ... ENABLE ROW LEVEL SECURITY; 후 정책을 추가하세요.

💡 [SUGGESTION] data-batch-inserts
   단일 행 INSERT를 감지했습니다.
   → VALUES (...), (...) 형태의 배치 INSERT로 10-50배 성능을 높이세요.

빠른 시작

1. 클론 및 설치

git clone https://github.com/KBY-CL/custom_postgres_mcp.git
cd custom_postgres_mcp
bash setup.sh

또는 수동 설치:

cd mcp-server
npm install
npm run build

2. DB 접속정보 설정

.mcp.json.template.mcp.json으로 복사한 후 접속정보를 수정합니다.

cp .mcp.json.template .mcp.json

.mcp.json 수정:

{
  "mcpServers": {
    "postgres": {
      "command": "node",
      "args": ["/mcp-server/dist/index.js"],
      "env": {
        "PG_HOST": "your-host.example.com",
        "PG_PORT": "5432",
        "PG_USER": "your-user",
        "PG_PASSWORD": "your-password",
        "PG_DATABASE": "your-database",
        "PGSSLMODE": "require",
        "NODE_TLS_REJECT_UNAUTHORIZED": "0"
      }
    }
  }
}
.mcp.json.gitignore에 포함되어 있어 DB 비밀번호가 git에 올라가지 않습니다.

3. Claude Code 재시작

Ctrl+Shift+P → Developer: Reload Window

4. 사용

Claude Code에서 자연어로 요청하면 됩니다:

"users 테이블 스키마 검토해줘"
"companyid별 토큰 사용량 조회 쿼리 작성해줘"
"테이블 성능 상태 진단해줘"

프로젝트 구조

.
├── .mcp.json.template          # DB 접속정보 템플릿
├── CLAUDE.md                   # Claude 자동 참조 지시
├── SETUP-GUIDE.md              # 상세 설치/사용 가이드
├── ROADMAP.md                  # AI 자동화 로드맵
├── setup.sh                    # 자동 설치 스크립트
│
├── mcp-server/                 # 커스텀 MCP 서버
│   ├── src/
│   │   ├── index.ts            # MCP 서버 진입점
│   │   ├── db.ts               # PostgreSQL 연결 관리
│   │   ├── types.ts            # 타입 정의
│   │   ├── tools/              # 6개 MCP 도구
│   │   │   ├── connect.ts      # DB 연결 + 설정 점검
│   │   │   ├── query.ts        # SELECT 쿼리 + 분석
│   │   │   ├── execute.ts      # INSERT/UPDATE/DELETE + 분석
│   │   │   ├── describe.ts     # 테이블 구조 + 스키마 분석
│   │   │   └── list.ts         # 스키마/테이블 목록 + FK/RLS 점검
│   │   └── checkers/           # Best Practices 분석 엔진
│   │       ├── query-checker.ts    # SELECT 쿼리 분석
│   │       ├── schema-checker.ts   # 스키마 분석
│   │       └── execute-checker.ts  # DML 분석
│   ├── package.json
│   └── tsconfig.json
│
└── .agents/skills/
    └── postgresql-best-practices/  # Best Practices 규칙 문서
        ├── SKILL.md
        └── references/             # 30개+ 규칙 파일

자동 분석 항목

도구별 분석

도구자동 분석 내용
connect_dbpg_stat_statements 활성화, log_lock_waits 설정
querySELECT *, OFFSET 페이지네이션, 인덱스 누락, 복합인덱스, JSONB GIN
execute배치 INSERT, UPSERT, WHERE 없는 UPDATE/DELETE, SKIP LOCKED
describe_tablePK 전략, 데이터타입, NOT NULL, JSONB GIN, RLS, FK 인덱스, 소문자 식별자
list_tablesFK 인덱스 누락, RLS 미적용 테이블

분석 레벨

레벨의미
CRITICAL즉시 조치 필요 (보안, 데이터 손실 위험)
WARNING성능 문제 가능성 높음
SUGGESTION개선하면 좋은 사항
INFO참고 정보

Best Practices 규칙 카테고리

우선순위카테고리영향도규칙 수
1Query PerformanceCRITICAL5
2Connection ManagementCRITICAL4
3Security & RLSCRITICAL3
4Schema DesignHIGH6
5Concurrency & LockingMEDIUM-HIGH4
6Data Access PatternsMEDIUM4
7Monitoring & DiagnosticsLOW-MEDIUM3
8Advanced FeaturesLOW2

아키텍처

┌──────────────┐    stdio     ┌──────────────────┐    TCP/SSL    ┌──────────┐
│  Claude Code │ ◄──────────► │ MCP 서버 (로컬)   │ ◄───────────► │ PostgreSQL│
│  (VSCode)    │              │ Node.js 프로세스   │              │ (원격 DB) │
└──────────────┘              └──────────────────┘              └──────────┘
  • MCP 서버는 로컬에서 Node.js 프로세스로 실행
  • Claude Code와 stdin/stdout(stdio)으로 통신
  • PostgreSQL DB에는 TCP/SSL로 연결 (직접 원격 또는 로컬 터널링)

로컬 터널링 접속 (SSH Tunnel)

원격 DB에 직접 접속이 불가능한 환경에서는 SSH 터널링을 통해 로컬 포트로 포워딩 후 접속합니다.

┌──────────────┐    stdio     ┌──────────────────┐   localhost    ┌────────────┐   SSH Tunnel   ┌──────────┐
│  Claude Code │ ◄──────────► │ MCP 서버 (로컬)   │ ◄────────────► │ SSH 터널    │ ◄────────────► │ PostgreSQL│
│  (VSCode)    │              │ Node.js 프로세스   │               │ (로컬 포트) │               │ (원격 DB) │
└──────────────┘              └──────────────────┘               └────────────┘               └──────────┘

.mcp.json 설정 시 PG_HOSTlocalhost로, PG_PORT를 터널링 포트로 지정합니다.

{
  "env": {
    "PG_HOST": "localhost",
    "PG_PORT": "5432",
    "PG_DATABASE": "postgres",
    "PGSSLMODE": "require",
    "NODE_TLS_REJECT_UNAUTHORIZED": "0"
  }
}

문제 해결

증상해결 방법
"Database not connected".mcp.json DB 접속정보 확인, 네트워크/VPN 확인
MCP 서버 인식 안 됨mcp-server/dist/index.js 존재 확인, 경로를 절대경로로 변경
빌드 실패Node.js 18+ 확인, cd mcp-server && npm install && npm run build
분석 결과 안 나옴Claude Code 재시작 (Ctrl+Shift+P → Reload Window)

라이선스

MIT

目录标签

目录标签

TypeScriptClaude性能分析数据库优化本地部署PostgreSQL工具安全检查自动化运维

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP