mcpField
P
PostgreSQL

PostgreSQL

本地服务
github.com/divyanshu-vashu数据库075 周前更新

关于 PostgreSQL

PostgreSQL 是用于只读访问 PostgreSQL 数据库的 MCP 服务,可供 LLM 客户端查看表结构并执行只读事务中的 SQL 查询。

主要功能

  1. 01执行只读 SQL 查询
  2. 02查看表结构
  3. 03自动发现列名和数据类型

适用场景

  1. 01在不写入数据的情况下查询记录
  2. 02分析前检查表结构

MCP 相关

该服务向 MCP 客户端提供只读查询工具和表结构资源。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"MCP-SERVER-PG": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
启动命令docker run -i --rm build

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocibuild

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

PostgreSQL

一个提供 PostgreSQL 数据库只读访问权限的模型上下文协议服务。此服务可让大模型检查数据库架构并执行只读查询。

组件

工具
  • query
    • 对连接的数据库执行只读 SQL 查询
    • 输入:sql(字符串):要执行的 SQL 查询
    • 所有查询均在 READ ONLY 事务中执行
资源

此服务为数据库中的每个表提供架构信息:

  • 表架构(postgres://<host>/<table>/schema)
    • 每个表的 JSON 架构信息
    • 包含列名和数据类型
    • 根据数据库元数据自动发现

在 Claude Desktop 中使用

要在 Claude Desktop 应用中使用此服务,请将以下配置添加到 claude_desktop_config.json 的 "mcpServers" 部分:

Docker
  • 在 macOS 上运行 Docker 时,如果服务在主机网络上运行(例如 localhost),请使用 host.docker.internal
  • 可在 PostgreSQL URL 中添加用户名/密码:postgresql://user:password@host:port/db-name
{
  "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 替换为你的数据库名称。

构建

Docker:

docker build -t mcp/postgres -f src/postgres/Dockerfile . 

许可证

此 MCP 服务采用 MIT License 授权。这意味着你可以自由使用、修改和分发此软件,但须遵守 MIT License 的条款和条件。更多详情请参阅项目仓库中的 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。