PostgreSQL

PostgreSQL

site icon
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 替换为您的实际数据库名称

许可证

该项目遵循 MIT 开源许可条款。