PostgreSQL数据库查询服务器

一个用于查询PostgreSQL数据库的MCP服务器,提供CSV导入工具和完整的数据库结构。

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

使用说明

Aligneurs MCP服务器

模型上下文协议(MCP)服务器,用于使用CSV导入工具查询PostgreSQL对齐器活动数据库。

🚀 铁路上的快速部署

单击上面的按钮或按照指南操作 仓库_铁路.md

📋 功能

  • MCP服务器 使用7个工具查询PostgreSQL数据库
  • 优化CSV导入 到PostgreSQL(156k+行)
  • PostgreSQL模式 完整的活动数据
  • 可在铁路上部署 一次点击

数据库结构

数据库使用以下表重建原始PostgreSQL结构:

主表

  • 活动 :包含所有活动和基本信息的主表

详细信息表(通过元数据链接)

  • af_setups :AF设置的详细信息
  • 治疗 :治疗详情
  • 发票 :发票详情
  • 侍从 :争议详情
  • 处方 :处方详情(使用jsonb表示clinic-objects和clinical-preference)

先决条件

  1. PostgreSQL已安装并正在运行
  2. Python 3.x与Psycopg2
pip install psycopg2-binary

配置

铁路配置已在中预先配置 import_csv_to_postgres.py :

DB_CONFIG = {
    'dbname': 'railway',
    'user': 'postgres',
    'password': 'UqtALrZoRLKifgxpMKUhVcfBYGOIdRDK',
    'host': 'crossover.proxy.rlwy.net',
    'port': '12593'
}

安装

选项1:自动脚本(推荐)

# Rendre le script exécutable
chmod +x setup_railway.sh

# Lancer le script qui crée le schéma et importe les données
./setup_railway.sh

选项2:手动步骤

1.在铁路上创建图表

PGPASSWORD=UqtALrZoRLKifgxpMKUhVcfBYGOIdRDK psql \
  -h crossover.proxy.rlwy.net \
  -p 12593 \
  -U postgres \
  -d railway \
  -f schema.sql

2.导入数据

python3 import_csv_to_postgres.py

使用

导入完成后,您可以查询数据:

-- Nombre total d'activités
SELECT COUNT(*) FROM activities;

-- Activités par type
SELECT activity_type, COUNT(*) 
FROM activities 
GROUP BY activity_type 
ORDER BY COUNT(*) DESC;

-- AF Setups avec leurs activités
SELECT a.activity_id, a.description, af.name, af.state, af.price
FROM activities a
JOIN af_setups af ON a.activity_id = af.activity_id
LIMIT 10;

-- Traitements par dentiste
SELECT dentist_first_name, dentist_last_name, COUNT(*) as nb_treatments
FROM activities
WHERE treatment_id IS NOT NULL
GROUP BY dentist_first_name, dentist_last_name
ORDER BY nb_treatments DESC;

-- Factures avec montants
SELECT i.title, i.total_ttc, i.status, a.date_activity
FROM invoices i
JOIN activities a ON i.activity_id = a.activity_id
ORDER BY a.date_activity DESC
LIMIT 10;

CSV源结构

CSV文件包含156937行和22个主列。柱子 Meta Data 包含一个JSON对象,该对象根据对象类型分解为详细信息表(object_name).

备注

  • 脚本处理重复项 ON CONFLICT DO NOTHING
  • 法语日期自动转换
  • 带逗号的数字解析正确
  • 处方中的JSONB字段允许高级查询
  • 导入以1000行为一批进行,以优化性能