PostgreSQL数据库协议接口

Postgres MCP是为PostgreSQL数据库实现的模型上下文协议(MCP),提供标准化接口供AI代理通过定义良好的命令集与数据库交互。

  • by tyrchen
  • Rust
  • 混合部署
  • 33 星标
  • 更新于
在 GitHub 查看 tyrchen/postgres-mcp

使用说明

Postgres MCP

Postgres MCP是PostgreSQL数据库的模型上下文协议(MCP)实现。它为AI代理提供了一个标准化的接口,通过一组定义良好的命令与PostgreSQL数据库进行交互。

特性

  • 连接管理

    • 注册和注销数据库连接
    • 支持多个并发数据库连接
    • 连接池实现高效的资源管理
  • 数据库操作

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

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

安装

cargo install postgres-mcp

用法

配置

将以下内容添加到MCP配置文件中:

{
  "mcpServers": {
    "postgres": {
      "command": "postgres-mcp",
      "args": ["stdio"]
    }
  }
}

或在SSE模式下运行:

首先,启动 postgres-mcp SSE模式下的服务器:

postgres-mcp sse

然后,配置MCP配置文件以使用SSE模式:

{
  "mcpServers": {
    "postgres": {
      "url": "http://localhost:3000/sse"
    }
  }
}

一旦你开始 postgres-mcp 服务器,您应该看到MCP配置的状态为绿色,如下(光标):

然后你可以通过代理与它交互,就像这样(光标):

命令

注册数据库连接

pg_mcp register "postgres://postgres:postgres@localhost:5432/postgres"
# Returns a connection ID (UUID)

注销连接

pg_mcp unregister <connection_id>

执行SELECT查询

pg_mcp query <connection_id> "SELECT * FROM users"

插入数据

pg_mcp insert <connection_id> "INSERT INTO users (name, email) VALUES ('John Doe', 'john.doe@example.com')"

更新数据

pg_mcp update <connection_id> "UPDATE users SET name = 'Jane Doe' WHERE id = 1"

删除数据

pg_mcp delete <connection_id> "users" "1"

创建表

pg_mcp create <connection_id> "CREATE TABLE users (id SERIAL PRIMARY KEY, name VARCHAR(255), email VARCHAR(255))"

删除表

pg_mcp drop <connection_id> "users"

创建索引

pg_mcp create_index <connection_id> "CREATE INDEX idx_users_name ON users (name)"

删除索引

pg_mcp drop_index <connection_id> "idx_users_name"

描述一张桌子

pg_mcp describe <connection_id> "users"

依赖项

  • 锈1.70或更高版本
  • PostgreSQL 12或更高版本
  • 所需防锈板条箱:
    • 总之:1.0
    • 电弧交换:1.7
    • sqlx:0.8(具有“运行时tokio”、“tls-rustls-aws-lc-rs”、“postgres”功能)
    • rmcp:0.1(具有“服务器”、“传输sse服务器”和“传输io”功能)
    • 架构:0.8
    • sql解析器:0.55
    • 东京:1.44

发展

要从源代码构建,请执行以下操作:

git clone https://github.com/yourusername/postgres-mcp.git
cd postgres-mcp
cargo build --release

许可证

MIT许可证。看 许可证.md 了解详情。

贡献

欢迎投稿!请打开问题或提交拉取请求。