PostgreSQL管理查询工具

一个基于Python的轻量级MCP服务器,用于管理和查询PostgreSQL数据库,支持通过MCP客户端进行搜索和添加记录操作。

  • by cruelkratos
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 cruelkratos/dbms-mcp-server

使用说明

db-mcp

用于管理和查询PostgreSQL数据库的最小Python MCP服务器。此项目使用存储库模式进行数据库访问,并公开端点以搜索和添加记录到 person 桌子。专为与Claude MCP客户端集成而设计。

这主要是一个有趣的副项目,在一天内完成,而不是一个生产就绪的MCP服务器,我想看看如何使用Copilot或Claude Desktop(或Cursor)像MCP客户端一样实际交互和调用工具(在这种情况下是一个简单的POSTGRESQL调用),这对我来说是一次有趣的学习经历:)


特性

  • 通过环境变量集成PostgreSQL
  • 用于干净数据库逻辑的存储库模式
  • 用于搜索和添加操作的MCP工具端点
  • 简单的配置和测试脚本

入门指南

先决条件

  • Python 3.11+
  • PostgreSQL服务器正在运行
  • Claude MCP客户端(可选)

安装

git clone https://github.com/cruelkratos/dbms-mcp-server.git
cd db-mcp
uv sync

配置

创建一个 .env 项目根目录中的文件:

POSTGRES_DATABASE=postgres
POSTGRES_USER=postgres
POSTGRES_PASSWORD=yourpassword
POSTGRES_HOST=localhost
POSTGRES_PORT=5432

确保数据库中有一个名为的表 person 带列: id, name, age, gender.

确保更新MCP客户端的JSON以连接到此MCP服务器(以下是claude桌面的示例)

{
  "mcpServers": {
    "db_mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "path\\to\\repo\\db_mcp",
        "run",
        "main.py"
      ]
    }
  }
}

运行服务器

uv run main.py

用法

端点公开用于:

  • 按姓名查找某人
  • 按ID查找某人
  • 添加新用户

使用Claude MCP客户端或HTTP请求进行交互。


示例截图


项目结构

db_mcp/
├── main.py
├── repository.py
├── server.py
├── tools/
│   ├── controller.py
│   └── dbms.py
├── .env
├── test_db.py
├── test_dbms.py
├── test_mcp.py
└── README.md

测试

python test_db.py
python test_dbms.py
python test_mcp.py

许可证

MIT许可证


鸣谢

MCP文件

由残酷克瑞托斯开发😽