MCP PostgreSQL 서버
PostgreSQL 데이터베이스 작업을 제공하는 모델 컨텍스트 프로토콜 서버입니다. 이 서버를 통해 AI 모델은 표준화된 인터페이스를 통해 PostgreSQL 데이터베이스와 상호 작용할 수 있습니다.
설치
수동 설치
지엑스피1
또는 다음을 사용하여 직접 실행하세요.
npx mcp-postgres-serverRelated MCP server: PostgreSQL MCP Server
구성
서버에는 다음과 같은 환경 변수가 필요합니다.
{
"mcpServers": {
"postgres": {
"type": "stdio",
"command": "npx",
"args": ["-y", "mcp-postgres-server"],
"env": {
"PG_HOST": "your_host",
"PG_PORT": "5432",
"PG_USER": "your_user",
"PG_PASSWORD": "your_password",
"PG_DATABASE": "your_database"
}
}
}
}사용 가능한 도구
1. 연결_DB
제공된 자격 증명을 사용하여 PostgreSQL 데이터베이스에 대한 연결을 설정합니다.
use_mcp_tool({
server_name: "postgres",
tool_name: "connect_db",
arguments: {
host: "localhost",
port: 5432,
user: "your_user",
password: "your_password",
database: "your_database"
}
});2. 질의
선택적 준비된 명령문 매개변수를 사용하여 SELECT 쿼리를 실행합니다. PostgreSQL 스타일($1, $2) 및 MySQL 스타일(?) 매개변수 자리 표시자를 모두 지원합니다.
use_mcp_tool({
server_name: "postgres",
tool_name: "query",
arguments: {
sql: "SELECT * FROM users WHERE id = $1",
params: [1]
}
});3. 실행하다
선택적으로 준비된 명령문 매개변수를 사용하여 INSERT, UPDATE 또는 DELETE 쿼리를 실행합니다. PostgreSQL 스타일($1, $2) 및 MySQL 스타일(?) 매개변수 자리 표시자를 모두 지원합니다.
use_mcp_tool({
server_name: "postgres",
tool_name: "execute",
arguments: {
sql: "INSERT INTO users (name, email) VALUES ($1, $2)",
params: ["John Doe", "john@example.com"]
}
});4. 리스트_스키마
연결된 데이터베이스에 있는 모든 스키마를 나열합니다.
use_mcp_tool({
server_name: "postgres",
tool_name: "list_schemas",
arguments: {}
});5. 리스트_테이블
연결된 데이터베이스의 테이블을 나열합니다. 선택적 스키마 매개변수를 허용합니다(기본값은 'public').
// List tables in the 'public' schema (default)
use_mcp_tool({
server_name: "postgres",
tool_name: "list_tables",
arguments: {}
});
// List tables in a specific schema
use_mcp_tool({
server_name: "postgres",
tool_name: "list_tables",
arguments: {
schema: "my_schema"
}
});6. 설명_테이블
특정 테이블의 구조를 가져옵니다. 선택적 스키마 매개변수를 허용합니다(기본값은 'public').
// Describe a table in the 'public' schema (default)
use_mcp_tool({
server_name: "postgres",
tool_name: "describe_table",
arguments: {
table: "users"
}
});
// Describe a table in a specific schema
use_mcp_tool({
server_name: "postgres",
tool_name: "describe_table",
arguments: {
table: "users",
schema: "my_schema"
}
});특징
자동 정리를 통한 안전한 연결 처리
쿼리 매개변수에 대한 준비된 명령문 지원
PostgreSQL 스타일($1, $2) 및 MySQL 스타일(?) 매개변수 자리 표시자 모두 지원
포괄적인 오류 처리 및 검증
TypeScript 지원
자동 연결 관리
PostgreSQL 특정 구문 및 기능 지원
데이터베이스 작업을 위한 다중 스키마 지원
보안
SQL 주입을 방지하기 위해 준비된 명령문을 사용합니다.
환경 변수를 통해 안전한 암호 처리를 지원합니다.
실행 전에 쿼리를 검증합니다.
완료되면 자동으로 연결을 닫습니다.
오류 처리
서버는 일반적인 문제에 대한 자세한 오류 메시지를 제공합니다.
연결 실패
잘못된 쿼리
매개변수가 누락되었습니다
데이터베이스 오류
특허
MIT