使用说明(Markdown 格式)

  • 项目简介 QueryGenie PostgreSQL MCP Server 是一个将 PostgreSQL 以只读方式暴露给大语言模型(LLM)的后端服务。它实现了 MCP 服务器端,注册了数据库发现、模式描述、查询、监控等工具,LLM 客户端可通过 MCP 协议以 JSON-RPC 风格的请求获取资源、调用工具并获取 Prompt/模板渲染等支持。

  • 主要功能点

    • MCP 服务器核心能力:注册工具、处理工具调用、返回统一的JSON-RPC 响应,支持会话与多数据库上下文。
    • 只读数据库访问:通过 mcp_postgres 提供对 PostgreSQL 的只读查询、描述与数据预览等能力,包含安全性校验。
    • 工具集成:包括 discovery(列数据库/表)、schema(描述表结构、注释、索引、外键、表注释)、query(执行查询、数据采样、行数、执行计划)以及监控工具。
    • 安全与健壮性:内置输入校验、SQL 注入防护、SQL 语句注释和权限控制,日志与健康检查。
    • 可扩展的架构:可通过 MCP 客户端扩展工具列表、支持多数据库场景和插件化工具。
  • 安装步骤

    • 使用 Docker Compose 一键启动(快速体验);
    • 或在本地环境中逐步启动:准备 PostgreSQL、Redis,配置环境变量后启动 MCP 服务器。
  • 服务器配置(供 MCP 客户端使用的运行信息,JSON 格式) 服务器名称: PostgreSQL MCP Server 启动命令示例(客户端无需关注实现细节,描述用于理解): { "server_name": "PostgreSQL MCP Server", "command": ["python", "-m", "mcp_postgres.src.server"], "args": [] } 注:MCP 客户端本身不需要具体代码,仅需知道服务器名称与启动方式即可连接并使用工具。

  • 基本使用方法

    1. 启动服务:按照仓库提供的 docker-compose 或本地启动方式,将 MCP 服务启动并监听在端口 8000(默认)。
    2. 连接与调用:LLM 客户端通过 MCP 协议请求注册的工具(如 list_databases、describe_table、query 等),获取资源、执行只读查询并渲染结果。
    3. 日志与监控:利用内置监控与健康检查,确保数据库连接与工具可用性。
    4. 安全性:输入的查询和描述经过严格的只读与安全校验,防止SQL注入与未授权操作。
  • 运行与扩展注意点

    • 需要至少一个 DATABASE_URL 配置,示例环境变量 DATABASE{N}_URL 指向 PostgreSQL 数据库实例。
    • MCP 客户端在生产环境中应使用合适的传输方式(如 Streamable HTTP)与安全的访问控制。

信息

分类

数据库与文件