MCP Server × PostgreSQL on MIMIC‑IV

MCP Server × PostgreSQL on MIMIC‑IV

site icon
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 协议简化开发流程并提升查询效率。

核心功能

  1. 提供基于 MCP 协议的抽象层,简化对 PostgreSQL 数据库的访问。
  2. 支持大规模临床数据集(如 MIMIC-IV)的高效查询。
  3. 提供性能基准测试工具,比较直接 SQL 和 MCP 查询的性能差异。
  4. 支持 Microsoft Entra 认证。
  5. 提供数据加载和基准测试脚本。

适用场景

  1. 大规模临床数据分析。
  2. 需要简化 SQL 开发流程的场景。
  3. 性能敏感的数据分析应用。

工具列表

  1. psycopg[binary]:PostgreSQL 数据库连接库。
  2. pytestpytest-benchmark:性能基准测试工具。
  3. mcp[cli]:MCP 协议命令行工具。
  4. azure-identityazure-mgmt-postgresqlflexibleservers:Azure PostgreSQL 管理工具。

常见问题解答

  1. 如何设置环境变量? 环境变量(PGHOST, PGUSER, PGPASSWORD, PGDATABASE)必须设置或在配置文件中提供。
  2. 如何使用 Microsoft Entra 认证? 设置 AZURE_USE_AAD=True 并提供相应的 Azure 订阅 ID 和资源组。

使用教程

使用依赖

  1. Python 3.10+
  2. Node 18+(可选)
  3. Azure Database for PostgreSQL – Flexible Server(Standard_D4s v5 或更高)
  4. 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

安装教程

  1. 克隆仓库并进入项目目录。
  2. 安装依赖(如上所述)。
  3. 设置环境变量或配置文件。

启动 MCP 服务器:

cd mcp-server
python azure_postgresql_mcp.py

调试方式

  1. 运行直接 SQL 基准测试:
python benchmarks/run_sql.py --query count_emar_detail
  1. 运行 MCP 服务器基准测试:
python benchmarks/run_mcp.py --query count_emar_detail
  1. 生成图表:
jupyter lab notebooks/03_make_plots.ipynb

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。