Mcp Postgresql Demo

Mcp Postgresql Demo

🚀 MCP PostgreSQL 演示

本项目是一个 FastMCP 服务器,可让大型语言模型(LLMs)连接并与 PostgreSQL 数据库进行交互。它展示了如何利用模型上下文协议(MCP),使语言模型能够查询和探索数据库架构与表格。

✨ 主要特性

  • 架构探索:可检索有关数据库架构的元数据。
  • 表检查:能获取特定表的详细结构信息。
  • 数据库查询:可对数据库执行 SQL 查询。
  • YAML 格式:结果以 YAML 格式返回,方便 LLM 消费。

📦 安装指南

先决条件

  • Python 3.12 或更高版本
  • PostgreSQL 数据库
  • UV 包管理器(推荐)

安装步骤

  1. 克隆仓库:
git clone 
cd mcp-demo
  1. 创建虚拟环境:
python -m venv .venv
source .venv/bin/activate  # 在 Windows 上:.venv\Scripts\activate
  1. 安装 UV(如果尚未安装):
pip install uv
  1. 使用 UV 安装依赖:
uv sync
  1. 配置环境变量:
  • 复制 .env.example.env
  • 根据 PostgreSQL 配置更新值

📚 详细文档

资源

服务器公开以下 MCP 资源:

  • database://{schema} - 获取指定架构中所有表格的信息
  • database://{schema}/tables/{table} - 获取特定表的详细信息

工具

  • query_database - 对数据库执行 SQL 查询(仅限 SELECT 查询)

提示

服务器包含以下预定义提示:

  • prompt_schema_description - 请求某个数据库架构的描述
  • prompt_table_description - 请求某个特定表格的描述
  • prompt_query_database - 请求从特定表中获取数据

配置

应用程序使用以下环境变量进行配置:

变量名 描述 默认值
APP_NAME 应用程序名称 mcp-demo
DB_HOST PostgreSQL 主机 localhost
DB_PORT PostgreSQL 端口 5432
DB_USER PostgreSQL 用户名 postgres
DB_PASSWORD PostgreSQL 密码 postgres
DB_NAME PostgreSQL 数据库名 postgres

💻 使用示例

基础用法

  1. 首先,在 src/main.py 文件底部,取消注释以下内容以启用调试模式:
# from debugpy import _input, _output
  1. 现在你可以运行项目了。

高级用法

如果你想使用 Docker 运行项目,可以按照以下步骤操作:

  1. 将项目文件夹压缩为 .tar.gz 文件:
tar -czvf mcp-demo.tar.gz .
  1. 使用以下 Dockerfile 构建镜像:
# 基础镜像
FROM python:3.8-slim

# 作者信息
LABEL maintainer="Ricardo Santos "

# 安装依赖
EXPOSE 5000
RUN mkdir -p /app
WORKDIR /app
COPY . .
RUN pip install --no-cache-dir -r requirements.txt

# 运行命令
CMD ["python", "main.py"]
  1. 构建镜像并运行:
docker build -t mcp-demo:latest .
docker run -p 5000:5000 --name mcp_demo mcp-demo:latest

📄 许可证

[在此处添加你的许可信息]

贡献者

  • Ricardo Santos ricardo.santos.diaz@gmail.com
  • 0 关注
  • 0 收藏,10 浏览
  • system 提出于 2025-09-23 22:27

相似服务问题

相关AI产品