Go Mcp Postgres

Go Mcp Postgres

🚀 go-mcp-postgres

本项目从 https://github.com/Zhwt/go-mcp-mysql/ 复制代码,并借助 AI 将数据库从 MySQL 改为 PostgreSQL。可直接使用 Model Context Protocol (MCP) 服务器与 Postgres 及自动化功能交互,无需 Node.js 或 Python 环境。该服务器提供对 Postgres 数据库和表的 CRUD 操作工具,还有只读模式防止意外写入。还能通过添加 --with-explain-check 标志,让 MCP 服务器在执行查询前用 EXPLAIN 语句检查查询计划。

🚀 快速开始

本项目仍在开发中,可能还不适用于生产环境。使用前请确保 PostgreSQL 服务已正确安装并运行,同时采用强密码策略增强安全性,定期备份数据库以防数据丢失。

✨ 主要特性

  • 可直接使用 MCP 服务器与 Postgres 及自动化功能交互,无需 Node.js 或 Python 环境。
  • 提供对 Postgres 数据库和表的 CRUD 操作工具。
  • 具备只读模式,可防止意外写入操作。
  • 可通过添加 --with-explain-check 标志,在执行查询前使用 EXPLAIN 语句检查查询计划。

📦 安装指南

方式一:下载发布版本

获取最新 发布版本 并将其放入您的 $PATH 或其他易于访问的位置。

方式二:从源代码构建

若您已经安装了 Go,可以直接从源代码构建:

go install -v github.com/guoling2008/go-mcp-postgres@latest

💻 使用示例

基础用法

方法 A:使用命令行参数进行 stdio 模式

{
"mcpServers": {
"postgres": {
"command": "go-mcp-postgres",
"args": [
"--dsn",
"postgresql://user:pass@host:port/db"
]
}
}
}

方法 B:使用命令行参数进行交互式模式

# 连接 PostgreSQL 数据库
go-mcp-postgres postgresql://user:password@host:port/db

高级用法

在执行查询前,可添加 --with-explain-check 标志,使 MCP 服务器使用 EXPLAIN 语句检查查询计划。

📚 详细文档

工具说明

数据库连接

  • --dsn-d:指定数据库连接字符串。
  • --driver-D:指定数据库驱动(默认为 postgres)。

常用命令

  • \help:显示所有可用命令。
  • \list:列出所有数据库。
  • \tables:列出当前数据库中的表。
  • \schema:显示表结构。
  • \exit\q:退出程序。

工具功能

数据库操作

  • 创建数据库
CREATE DATABASE database_name;
  • 删除数据库
DROP DATABASE database_name;
  • 使用数据库
\c database_name;

表操作

  • 创建表
CREATE TABLE table_name (
column1 datatype,
column2 datatype,
...
);
  • 删除表
DROP TABLE table_name;
  • 插入数据
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);
  • 更新数据
UPDATE table_name
SET column1 = new_value1,
column2 = new_value2,
...
WHERE condition;
  • 删除数据
DELETE FROM table_name
WHERE condition;
  • 查询数据
SELECT column1, column2, ...
FROM table_name
[WHERE condition];

权限管理

  • 授予访问权限
GRANT ALL PRIVILEGES ON DATABASE database_name TO username;
  • 撤销访问权限
REVOKE ALL PRIVILEGES ON DATABASE database_name FROM username;

📄 许可证

本项目采用 MIT 许可证。

  • 0 关注
  • 0 收藏,8 浏览
  • system 提出于 2025-09-23 14:42

相似服务问题