使用说明
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 了解详情。
贡献
欢迎投稿!请打开问题或提交拉取请求。