Token导航 LogoToken导航

MCP Server · 数据服务

PostgreSQL Full Access MCP Server

Full access postgres mcp server

stdio官方级别未说明来源级核验工具 0
数据分析PostgreSQLClaudeClaude Desktop

快速开始

作者 / 组织
syahiidkamil
提供方
syahiidkamil
运行时
Docker

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

24

仓库热度

收录来源

3 个

MCP.so

选型结论

PostgreSQL Full Access MCP Server 属于数据服务类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude,有可以直接复制的安装命令;接入前先确认权限范围。

分类

数据服务

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

docker run -i --rm mcp-postgres-full-access "postgresql://username:password@host:5432/database"

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Docker,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

PostgreSQL完全访问MCP服务器

一个强大的模型上下文协议服务器,提供 完全读写访问 PostgreSQL数据库。与只读的官方MCP PostgreSQL服务器不同,这种增强的实现允许大型语言模型(LLM)通过适当的事务管理和安全控制来查询和修改数据库内容。

目录

- 完全读写访问权限 - 丰富的架构信息 - 高级安全控制

- execute_query - execute_dml_ddl_dcl_tcl - 执行_维护 - 执行_提交 - execute_rollback - list_tables - describe_table

- Claude桌面集成 - 重要提示:使用“允许一次”以确保安全

- 数据库用户权限 - 安全使用的最佳实践

🌟 特性

完全读写访问权限

  • 安全执行DML操作(INSERT、UPDATE、DELETE)
  • 使用DDL创建、更改和管理数据库对象
  • 具有显式提交的事务管理
  • 安全超时和自动回滚保护

丰富的架构信息

  • 详细的列元数据(数据类型、描述、最大长度、可空性)
  • 主键标识
  • 外键关系
  • 带有类型和唯一性标志的索引信息
  • 表行数估计
  • 表和列说明(如果可用)

高级安全控制

  • SQL查询分类(DQL、DML、DDL、DCL、TCL)
  • 强制执行只读以实现安全查询
  • 所有操作都在独立的事务中运行
  • 自动事务超时监控
  • 可配置的安全限制
  • 带有明确用户确认的两步事务提交流程

🔧 工具

  • execute_query

- 执行只读SQL查询(SELECT语句) - 输入: sql (string):要执行的SQL查询 - 所有查询都在只读事务中执行 - 结果包括执行时间指标和字段信息

  • execute_dml_ddl_dcl_tcl

- 执行数据修改操作(INSERT、UPDATE、DELETE)或模式更改(CREATE、ALTER、DROP) - 输入: sql (string):要执行的SQL语句 - 自动包装在具有可配置超时的事务中 - 返回显式提交的事务ID - 重要安全特征:对话将在执行后结束,允许用户在决定提交或回滚之前查看结果

  • 执行_维护

- 在事务之外执行VACUUM、ANALYZE或CREATE DATABASE等维护命令 - 输入: sql (string):要执行的SQL语句-必须是VACUUM、ANALYZE或CREATE DATABASE - 返回一个包含执行时间度量的结果对象

  • 执行_提交

- 按ID显式提交事务 - 输入: transaction_id (string):要提交的事务的ID - 安全地处理提交或回滚后的清理 - 将更改永久应用于数据库

  • execute_rollback

- 按事务ID显式回滚事务 - 输入: transaction_id (string):要回滚的事务的ID - 安全地丢弃所有更改并清理资源 - 在审查更改并决定不应用更改时很有用

  • list_tables

- 获取数据库中所有表的完整列表 - 包括列数和表说明 - 无需输入参数

  • describe_table

- 获取特定表结构的详细信息 - 输入: table_name (string):要描述的表的名称 - 返回完整的架构信息,包括主键、外键、索引和列详细信息

📊 资源

服务器为数据库表提供增强的架构信息:

  • 持微软签名的表模式 (postgres:////schema)

- 每个表的详细JSON模式信息 - 包括完整的列元数据、主键和约束 - 从数据库元数据中自动发现

🚀 与Claude Desktop一起使用

Claude桌面集成

要将此服务器与Claude Desktop一起使用,请执行以下步骤:

  1. 首先,确保你的系统上安装了Node.js
  1. 使用npx安装包或将其添加到项目中
  1. 通过编辑配置Claude Desktop claude_desktop_config.json (通常在 ~/Library/Application Support/Claude/ 在macOS上):
{
  "mcpServers": {
    "postgres-full": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-postgres-full-access",
        "postgresql://username:password@localhost:5432/database"
      ],
      "env": {
        "TRANSACTION_TIMEOUT_MS": "60000",
        "MAX_CONCURRENT_TRANSACTIONS": "5",
        "PG_STATEMENT_TIMEOUT_MS": "30000"
      }
    }
  }
}
  1. 用实际的PostgreSQL连接详细信息替换数据库连接字符串
  2. 完全重新启动克劳德桌面

重要提示:使用“允许一次”以确保安全

当Claude尝试将更改提交到您的数据库时,Claude Desktop将提示您批准:

在批准SQL更改之前,一定要仔细检查!

安全最佳实践:

  • 对于提交操作,始终单击“允许一次”(而不是“始终允许”)
  • 在批准之前仔细检查事务SQL
  • 考虑使用权限有限的数据库用户
  • 首次尝试此服务器时,如果可能,请使用测试数据库

这种“允许一次”的方法使您能够完全控制,以防止对数据库进行不必要的更改,同时仍然使Claude能够在需要时帮助完成数据管理任务。

⚙️ 环境变量

您可以在Claude Desktop配置中使用环境变量自定义服务器行为:

"env": {
  "TRANSACTION_TIMEOUT_MS": "60000",
  "MAX_CONCURRENT_TRANSACTIONS": "5"
}

关键环境变量:

  • TRANSACTION_TIMEOUT_MS:事务超时(毫秒)(默认值:15000)

- 如果您的交易需要更多时间,请增加此值 - 为了安全起见,超过此时间的交易将自动回滚

  • MAX_CONCURRENT_TRANSACTIONS:最大并发事务数(默认值:10)

- 降低此数字以进行更保守的操作 - 更高的值允许更多的同时写入操作

  • ENABLE_TRANSACTION_MONITOR:启用/禁用事务监视器(“true”或“false”,默认值:“true”)

- 监控并自动回滚已放弃的交易 - 很少需要残疾

  • PG_STATEMENT_TIMEOUT_MS:SQL查询执行超时(毫秒)(默认值:30000)

- 限制任何单个SQL语句可以运行的时间 - 防止查询失控的重要安全功能

  • PG_MAX_CONNECTIONS:最大PostgreSQL连接数(默认值:20)

- 重要的是要保持在数据库的连接限制范围内

  • MONITOR_INTERVAL_MS:检查卡住交易的频率(默认值:5000)

- 通常不需要调整

🔄 使用Claude进行完全数据库访问

此服务器使Claude能够在您的批准下从您的PostgreSQL数据库读取数据和向其写入数据。以下是一些示例对话流程:

示例:创建新表和添加数据

您:“我需要一个新的产品表,其中包含id、名称、价格和库存列”

克劳德: _分析数据库并创建查询_

CREATE TABLE products (
    id SERIAL PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    price DECIMAL(10,2) NOT NULL,
    inventory INTEGER DEFAULT 0
);

_Claude Desktop将提示您批准此操作_

你: _查看并单击“允许一次”_

克劳德:“我已经创建了产品表。你想让我添加一些示例数据吗?”

您:“是的,请添加5个样品产品”

克劳德: _创建INSERT语句并提示审批_ _您使用“允许一次”进行审核和批准_

示例:使用安全查询的数据分析

你:“按价格计算,我的前三大产品是什么?”

克劳德: _自动执行只读查询_ _显示结果_

安全工作流程

对于任何修改数据库的操作,关键的安全功能是两步走的方法:

  1. Claude分析您的请求并准备SQL
  2. 对于只读操作(SELECT),Claude会自动执行
  3. 对于写操作(INSERT、UPDATE、DELETE、CREATE等):

- Claude在事务中执行SQL并结束对话 - 您查看结果 - 在新的对话中,您用“是”表示提交,用“否”表示回滚 - Claude Desktop会向您显示将要更改的内容并请求许可 - 您单击“允许一次”以允许特定操作 - Claude执行操作并返回结果

这为您提供了在将更改永久应用于数据库之前验证更改的多种机会。

⚠️ 安全考虑

使用写访问权限将Claude连接到数据库时:

数据库用户权限

重要: 创建具有适当权限的专用数据库用户:

-- Example of creating a restricted user (adjust as needed)
CREATE USER claude_user WITH PASSWORD 'secure_password';
GRANT SELECT ON ALL TABLES IN SCHEMA public TO claude_user;
GRANT INSERT, UPDATE, DELETE ON TABLE table1, table2 TO claude_user;
-- Only grant specific permissions as needed

安全使用的最佳实践

  1. 始终使用“允许一次” 查看每个写入操作

- 切勿选择“始终允许”进行数据库修改 - 花时间仔细检查SQL

  1. 连接到测试数据库 首次使用此工具时

- 考虑使用数据库副本/备份进行初始测试

  1. 限制数据库用户权限 只做必要的事

- 避免使用超级用户或管理员帐户 - 尽可能授予表特定权限

  1. 实施数据库备份 在广泛使用之前
  1. 切勿共享敏感数据 不应该接触LLM
  1. 验证所有SQL操作 在批准之前

- 检查表名 - 验证列名和数据 - 确认WHERE子句是否合适 - 寻找适当的交易处理方式

码头工人

服务器可以在Docker容器中轻松运行:

# Build the Docker image
docker build -t mcp-postgres-full-access .

# Run the container
docker run -i --rm mcp-postgres-full-access "postgresql://username:password@host:5432/database"

对于macOS上的Docker,请使用host.Docker.internal连接到主机网络:

docker run -i --rm mcp-postgres-full-access "postgresql://username:password@host.docker.internal:5432/database"

📄 许可证

此MCP服务器根据MIT许可证获得许可。

💡 与官方PostgreSQL MCP服务器的比较

功能此服务器官方MCP PostgreSQL服务器
读取权限✅✅
写入权限✅❌
架构详细信息增强基本
事务支持显式超时只读
索引信息✅❌
外键详细信息✅❌
行数估计✅❌
表说明✅❌

作者

由Syahiid Nur Kamil创建(@系统)

______________________________________________________________________

版权所有©2024 Syahiid Nur Kamil。保留所有权利。

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

databases数据库管理TypeScript本地部署PostgreSQL读写访问事务控制LLM集成

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

用自然语言查库

不用手写 SQL,直接问数据,让模型组织查询语句。

数据巡检

定期拉指标、做对比,把异常项整理成一段说明。

打通业务数据

把数据库、数仓和接口接进同一个上下文,减少导出再上传。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Docker,换机器要重新装一遍。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在数据服务场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
PostgreSQL Full Access MCP Server

MCP.so · 本页

0stdio有3 个2026-05-17
Memory 9d25f64e

MCP World

9未说明未标注1 个2026-05-17
Prisma MCP Server

MCP World

0stdio有3 个2026-05-17
Astr Bot

MCP World

0stdio有1 个2026-05-17
Getzep MCP

MCP World

9stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

PostgreSQL Full Access MCP Server 怎么安装?

公开资料给出的安装命令是 docker run -i --rm mcp-postgres-full-access "postgresql://username:password@host:5432/data…,运行环境为 Docker。装完后按客户端要求写进 MCP 配置,重启客户端生效。

PostgreSQL Full Access MCP Server 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Docker;保存后完全退出客户端再打开,配置才会生效。

PostgreSQL Full Access MCP Server 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

PostgreSQL Full Access MCP Server 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

PostgreSQL Full Access MCP Server 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP