
MCP Server × PostgreSQL on MIMIC‑IV

2025.04.20
0
Python临床数据分析PostgreSQL 中间件性能优化数据库开发效率
mimic-mcp-server 是一个基于 PostgreSQL 的 MCP(Model Context Protocol)服务器,旨在通过抽象层简化大规模临床数据分析的开发流程,同时保持或提升运行时效率。该项目专注于在 MIMIC-IV 临床数据集上比较直接 SQL 查询与 MCP 服务器查询的性能和开发效率。
View on GitHub
Overview
基本能力
产品定位
mimic-mcp-server 是一个用于大规模临床数据分析的中间件,旨在通过 MCP 协议简化开发流程并提升查询效率。
核心功能
- 提供基于 MCP 协议的抽象层,简化对 PostgreSQL 数据库的访问。
- 支持大规模临床数据集(如 MIMIC-IV)的高效查询。
- 提供性能基准测试工具,比较直接 SQL 和 MCP 查询的性能差异。
- 支持 Microsoft Entra 认证。
- 提供数据加载和基准测试脚本。
适用场景
- 大规模临床数据分析。
- 需要简化 SQL 开发流程的场景。
- 性能敏感的数据分析应用。
工具列表
psycopg[binary]
:PostgreSQL 数据库连接库。pytest
和pytest-benchmark
:性能基准测试工具。mcp[cli]
:MCP 协议命令行工具。azure-identity
和azure-mgmt-postgresqlflexibleservers
:Azure PostgreSQL 管理工具。
常见问题解答
- 如何设置环境变量?
环境变量(
PGHOST
,PGUSER
,PGPASSWORD
,PGDATABASE
)必须设置或在配置文件中提供。 - 如何使用 Microsoft Entra 认证?
设置
AZURE_USE_AAD=True
并提供相应的 Azure 订阅 ID 和资源组。
使用教程
使用依赖
- Python 3.10+
- Node 18+(可选)
- Azure Database for PostgreSQL – Flexible Server(Standard_D4s v5 或更高)
- MIMIC-IV 凭证和数据下载权限
安装依赖命令:
# core libs
pip install psycopg[binary] rich click pandas matplotlib
# benchmarking
pip install httpx pytest pytest-benchmark
# MCP server
pip install mcp[cli] azure-identity azure-mgmt-postgresqlflexibleservers
安装教程
- 克隆仓库并进入项目目录。
- 安装依赖(如上所述)。
- 设置环境变量或配置文件。
启动 MCP 服务器:
cd mcp-server
python azure_postgresql_mcp.py
调试方式
- 运行直接 SQL 基准测试:
python benchmarks/run_sql.py --query count_emar_detail
- 运行 MCP 服务器基准测试:
python benchmarks/run_mcp.py --query count_emar_detail
- 生成图表:
jupyter lab notebooks/03_make_plots.ipynb