pg-mcp
Enables natural language querying of PostgreSQL databases, converting natural language to SQL, executing queries, and providing schema introspection and safety validation.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
pg-mcp: PostgreSQL MCP Server
基于自然语言的 PostgreSQL 查询 MCP 服务。接入 DeepSeek 大模型,自动将自然语言转化为 SQL 并执行。
快速开始
1. 安装
pip install -e .2. 配置
复制 .env.example 为 .env,填写以下必填项:
PG_MCP_DEEPSEEK_API_KEY=sk-your-key
PG_MCP_DATABASES='[{"name":"mydb","dsn":"postgresql://user:pass@localhost:5432/mydb","default":true}]'或单库模式:
PG_MCP_DEEPSEEK_API_KEY=sk-your-key
PG_MCP_DATABASE_URL=postgresql://user:pass@localhost:5432/mydb3. 启动
pg-mcp或
python -m pg_mcp.serverRelated MCP server: nl2sql-mcp
MCP Tool 列表
Tool | 功能 |
| 自然语言 → SQL / 查询结果(核心) |
| 自然语言解释 SQL 功能 |
| 手动刷新数据库 Schema 缓存 |
| 列出所有可访问数据库 |
MCP Client 配置
在 mcp.json 中添加:
{
"mcpServers": {
"pg-mcp": {
"command": "python",
"args": ["-m", "pg_mcp.server"],
"env": {
"PG_MCP_DEEPSEEK_API_KEY": "${DEEPSEEK_API_KEY}",
"PG_MCP_DATABASES": "[{\"name\":\"mydb\",\"dsn\":\"postgresql://user:pass@localhost:5432/mydb\",\"default\":true}]"
}
}
}
}安全
三重防线:
sqlglot AST 分析 — 自动拦截 DDL/DML/DCL 及危险表引用
正则兜底 — 处理解析器无法识别的边界情况
数据库只读用户 — 从数据库层面杜绝写入
Fail-Closed 原则:任何 SQL 解析失败、异常 → 一律拒绝执行,绝不默认放行。
开发
# 安装开发依赖
pip install -e ".[dev]"
# 运行测试
pytest tests/ -v
pytest tests/test_sql_validator.py -v # 安全校验(最重要)
# 跳过集成测试
pytest -m "not integration" -v技术栈
FastMCP 3.4.x — MCP Server 框架
asyncpg — PostgreSQL 异步驱动
sqlglot — SQL 解析与安全校验
DeepSeek (openai SDK) — LLM 生成 SQL
pydantic-settings — 配置管理
structlog — 结构化日志
This server cannot be deployed
Maintenance
Related MCP Connectors
Text-to-SQL MCP server: read-only queries on PostgreSQL, MySQL and SQL Server with your real schema
Hosted PostgreSQL MCP server for Claude, ChatGPT and Cursor, with each action switched per account.
Query PostgreSQL databases in plain English — LLM-generated, safety-validated SQL.
Related MCP Servers
- AlicenseAqualityCmaintenanceAn MCP server that gives AI agents direct read-only access to PostgreSQL databases, enabling natural language analytics through tools for schema exploration, querying, trend analysis, and data quality checks.115MIT
- FlicenseNot gradedqualityFmaintenanceA production-ready MCP server that transforms natural language into safe, executable SQL queries with multi-database support and intelligent schema analysis.1-
- AlicenseNot gradedqualityDmaintenanceA read-only MCP server for PostgreSQL that enables safe database introspection and querying via natural language.522 npmMIT
- AlicenseNot gradedqualityCmaintenanceRead-only Text-to-SQL MCP server for PostgreSQL and MySQL that lets users query databases using natural language, with robust multi-layer safety guarantees against writes.33 npmMIT