Skip to main content
Glama
NetanelBollag

Simple PostgreSQL MCP Server

简单的 PostgreSQL MCP 服务器

这是一个模板项目,适合那些想要搭建自己的 MCP 服务器的人。我把它设计得非常简单易懂,易于上手——代码简洁明了,并附带 MCP 文档,方便您快速上手。

什么是 MCP?

TL;DR - 这是为 AI 编写插件的一种方法

模型上下文协议 (MCP) 是 LLM 与外部工具和数据交互的标准方式。简而言之:

  • 工具允许 LLM 执行命令(例如运行数据库查询)

  • 资源是可以附加到对话的数据(例如将文件附加到提示)

  • 提示是生成一致 LLM 指令的模板

Related MCP server: PostgreSQL MCP Server

特征

该 PostgreSQL MCP 服务器实现:

  1. 工具

    • execute_query ——针对数据库运行 SQL 查询

    • test_connection验证数据库连接是否正常工作

  2. 资源

    • db://tables模式中所有表的列表

    • db://tables/{table_name} - 特定表的架构信息

    • db://schema - 数据库中所有表的完整架构信息

  3. 提示

    • 查询生成模板

    • 分析查询构建器

    • 基于此 repo 中的模板

先决条件

  • Python 3.8+

  • uv - 现代 Python 包管理器和安装程序

  • npx(包含在 Node.js 中)

  • 您可以连接到的 PostgreSQL 数据库

快速设置

  1. 创建虚拟环境并安装依赖项:

    # Create a virtual environment with uv uv venv # Activate the virtual environment source .venv/bin/activate # On Windows: .venv\Scripts\activate # Install dependencies uv pip install -r requirements.txt
  2. 使用 MCP Inspector 运行服务器:

    # Replace with YOUR actual database credentials npx @modelcontextprotocol/inspector uv --directory . run postgres -e DSN=postgresql://username:password@hostname:port/database -e SCHEMA=public

    注意:如果这是您第一次运行 npx,系统将提示您批准安装。输入“y”继续。

    运行此命令后,您将看到浏览器中启动了 MCP Inspector 界面。您应该会看到如下消息:

    MCP Inspector is up and running at http://localhost:5173

    如果浏览器没有自动打开,请复制并粘贴 URL 到浏览器中。你应该会看到类似这样的内容:MCP 检查器界面

  3. 使用检查器:

    • 点击界面上的“连接”按钮(除非左下方控制台有错误信息)

    • 探索“工具”、“资源”和“提示”选项卡以查看可用的功能

    • 尝试单击列出的命令或输入资源名称来检索资源和提示

    • 该界面允许您测试查询并查看 MCP 服务器如何响应

  4. 看看官方文档

    官方服务器开发者指南: https://modelcontextprotocol.io/quickstart/server

    有关检查器的更多信息: https://modelcontextprotocol.io/docs/tools/inspector

将您的AI工具连接到服务器

您可以通过创建 MCP 配置文件来为您的 AI 助手配置 MCP 服务器:

{ "mcpServers": { "postgres": { "command": "/path/to/uv", "args": [ "--directory", "/path/to/simple-psql-mcp", "run", "postgres" ], "env": { "DSN": "postgresql://username:password@localhost:5432/my-db", "SCHEMA": "public" } } } }

或者,您可以使用包含的脚本生成此配置文件:

# Make the script executable chmod +x generate_mcp_config.sh # Run the configuration generator ./generate_mcp_config.sh

出现提示时,输入您的 PostgreSQL DSN 和架构名称。

如何使用

现在,您可以使用自然语言向 LLM 询问有关您的数据的问题:

  • “我的数据库中有哪些表?”

  • “按创建日期显示前 5 名用户”

  • “按州统计地址”

为了进行测试,Claude Desktop 原生支持 MCP,并且开箱即用所有功能(工具、资源和提示)。

示例数据库(可选)

如果您没有准备好数据库或遇到连接问题,您可以使用附带的示例数据库:

# Make the script executable chmod +x example-db/create-db.sh # Run the database setup script ./example-db/create-db.sh

此脚本会创建一个 Docker 容器,其中包含一个预先填充了示例用户和地址表的 PostgreSQL 数据库。运行后,您可以使用以下命令进行连接:

npx @modelcontextprotocol/inspector uv --directory . run postgres -e DSN=postgresql://postgres:postgres@localhost:5432/user_database -e SCHEMA=public

后续步骤

要使用您自己的 MCP 服务器扩展此项目:

  1. /src下创建一个新目录(例如/src/my-new-mcp

  2. 按照 PostgreSQL 示例实现您的 MCP 服务器

  3. 将新的 MCP 添加到pyproject.toml

[project.scripts] postgres = "src.postgres:main" my-new-mcp = "src.my-new-mcp:main"

然后,您可以使用以下命令运行新的 MCP:

npx @modelcontextprotocol/inspector uv --directory . run my-new-mcp

文档

安全

这是一个实验性项目,旨在帮助开发者创建自己的 MCP 服务器。我做了一些最低限度的设置,以确保它在你尝试时不会立即崩溃,但请小心——使用此工具很容易进行 SQL 注入。服务器会检查查询是否以 SELECT 开头,但除此之外,没有任何保证。简而言之,除非你是创始人并且没有付费客户,否则不要在生产环境中运行。

执照

麻省理工学院

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/NetanelBollag/simple-psql-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server