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

🚀 铁路上的快速部署
单击上面的按钮或按照指南操作 仓库_铁路.md
📋 功能
- MCP服务器 使用7个工具查询PostgreSQL数据库
- 优化CSV导入 到PostgreSQL(156k+行)
- PostgreSQL模式 完整的活动数据
- 可在铁路上部署 一次点击
数据库结构
数据库使用以下表重建原始PostgreSQL结构:
主表
- 活动 :包含所有活动和基本信息的主表
详细信息表(通过元数据链接)
- af_setups :AF设置的详细信息
- 治疗 :治疗详情
- 发票 :发票详情
- 侍从 :争议详情
- 处方 :处方详情(使用jsonb表示clinic-objects和clinical-preference)
先决条件
- PostgreSQL已安装并正在运行
- 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.sql2.导入数据
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行为一批进行,以优化性能
