本项目是一个 FastMCP 服务器,可让大型语言模型(LLMs)连接并与 PostgreSQL 数据库进行交互。它展示了如何利用模型上下文协议(MCP),使语言模型能够查询和探索数据库架构与表格。
git clone
cd mcp-demo
python -m venv .venv
source .venv/bin/activate # 在 Windows 上:.venv\Scripts\activate
pip install uv
uv sync
.env.example 到 .env服务器公开以下 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 |
src/main.py 文件底部,取消注释以下内容以启用调试模式:# from debugpy import _input, _output
如果你想使用 Docker 运行项目,可以按照以下步骤操作:
.tar.gz 文件:tar -czvf mcp-demo.tar.gz .
# 基础镜像
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"]
docker build -t mcp-demo:latest .
docker run -p 5000:5000 --name mcp_demo mcp-demo:latest
[在此处添加你的许可信息]