Token导航 LogoToken导航

MCP Server · 数据服务

mcpg (Compilotbv)

PostgreSQL MCP Server 是一个基于 Python、FastAPI 和 Docker 构建的协议服务器,提供 HTTP/SSE 传输、API 密钥认证、查询执行、模式管理、数据操作、用户管理和数据库维护等功能,适用于远程部署和云平台。

stdio官方级别未说明来源级核验工具 28
数据分析远程访问PythonCursor

快速开始

作者 / 组织
reckersai
提供方
reckersai
运行时
Python

工具数量

28

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

mcpg (Compilotbv) 属于数据服务类 MCP Server,公开资料标注 28 个工具,通过stdio 本地进程接入,适配 Cursor,有可以直接复制的安装命令;接入前要先准备 API Key。

分类

数据服务

传输方式

stdio

认证方式

API Key

部署方式

公开资料未说明

安装与配置

安装命令

python3 -c "import secrets; print(secrets.token_urlsafe(32))"

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 28 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

PostgreSQL MCP服务器

PostgreSQL的模型上下文协议服务器,具有用于远程部署的HTTP/SSE传输。使用Python、FastAPI和Docker为Elestio或任何云平台构建。

特性

  • HTTP/SSE传输:通过HTTPS进行远程访问
  • API密钥验证:安全访问控制
  • 查询执行:使用自然语言执行SELECT查询
  • 模式管理:创建、更改和删除表和索引
  • 数据操作:插入、更新和删除数据
  • 用户管理:创建用户和管理权限
  • 数据库维护:VACUUM、备份和连接管理
  • 安全:只读模式、连接池和查询超时

快速开始

1.构建Docker镜像

docker build -t postgresql-mcp-server .

2.配置环境

生成API密钥:

python3 -c "import secrets; print(secrets.token_urlsafe(32))"

复制 .env.example 到 .env 并更新:

cp .env.example .env
# Edit .env with your PostgreSQL and API key

3.使用Docker Compose运行

docker-compose up -d

服务器将在 http://localhost:3000

4.配置游标IDE

添加到光标MCP设置:

{
  "mcpServers": {
    "postgresql": {
      "url": "https://your-server.com:3000",
      "headers": {
        "Authorization": "Bearer your_api_key"
      }
    }
  }
}

看 ELESTIO_DEPLOY.md 用于部署指南。

可用工具

查询工具

  • execute_query -运行SELECT查询
  • execute_explain -获取查询执行计划
  • list_databases -列出所有数据库
  • list_tables -列出架构中的表
  • list_columns -显示列信息
  • get_table_info -获取详细的表元数据
  • get_database_size -获取数据库和表大小

模式管理(DDL)

  • create_table -创建新表
  • drop_table -删除表
  • alter_table -修改表结构
  • create_index -创建索引
  • drop_index -删除索引
  • get_table_ddl -生成CREATE TABLE语句

数据操作(DML)

  • insert_data -插入单行
  • bulk_insert -插入多行
  • update_data -更新行
  • delete_data -删除行

用户管理(DCL)

  • list_users -列出数据库用户
  • create_user -创建新用户
  • grant_permissions -授予特权
  • revoke_permissions -撤销特权
  • list_permissions -显示用户权限

维护

  • vacuum_analyze -运行真空分析
  • backup_database -创建pg_dump备份
  • restore_database -从备份还原
  • kill_connections -终止连接
  • get_active_connections -显示活动连接
  • test_connection -测试数据库连接

使用示例

在Cursor中配置后,自然地与数据库交互:

"Show me all tables in the database"
"What's the structure of the users table?"
"Find the top 10 customers by order count"
"Create a products table with id, name, and price columns"
"Insert a new user with email test@example.com"
"Show me all database users and their permissions"

配置选项

环境变量:

  • POSTGRES_HOST -数据库主机(默认:localhost)
  • POSTGRES_PORT -数据库端口(默认值:5432)
  • POSTGRES_DB -数据库名称
  • POSTGRES_USER -数据库用户
  • POSTGRES_PASSWORD -数据库密码
  • POSTGRES_READONLY -只读模式(默认值:false)
  • POSTGRES_SSLMODE -SSL模式(默认:首选)
  • POSTGRES_POOL_MIN -最小连接数(默认值:1)
  • POSTGRES_POOL_MAX -最大连接数(默认值:10)
  • QUERY_TIMEOUT -查询超时(秒)(默认值:30)

安全最佳实践

  1. 使用环境变量 对于凭据,永远不要硬编码
  2. 启用只读模式 用于勘探: POSTGRES_READONLY=true
  3. 创建专用用户 具有最低限度的所需权限
  4. 使用SSL连接 用于生产: POSTGRES_SSLMODE=require
  5. 设置查询超时 防止长时间运行的查询
  6. 限制连接池 根据您的数据库容量

部署选项

选项1:使用Docker Compose(推荐)

编辑 .env 使用您的PostgreSQL凭据:

docker-compose up -d

选项2:直接运行Docker

docker run -i --rm \
  -e POSTGRES_HOST=your_host \
  -e POSTGRES_PORT=5432 \
  -e POSTGRES_DB=your_db \
  -e POSTGRES_USER=your_user \
  -e POSTGRES_PASSWORD=your_password \
  postgresql-mcp-server

项目结构

mcpg/
├── src/postgresql_mcp_server/
│   ├── __init__.py
│   ├── server.py              # Main MCP server
│   ├── db_manager.py           # Connection management
│   ├── query_executor.py       # Query execution
│   ├── schema_manager.py       # DDL operations
│   ├── data_manager.py         # DML operations
│   ├── user_manager.py         # User management
│   └── maintenance_manager.py  # Maintenance tools
├── Dockerfile
├── docker-compose.yml
├── requirements.txt
├── .env.example
├── cursor-mcp-config.json
├── CURSOR_SETUP.md
└── README.md

故障排除

连接问题

  1. 验证PostgreSQL是否可访问:
   docker run -it --rm postgres:16-alpine psql -h host.docker.internal -U user -d db
  1. 检查容器到容器通信的Docker网络设置
  1. 查看游标日志中的MCP错误

权限错误

  • 验证数据库用户是否具有所需的权限
  • 检查PostgreSQL pg_hba.conf以获取访问规则
  • 使用 test_connection 诊断工具

Docker问题

  • 确保Docker守护进程正在运行
  • 检查端口冲突(5432)
  • 验证映像是否已构建: docker images | grep postgresql-mcp-server

发展

需求

  • Python 3.11+
  • PostgreSQL 12+
  • Docker 20.10+

本地开发

# Install dependencies
pip install -r requirements.txt

# Set environment variables
export POSTGRES_HOST=localhost
export POSTGRES_PORT=5432
# ... other vars

# Run directly
python -m src.postgresql_mcp_server.server

许可证

MIT许可证-有关详细信息,请参阅许可证文件

贡献

欢迎投稿!请打开问题或PR。

支持

对于问题和疑问:

其他文件

工具与能力

工具数量

28

资源数量

0

提示词数量

0

能力标签

PostgreSQLPython本地部署数据库管理远程访问HTTP/SSEAPI认证

支持客户端

Cursor

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

用自然语言查库

不用手写 SQL,直接问数据,让模型组织查询语句。

数据巡检

定期拉指标、做对比,把异常项整理成一段说明。

打通业务数据

把数据库、数仓和接口接进同一个上下文,减少导出再上传。

选择建议

值得选的地方

  • 工具数量 28 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 需要自备API Key,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在数据服务场景里让模型直接调用外部能力的人。
  • 已经在用 Cursor 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到API Key的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
mcpg (Compilotbv)

MCP World · 本页

28stdio有1 个2026-05-17
Memory 9d25f64e

MCP World

9未说明未标注1 个2026-05-17
Prisma MCP Server

MCP World

0stdio有3 个2026-05-17
Astr Bot

MCP World

0stdio有1 个2026-05-17
Getzep MCP

MCP World

9stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

mcpg (Compilotbv) 怎么安装?

公开资料给出的安装命令是 python3 -c "import secrets; print(secrets.token_urlsafe(32))",运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

mcpg (Compilotbv) 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

mcpg (Compilotbv) 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

mcpg (Compilotbv) 需要 API Key 吗?

公开资料标注的认证方式是API Key,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

mcpg (Compilotbv) 支持哪些客户端?

公开资料标注支持 Cursor;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP