使用说明
PostgreSQL MCP服务器
一种允许LLM与PostgreSQL数据库交互的MCP(Model Context Protocol)服务器。
特徴
- 查询执行:自动限制SELECT语句执行SQL查询
- 工作台检查:描述表和表结构(列、类型、约束和索引)
- 安全操作:对危险操作(DROP、TRUNCATE、ALTER、DELETE)的保护功能
- Docker支持:用于简单集成的容器化部署
快速启动
使用Claude Code时
claude mcp add -s project pms docker \
--env PGSCHEMA=public \
--env PGDATABASE=test_db \
--env PGHOST=host.docker.internal \
--env PGPORT=5432 \
--env PGUSER=postgres \
--env PGPASSWORD=your_password \
-- run --pull always -i --rm \
-e PGSCHEMA \
-e PGDATABASE \
-e PGHOST \
-e PGPORT \
-e PGUSER \
-e PGPASSWORD \
ghcr.io/ssakihara/postgres-mcp-server:latest
请根据实际环境更改环境变量的值。
环境变数
|变量|说明|默认|必需|
|----------|-------------|---------|----------|
| PGHOST PostgreSQL主机 localhost 不,不
| PGPORT PostgreSQL端口 5432 不,不
| PGDATABASE 数据库名称 是 |
| PGUSER |数据库用户|当前用户/ postgres 不,不
| PGPASSWORD 数据库密码|-|否|
| PGSCHEMA 默认架构名称 public 不,不
MCP工具
query
对数据库执行SQL查询。
入力:
{
"sql": "SELECT * FROM users WHERE active = true LIMIT 10",
"params": [],
"limit": 1000
}
响应:
{
"success": true,
"rowCount": 10,
"rows": [...],
"fields": [...]
}
list_tables
列出PGSCHEMA环境变量中设置的架构中的表。
入力:
{
"includeRowCount": false
}
响应:
{
"success": true,
"schema": "public",
"tables": [...],
"count": 5
}
describe_table
获取PGSCHEMA环境变量中设置的架构中的表的详细信息。
入力:
{
"tableName": "users"
}
响应:
{
"success": true,
"table": { "schema": "public", "name": "users" },
"columns": [...],
"primaryKeys": ["id"],
"foreignKeys": [...],
"indexes": [...]
}
在Docker中使用
从GitHub Container Registry中使用
docker run -i --rm \
-e PGHOST=host.docker.internal \
-e PGPORT=5432 \
-e PGDATABASE=mydb \
-e PGUSER=myuser \
-e PGPASSWORD=mypassword \
-e PGSCHEMA=public \
ghcr.io/ssakihara/postgres-mcp-server:latest
在本地构建和使用
# Docker イメージをビルド
docker build -t postgres-mcp-server .
# 実行
docker run -i --rm \
-e PGHOST=host.docker.internal \
-e PGPORT=5432 \
-e PGDATABASE=mydb \
-e PGUSER=myuser \
-e PGPASSWORD=mypassword \
-e PGSCHEMA=public \
postgres-mcp-server
开发人员
安装,安装
# 依存関係をインストール
pnpm install
# 開発モードで実行(ウォッチ機能)
pnpm run dev
# 本番用にビルド
pnpm run build
# テストを実行
pnpm test
项目配置
postgres-mcp-server/
├── src/
│ ├── index.ts # メインエントリーポイント
│ ├── server.ts # MCP サーバー設定
│ ├── tools/
│ │ ├── query.ts # SQL クエリ実行ツール
│ │ ├── schema.ts # データベーススキーマ一覧
│ │ └── tables.ts # テーブル一覧・詳細取得ツール
│ └── db.ts # PostgreSQL 接続
├── package.json
├── tsconfig.json
├── Dockerfile
└── README.md
许可证
国际学生委员会