项目简介
Postgres MCP Server 是一个实现了 Model Context Protocol (MCP) 的服务器,它允许 AI 智能体通过标准化的接口与 PostgreSQL 数据库进行交互。通过提供一系列预定义的工具,该服务器使得 LLM 应用能够安全、高效地访问和操作 PostgreSQL 数据库,从而扩展 LLM 的上下文信息处理和功能执行能力。
主要功能点
- 连接管理:支持注册和注销 PostgreSQL 数据库连接,管理多个并发连接,并提供连接池以优化资源利用。
- 数据库操作:提供丰富的数据库操作工具,包括执行 SELECT 查询、插入、更新和删除数据记录,以及创建和删除表、索引等数据库结构。
- SQL 验证:内置 SQL 解析器,用于验证和安全检查 SQL 语句,防止执行未授权的操作,保障数据库安全。
- 标准化接口:遵循 MCP 协议,提供标准化的 JSON-RPC 接口,易于与各种 MCP 客户端集成。
安装步骤
- 安装 Rust 环境:确保你的系统中已安装 Rust 编程语言和 Cargo 包管理器。如果未安装,请访问 Rust 官网 按照指引进行安装。
- 安装 'postgres-mcp':打开终端,执行以下 Cargo 命令即可安装 'postgres-mcp' 服务器程序:
安装完成后,'postgres-mcp' 命令将被添加到你的系统 PATH 环境变量中。cargo install postgres-mcp
服务器配置
MCP 客户端需要配置以下 JSON 来启动和连接 Postgres MCP 服务器。在 MCP 客户端的配置文件中,'mcpServers' 字段下添加 'postgres' 服务器的配置信息:
{ "mcpServers": { "postgres": { "command": "postgres-mcp" } } }
配置参数说明:
- 'mcpServers': 定义 MCP 服务器的列表。可以配置多个不同类型的 MCP 服务器。
- 'postgres': 为当前配置的 Postgres MCP 服务器自定义的名称,客户端通过此名称引用该服务器。
- 'command': 指定启动 Postgres MCP 服务器的命令。这里设置为 'postgres-mcp',表示直接运行已安装的可执行文件。
注意:
- 确保 'postgres-mcp' 命令在系统 PATH 环境变量中可访问,或者在此处提供 'postgres-mcp' 可执行文件的完整路径。
- 'args' 字段可以用于传递额外的命令行参数给 'postgres-mcp' 服务器,本例中没有额外的参数。
基本使用方法
- 启动服务器:配置完成后,MCP 客户端在启动时会自动根据配置启动 Postgres MCP Server。服务器程序将在后台运行,并通过标准输入/输出 (stdio) 与客户端进行通信。
- 注册数据库连接:客户端通过调用 'register' 工具注册 PostgreSQL 数据库连接,需要提供数据库连接字符串。成功注册后,服务器会返回连接 ID。
- 执行数据库操作:使用连接 ID 和相应的工具(如 'query', 'insert', 'update', 'delete', 'create_table' 等)来执行各种数据库操作。具体的工具名称和参数可以参考仓库的 README 文档或源代码。
- 注销数据库连接:当不再需要与数据库交互时,客户端可以调用 'unregister' 工具并提供连接 ID 来注销连接。
通过以上步骤,LLM 应用即可利用 Postgres MCP Server 提供的工具,以安全、标准化的方式与 PostgreSQL 数据库进行交互,实现数据查询、管理和数据库结构操作等功能。
信息
分类
数据库与文件