
PostgreSQL

2025.03.30
0
JavaScriptPostgreSQL 访问数据库查询数据库
MCP-SERVER-PG 是一个基于 Model Context Protocol 的服务,提供对 PostgreSQL 数据库的只读访问能力。该服务允许 LLMs(大型语言模型)检查数据库模式并执行只读查询。
View on GitHub
Overview
基本能力
产品定位
MCP-SERVER-PG 是一个数据库访问服务,专门为 PostgreSQL 数据库提供只读访问接口。
核心功能
- 提供对 PostgreSQL 数据库的只读访问
- 允许执行只读 SQL 查询
- 自动发现并提供数据库表的结构信息(包括列名和数据类型)
适用场景
- 需要让 LLMs 访问 PostgreSQL 数据库内容的场景
- 需要安全地暴露数据库结构信息而不允许修改的场景
- 数据分析应用需要查询数据库的场景
工具列表
- query
- 功能:对连接的数据库执行只读 SQL 查询
- 输入参数:
sql
(字符串类型),表示要执行的 SQL 查询 - 所有查询都在 READ ONLY 事务中执行
常见问题解答
- 在 macOS 上运行 Docker 时,如果服务器运行在主机网络上(如 localhost),请使用 host.docker.internal 作为主机名
- 可以在 PostgreSQL URL 中添加用户名和密码:
postgresql://user:password@host:port/db-name
使用教程
使用依赖
- 需要安装 Docker 或 Node.js(使用 NPX 方式时)
安装教程
Docker 方式
docker build -t mcp/postgres -f src/postgres/Dockerfile .
NPX 方式
无需安装,直接使用 npx 命令运行
调试方式
Docker 调试命令
{
"mcpServers": {
"postgres": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"mcp/postgres",
"postgresql://host.docker.internal:5432/mydb"]
}
}
}
NPX 调试命令
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-postgres",
"postgresql://localhost/mydb"
]
}
}
}
注意:将 /mydb
替换为您的实际数据库名称