使用说明
MCP PostgreSQL服务器
这是一个用于与PostgreSQL数据库交互的模型上下文协议服务器。它提供了一个只读接口来查询PostgreSQL数据库并检查它们的模式。
安装
npm install -g @hthuong09/postgres-mcp
配置
服务器可以按优先级顺序以多种方式配置:
-
环境变量
POSTGRES_URL:完整的数据库URL(例如。,postgres://user:pass@host:5432/dbname)- 单个连接参数:
POSTGRES_HOST:数据库主机POSTGRES_PORT:数据库端口(默认值:5432)POSTGRES_DB:数据库名称POSTGRES_USER:数据库用户POSTGRES_PASSWORD:数据库密码POSTGRES_SSL:启用SSL模式(设置为“true”以启用)POSTGRES_SCHEMA:数据库架构(默认值:“public”)
- 附加配置:
DOTENV_PATH:.env文件的自定义路径DEBUG_MCP:启用调试日志记录(设置为“true”以启用)
-
命令行
npx @hthuong09/postgres-mcp "postgres://user:pass@host:5432/dbname"
资源
- 表模式:数据库中的每个表都作为资源公开
- 资源URI格式:
postgres://user@host/dbname/table_name/schema - 响应格式:列定义的JSON数组(名称和数据类型)
使用示例
-
使用环境变量:
export POSTGRES_HOST=localhost export POSTGRES_DB=mydb export POSTGRES_USER=myuser export POSTGRES_PASSWORD=mypassword npx @hthuong09/postgres-mcp -
使用连接URL:
npx @hthuong09/postgres-mcp "postgres://myuser:mypassword@localhost:5432/mydb" -
在SSL中使用环境变量:
export POSTGRES_HOST=db.example.com export POSTGRES_DB=mydb export POSTGRES_USER=myuser export POSTGRES_PASSWORD=mypassword export POSTGRES_SSL=true npx @hthuong09/postgres-mcp -
使用自定义.env文件位置:
DOTENV_PATH=/path/to/.env npx @hthuong09/postgres-mcp
安全考虑
- 数据库凭据应保持安全
- 在生产中使用环境变量或.env文件而不是命令行参数,以避免在进程列表中暴露凭据
- 考虑在生产环境中使用SSL
- 为了安全起见,服务器只允许只读事务
- 密码会自动从资源URI中删除
发展
要在本地构建服务器,请执行以下操作:
npm install
npm run build
在开发过程中以观察模式运行:
npm run watch
调试
集 DEBUG_MCP=true 以启用调试日志记录。日志将写入:
- Unix/macOS:
/tmp/postgres-mcp-debug.json - 窗户:
%TEMP%/postgres-mcp-debug.json
许可证
麻省理工学院