Postgres MCP

Postgres MCP

site icon
2025.04.08 14
Rust数据库管理PostgreSQL 接口数据库
Postgres MCP 是一个为 PostgreSQL 数据库设计的 Model Context Protocol (MCP) 实现,它提供了一个标准化的接口,使 AI 代理能够通过一组定义良好的命令与 PostgreSQL 数据库进行交互。
View on GitHub

Overview

基本能力

产品定位

Postgres MCP 是一个为 PostgreSQL 数据库设计的 MCP 实现,旨在为 AI 代理提供一个标准化的接口,以便与 PostgreSQL 数据库进行交互。

核心功能

  • 连接管理
  • 注册和注销数据库连接
  • 支持多个并发数据库连接
  • 连接池管理以提高资源效率

  • 数据库操作

  • 执行 SELECT 查询
  • 插入新记录
  • 更新现有记录
  • 删除记录
  • 创建和删除表
  • 创建和删除索引
  • 描述表结构
  • 列出模式中的表

  • SQL 验证

  • 内置 SQL 解析器用于验证语句
  • 支持 PostgreSQL 特定语法
  • 安全检查以确保仅执行允许的操作

适用场景

  • AI 代理与 PostgreSQL 数据库的交互
  • 数据库管理和操作自动化
  • 数据库连接和查询的标准化接口

工具列表

  • pg_mcp register: 注册数据库连接
  • pg_mcp unregister: 注销连接
  • pg_mcp query: 执行 SELECT 查询
  • pg_mcp insert: 插入数据
  • pg_mcp update: 更新数据
  • pg_mcp delete: 删除数据
  • pg_mcp create: 创建表
  • pg_mcp drop: 删除表
  • pg_mcp create_index: 创建索引
  • pg_mcp drop_index: 删除索引
  • pg_mcp describe: 描述表结构

常见问题解答

  • 如何注册数据库连接?
  • 使用 pg_mcp register 命令并提供数据库 URL。
  • 如何执行查询?
  • 使用 pg_mcp query 命令并提供连接 ID 和 SQL 查询语句。

使用教程

使用依赖

  • Rust 1.70 或更高版本
  • PostgreSQL 12 或更高版本
  • 必要的 Rust 包:
  • anyhow: 1.0
  • arc-swap: 1.7
  • sqlx: 0.8 (带有 "runtime-tokio", "tls-rustls-aws-lc-rs", "postgres" 特性)
  • rmcp: 0.1 (带有 "server", "transport-sse-server", "transport-io" 特性)
  • schemars: 0.8
  • sqlparser: 0.55
  • tokio: 1.44

安装教程

cargo install postgres-mcp

调试方式

  1. 启动 postgres-mcp 服务器:
postgres-mcp sse
  1. 检查 MCP 配置状态是否为绿色。
  2. 使用 pg_mcp 命令进行交互。

许可证

该项目遵循 MIT 开源许可条款。