项目简介

Postgres MCP Server 是一个实现了 Model Context Protocol (MCP) 的服务器,它允许 AI 智能体通过标准化的接口与 PostgreSQL 数据库进行交互。通过提供一系列预定义的工具,该服务器使得 LLM 应用能够安全、高效地访问和操作 PostgreSQL 数据库,从而扩展 LLM 的上下文信息处理和功能执行能力。

主要功能点

  • 连接管理:支持注册和注销 PostgreSQL 数据库连接,管理多个并发连接,并提供连接池以优化资源利用。
  • 数据库操作:提供丰富的数据库操作工具,包括执行 SELECT 查询、插入、更新和删除数据记录,以及创建和删除表、索引等数据库结构。
  • SQL 验证:内置 SQL 解析器,用于验证和安全检查 SQL 语句,防止执行未授权的操作,保障数据库安全。
  • 标准化接口:遵循 MCP 协议,提供标准化的 JSON-RPC 接口,易于与各种 MCP 客户端集成。

安装步骤

  1. 安装 Rust 环境:确保你的系统中已安装 Rust 编程语言和 Cargo 包管理器。如果未安装,请访问 Rust 官网 按照指引进行安装。
  2. 安装 'postgres-mcp':打开终端,执行以下 Cargo 命令即可安装 'postgres-mcp' 服务器程序:
    cargo install postgres-mcp
    安装完成后,'postgres-mcp' 命令将被添加到你的系统 PATH 环境变量中。

服务器配置

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' 服务器,本例中没有额外的参数。

基本使用方法

  1. 启动服务器:配置完成后,MCP 客户端在启动时会自动根据配置启动 Postgres MCP Server。服务器程序将在后台运行,并通过标准输入/输出 (stdio) 与客户端进行通信。
  2. 注册数据库连接:客户端通过调用 'register' 工具注册 PostgreSQL 数据库连接,需要提供数据库连接字符串。成功注册后,服务器会返回连接 ID。
  3. 执行数据库操作:使用连接 ID 和相应的工具(如 'query', 'insert', 'update', 'delete', 'create_table' 等)来执行各种数据库操作。具体的工具名称和参数可以参考仓库的 README 文档或源代码。
  4. 注销数据库连接:当不再需要与数据库交互时,客户端可以调用 'unregister' 工具并提供连接 ID 来注销连接。

通过以上步骤,LLM 应用即可利用 Postgres MCP Server 提供的工具,以安全、标准化的方式与 PostgreSQL 数据库进行交互,实现数据查询、管理和数据库结构操作等功能。

信息

分类

数据库与文件