PostgreSQL MCP Server
一个提供 PostgreSQL 数据库表 CRUD 操作的 Model Context Protocol (MCP) 服务器。
概述
该 MCP 服务器允许您通过一系列工具与 PostgreSQL 数据库进行交互,这些工具提供了对指定表的创建、读取、更新和删除(CRUD)操作。服务器使用 FastMCP 库并以 stdio 模式运行,使其兼容各种 MCP 客户端。
功能
- 连接到 PostgreSQL 数据库
- 对指定表执行 CRUD 操作
- 表和列级别的访问控制
- 模式检查
- 自定义 SQL 查询执行
- 通过 YAML 文件进行配置
安装
- 克隆此仓库:
- 安装所需的依赖项:
配置
服务器使用
config.yaml
文件进行配置。该文件包含:- 数据库连接详细信息
- 表配置,包括:
- 哪些表是可访问的
- 哪些列允许进行操作
- 允许哪些操作(创建、读取、更新、删除)
示例配置:
使用
运行 MCP 服务器:
服务器将以 stdio 模式启动,准备接收来自 MCP 客户端的命令。
可用的 MCP 工具
list_tables
列出配置中所有可用的表。
create_record
在指定表中创建新记录。
read_records
从指定表中读取记录,可选过滤。
update_record
更新指定表中的记录。
delete_record
删除指定表中的记录。
execute_query
执行自定义 SQL 查询。
get_table_schema
获取指定表的模式信息。
响应格式
所有工具都以标准格式返回响应:
或在发生错误时:
安全注意事项
execute_query
工具允许执行任意 SQL 查询,可能存在安全风险。考虑限制其使用或实施额外的验证。
- 数据库凭据以明文形式存储在 config.yaml 文件中。在生产环境中,考虑使用环境变量或安全的密钥管理解决方案。
- 服务器根据配置验证表和列的访问权限,但确保配置本身的安全非常重要。
许可证
MIT 许可证
- Author:waytomcp
- URL:https://www.waytomcp.com/article/tobecrazy/postgresql-mcp
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!