MCP Postgres Query Server

MCP Postgres Query Server

site icon
2025.04.13 0
TypeScriptPostgreSQL 查询只读数据库访问MCP 协议实现数据库
MCP Postgres Query Server 是一个基于 Model Context Protocol (MCP) 的服务器实现,专门用于以只读模式查询 PostgreSQL 数据库。该服务旨在与 Claude Desktop 和其他 MCP 客户端协同工作,提供安全、高效的数据库查询功能。
View on GitHub

Overview

基本能力

产品定位

MCP Postgres Query Server 是一个专门为 PostgreSQL 数据库提供只读查询服务的 MCP 服务器实现。

核心功能

  1. 只读数据库访问:仅允许执行 SELECT 查询,确保数据库安全
  2. 查询验证:防止潜在有害的 SQL 操作
  3. 超时保护:自动终止运行超过 10 秒的查询
  4. MCP 协议支持:完整实现 Model Context Protocol
  5. JSON 响应格式化:查询结果以结构化 JSON 格式返回

适用场景

  1. 需要安全访问 PostgreSQL 数据库的只读查询场景
  2. 与 Claude Desktop 集成的数据库查询需求
  3. 需要限制查询时间和类型的应用场景

工具列表

query-postgres

  • 能力:执行针对配置的 PostgreSQL 数据库的只读 SQL 查询
  • 参数query (字符串) - 要执行的 SQL SELECT 查询
  • 响应:包含 rows(结果集行)、rowCount(返回行数)和 fields(列元数据)的 JSON 对象

常见问题解答

  1. 如何配置 Claude Desktop 连接:通过编辑 claude_desktop_config.json 文件,在 mcpServers 部分添加 postgres-query-server 配置
  2. 如何更新配置:修改配置文件后需要重启 Claude Desktop
  3. 如何修改查询超时时间:需要修改服务器代码中的超时设置

使用教程

使用依赖

  • Node.js (v14 或更高版本)
  • npm (随 Node.js 一起安装)
  • PostgreSQL 数据库

安装教程

# 克隆仓库
git clone https://github.com/RathodDarshil/mcp-postgres-query-server.git
cd mcp-postgres-query-server

# 安装依赖
npm install

# 构建项目
npm run build

调试方式

  1. 修改服务器代码后需要重新构建 (npm run build)
  2. 配置 Claude Desktop 连接后需要重启 Claude Desktop
  3. 查询执行情况可以通过返回的 JSON 结果进行验证

安全考虑

  1. 服务器验证所有查询以确保它们是只读的
  2. 数据库连接使用 SSL
  3. 查询超时防止资源耗尽
  4. 不允许写操作
  5. 数据库凭证通过命令行参数直接传递,不存储在文件中

许可证

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