🧠 用于ETL编排的MCP服务器
使用Airflow、AWS Glue、Athena和S3的自然语言驱动的ETL工作流
该项目实现了 模型上下文协议(MCP)-兼容服务器,向LLM代理(如Claude或GPT)公开一组强大的ETL编排工具,使他们能够使用自然语言控制、监视和与现实世界的数据基础设施交互。
______________________________________________________________________
🚀 特性
- 🛰️ 气流集成\
触发DAGs,监控其状态,并列出可用的工作流。
- 🪣 S3工具\
创建bucket、上传文件、删除bucket——通过编程或LLM提示。
- 🧬 AWS胶水集成\
启动作业、跟踪作业运行、获取日志和查看可用的ETL脚本。
- 🔍 Athena查询引擎\
对S3数据执行SQL查询,轮询状态,获取结果,并列出目录元数据。
- 🧠 LLM原生工具界面\
完全符合MCP的接口,用于Claude、GPT和其他AI助手使用自然语言以编程方式操作堆栈。
______________________________________________________________________
🛠️ 可用工具
📌 气流
- 触发日
- 检查DAG状态
- 列出可用的DAGs及其状态
📌 第3页
- 创建S3存储桶
- 将文件上传到bucket
- 删除S3存储桶(可选对象清理)
📌 胶水
- 使用可选参数运行Glue作业
- 检查胶水作业运行状态
- 获取胶水作业日志
- 列出所有可用的胶水作业
📌 雅典娜
- 使用可配置的输出位置在Athena上运行SQL查询
- 检查查询执行状态
- 获取查询结果
- 列出可用数据库
- 列出特定数据库中的表
______________________________________________________________________
⚙️ 设置
1.克隆存储库并安装依赖项
git clone https://github.com/atharvpatwardhan/mcp-etl-orchestrator.git
cd mcp-etl-orchestrator
pip install -r requirements.txt2.配置环境变量
创建一个 .env 在根目录中创建文件,并用您的AWS凭据填充它:
# AWS Credentials
AWS_ACCESS_KEY_ID=your-access-key
AWS_SECRET_ACCESS_KEY=your-secret-key
AWS_DEFAULT_REGION=your-aws-region3.在tools/Airflow_config.py中更新气流凭据(可选)
气流API配置
AIRFLOW_API_BASE=http://localhost:8080/api/v1
AIRFLOW_USERNAME=admin
AIRFLOW_PASSWORD=admin4.启动MCP服务器
python main.py服务器运行后,将您的Claude Desktop或任何兼容MCP的客户端连接到服务器,并开始使用带有自然语言命令的工具!
