从 https://github.com/Zhwt/go-mcp-mysql/ 复制代码,并在AI的帮助下,将数据库从MySQL更改为PostgreSQL。这是一个零负担、即用型的模型上下文协议(MCP)服务器,用于与PostgreSQL进行交互和自动化操作。无需Node.js或Python环境。此服务器提供了对MySQL数据库和表执行CRUD操作的工具,以及一种只读模式以防止意外写入操作。您还可以通过在执行查询前添加 --with-explain-check 标志来使用 EXPLAIN 语句检查查询计划。
请注意,这是一项正在进行的工作,可能尚未准备好用于生产环境。
获取最新发布版本,并将其放置在您的 $PATH 或易于访问的位置。
如果您已安装Go,可以从源码构建:
go install -v github.com/guoling2008/go-mcp-postgres@latest
{
"mcpServers": {
"postgres": {
"command": "go-mcp-postgres",
"args": [
"--dsn",
"postgresql://user:pass@host:port/db"
]
}
}
}
注意:对于那些将二进制文件放在 $PATH 之外的人,需要将 go-mcp-postgres 替换为二进制文件的完整路径。例如,如果您将二进制文件放在下载文件夹中,可以使用以下路径:
{
"mcpServers": {
"postgres": {
"command": "C:\\Users\\<username>\\Downloads\\go-mcp-postgres.exe",
"args": [
...
]
}
}
}
./go-mcp-postgres --t sse --ip x.x.x.x --port nnnn --dsn postgresql://user:pass@host:port/db --lang en
--lang: 设置语言选项(en/zh-CN),默认为系统语言--read-only 标志启用只读模式。在此模式下,只有以 list、read_ 和 desc_ 开头的工具可用。确保在添加此标志后刷新/重启MCP服务器。EXPLAIN ? 语句执行,以检查生成的查询计划是否符合预期模式。添加 --with-explain-check 标志可禁用此行为。多语言支持:所有工具描述将根据lang参数自动本地化
如果您想添加自己的语言支持,请参考locales文件夹。 如果要在命令行中使用它,应创建新的locales/xxx/active-xx.toml文件。
list_database
list_table
name: 如果提供,则列出具有指定名称的表,否则列出所有表。create_table
query: 创建表的SQL查询。alter_table
query: 修改表的SQL查询。desc_table
name: 要描述的表名。read_query
query: 要执行的SQL查询。write_query
query: 要执行的SQL查询。update_query
query: 要执行的SQL查询。delete_query
query: 要执行的SQL查询。count_query
name: 要计数的表名。再次感谢 https://github.com/Zhwt/go-mcp-mysql/
MIT