Postgres MCP 服务器
什么是go-mcp-postgres? go-mcp-postgres 是一个用于与 Postgres 数据库交互的模型上下文协议(MCP)服务器,它允许在无需 Node.js 或 Python 环境的情况下轻松执行 CRUD 操作和自动化任务。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"postgres": {
"args": [
"--dsn",
"postgresql://user:pass@host:port/db"
],
"command": "go-mcp-postgres"
}
}
}
服务介绍
go-mcp-postgres
概述
从 https://github.com/Zhwt/go-mcp-mysql/ 复制代码,并在 AI 的帮助下,我将数据库从 MySQL 更改为 Postgres。
无需任何负担,即可使用的 Model Context Protocol (MCP) 服务器,用于与 Postgres 进行交互和自动化。不需要 Node.js 或 Python 环境。该服务器提供了对 Postgres 数据库和表进行 CRUD 操作的工具,以及一个只读模式以防止意外写入操作。您还可以通过添加 --with-explain-check 标志来让 MCP 服务器在执行查询前使用 EXPLAIN 语句检查查询计划。
请注意,这是一个正在进行中的项目,可能尚未准备好投入生产使用。
安装
-
获取最新的 发布版本,并将其放在您的
$PATH中或您可以轻松访问的位置。 -
或者,如果您已经安装了 Go,可以从源代码构建它:
go install -v github.com/guoling2008/go-mcp-postgres@latest
使用方法
方法 A:使用命令行参数
{
"mcpServers": {
"postgres": {
"command": "go-mcp-postgres",
"args": [
"--dsn",
"postgresql://user:pass@host:port/db"
]
}
}
}
注意:对于将二进制文件放在 $PATH 之外的用户,需要将 go-mcp-postgres 替换为二进制文件的完整路径:例如,如果将二进制文件放在 Downloads 文件夹中,可以使用以下路径:
{
"mcpServers": {
"postgres": {
"command": "C:\\Users\\<username>\\Downloads\\go-mcp-postgres.exe",
"args": [
...
]
}
}
}
可选标志
- 添加
--read-only标志以启用只读模式。在此模式下,只有以list、read_和desc_开头的工具可用。添加此标志后,请确保刷新/重启 MCP 服务器。 - 默认情况下,CRUD 查询将首先使用
EXPLAIN ?语句执行,以检查生成的查询计划是否符合预期模式。添加--with-explain-check标志以禁用此行为。
工具
模式工具
-
list_database- 列出 Postgres 服务器中的所有数据库。
- 参数:无
- 返回:匹配的数据库名称列表。
-
list_table- 列出 Postgres 服务器中的所有表。
- 参数:
name:如果提供,则列出具有指定名称的表,否则列出所有表。
- 返回:匹配的表名称列表。
-
create_table- 在 Postgres 服务器中创建新表。
- 参数:
query:用于创建表的 SQL 查询。
- 返回:影响的行数。
-
alter_table- 修改 Postgres 服务器中的现有表。LLM 被告知不要删除现有的表或列。
- 参数:
query:用于修改表的 SQL 查询。
- 返回:影响的行数。
-
desc_table- 描述表的结构。
- 参数:
name:要描述的表的名称。
- 返回:表的结构。
数据工具
-
read_query- 执行只读的 SQL 查询。
- 参数:
query: 要执行的 SQL 查询。
- 返回:查询的结果。
-
write_query- 执行写入的 SQL 查询。
- 参数:
query: 要执行的 SQL 查询。
- 返回:影响了 x 行,最后插入的 id: <last_insert_id>。
-
update_query- 执行更新的 SQL 查询。
- 参数:
query: 要执行的 SQL 查询。
- 返回:影响了 x 行。
-
delete_query- 执行删除的 SQL 查询。
- 参数:
query: 要执行的 SQL 查询。
- 返回:影响了 x 行。
再次感谢 https://github.com/Zhwt/go-mcp-mysql/。
许可证
MIT