简单的 PostgreSQL MCP 服务器
这是一个模板项目,适合那些想要搭建自己的 MCP 服务器的人。我把它设计得非常简单易懂,易于上手——代码简洁明了,并附带 MCP 文档,方便您快速上手。
什么是 MCP?
TL;DR - 这是为 AI 编写插件的一种方法
模型上下文协议 (MCP) 是 LLM 与外部工具和数据交互的标准方式。简而言之:
工具允许 LLM 执行命令(例如运行数据库查询)
资源是可以附加到对话的数据(例如将文件附加到提示)
提示是生成一致 LLM 指令的模板
Related MCP server: PostgreSQL MCP Server
特征
该 PostgreSQL MCP 服务器实现:
工具
execute_query——针对数据库运行 SQL 查询test_connection验证数据库连接是否正常工作
资源
db://tables模式中所有表的列表db://tables/{table_name}- 特定表的架构信息db://schema- 数据库中所有表的完整架构信息
提示
查询生成模板
分析查询构建器
基于此 repo 中的模板
先决条件
Python 3.8+
uv - 现代 Python 包管理器和安装程序
npx(包含在 Node.js 中)
您可以连接到的 PostgreSQL 数据库
快速设置
创建虚拟环境并安装依赖项:
# 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使用 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 服务器如何响应
看看官方文档
官方服务器开发者指南: https://modelcontextprotocol.io/quickstart/server
有关检查器的更多信息: https://modelcontextprotocol.io/docs/tools/inspector
将您的AI工具连接到服务器
您可以通过创建 MCP 配置文件来为您的 AI 助手配置 MCP 服务器:
或者,您可以使用包含的脚本生成此配置文件:
出现提示时,输入您的 PostgreSQL DSN 和架构名称。
如何使用
现在,您可以使用自然语言向 LLM 询问有关您的数据的问题:
“我的数据库中有哪些表?”
“按创建日期显示前 5 名用户”
“按州统计地址”
为了进行测试,Claude Desktop 原生支持 MCP,并且开箱即用所有功能(工具、资源和提示)。
示例数据库(可选)
如果您没有准备好数据库或遇到连接问题,您可以使用附带的示例数据库:
此脚本会创建一个 Docker 容器,其中包含一个预先填充了示例用户和地址表的 PostgreSQL 数据库。运行后,您可以使用以下命令进行连接:
后续步骤
要使用您自己的 MCP 服务器扩展此项目:
在
/src下创建一个新目录(例如/src/my-new-mcp)按照 PostgreSQL 示例实现您的 MCP 服务器
将新的 MCP 添加到
pyproject.toml:
然后,您可以使用以下命令运行新的 MCP:
文档
包含 MCP 文档,方便 LLM 开发
基于以下方法:https: //modelcontextprotocol.io/tutorials/building-mcp-with-llms
安全
这是一个实验性项目,旨在帮助开发者创建自己的 MCP 服务器。我做了一些最低限度的设置,以确保它在你尝试时不会立即崩溃,但请小心——使用此工具很容易进行 SQL 注入。服务器会检查查询是否以 SELECT 开头,但除此之外,没有任何保证。简而言之,除非你是创始人并且没有付费客户,否则不要在生产环境中运行。
执照
麻省理工学院