这个 MCP(机器学习平台)服务器是一个用于连接 PostgreSQL 数据库的自定义工具,它支持读写操作,还提供了增强的数据库交互功能,能让用户更高效、安全地与 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;
-- 只授予必要的权限
commit 和 rollback 命令来管理事务,保证数据操作的一致性和完整性。# 提交事务
commit
# 回滚事务
rollback
\di+ table_name
\d+ table_name
# 表大小和行数统计
\dt+
\d table_name
用户:"我需要一个包含 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 语句并提示批准。
对于任何写入操作,采用两步验证:
# 构建 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。保留所有权利。