Mcp Postgres Full Access

Mcp Postgres Full Access

🚀 PostgreSQL 全文翻译说明

这个 MCP(机器学习平台)服务器是一个用于连接 PostgreSQL 数据库的自定义工具,它支持读写操作,还提供了增强的数据库交互功能,能让用户更高效、安全地与 PostgreSQL 数据库进行交互。

✨ 主要特性

1. 增强的数据库访问

  • 读写支持:支持用户执行 SELECT、INSERT、UPDATE 和 DELETE 操作,满足多样化的数据操作需求。
  • 权限控制:通过创建专用数据库用户并授予适当权限,确保安全连接到 PostgreSQL 数据库。示例如下:
-- 创建一个受限用户(根据需要进行调整)
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;
-- 只授予必要的权限

2. 增强的数据库交互

  • 事务支持:用户可以使用 commitrollback 命令来管理事务,保证数据操作的一致性和完整性。
# 提交事务
commit

# 回滚事务
rollback
  • 索引信息:可显示指定表的索引及其类型,方便用户了解表的索引结构。
\di+ table_name
  • 外键信息:展示特定表的外键关联,帮助用户理清表之间的关系。
\d+ table_name
  • 行估计:提供表的大小和行数统计信息,让用户对表的数据规模有清晰的认识。
# 表大小和行数统计
\dt+
  • 表描述:显示表及其列的详细信息,包括数据类型和约束,便于用户了解表的结构。
\d table_name

3. 安全注意事项

  • 始终使用“允许一次”选项,每次写入操作前仔细审查 SQL 语句:
    • 查看表名、确认列名和数据准确性。
    • 确保 WHERE 子句适当,避免误删或误更新。

💻 使用示例

基础用法

示例 1:创建新表并添加数据

用户:"我需要一个包含 id、名称、价格和库存的新产品表。" Claude:分析你的数据库需求,生成以下 SQL 语句:

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

用户:审查后点击“允许一次”。 Claude:“我已经创建了 products 表。是否需要添加一些示例数据?” 用户:"是的,请添加五个示例产品。" Claude:生成 INSERT 语句并提示批准。

高级用法

示例 2:安全工作流程

对于任何写入操作,采用两步验证:

  1. 分析请求:Claude 根据你的需求准备 SQL。
  2. 读取操作自动执行:仅 SELECT 查询会直接运行。
  3. 写入操作处理
    • Claude 在事务中执行 SQL 并结束对话。
    • 用户审查结果。
    • 新对话中,用户回复“是”提交或“否”回滚。

📦 安装指南

构建与运行容器

# 构建 Docker 镜像
docker build -t mcp-postgres-full-access .

# 运行容器
docker run -i --rm mcp-postgres-full-access "postgresql://username:password@host:5432/database"

⚠️ 重要提示

macOS 用户使用 host.docker.internal 连接主机网络:

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

📄 许可证

此 MCP 服务器根据 MIT License 分发。

创建者

由 Syahiid Nur Kamil(@syahiidkamil)创建。


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

  • 0 关注
  • 0 收藏,19 浏览
  • system 提出于 2025-09-24 11:51

相似服务问题

相关AI产品