Token导航 LogoToken导航TokenDH.com
Data Engineering MCP logo
运维云端未说明官方级别未说明来源级核验

Data Engineering MCP

MCP Server

轻量级数据工程辅助工具,提供FastAPI网关和Chainlit UI,支持AWS数据处理工具和自定义工具。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
FastAPI自动化云端部署

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

atommych

提供方

atommych

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

数据工程MCP协作者(或助手)

葡萄牙语(巴西)

概述

轻量级数据工程副驾驶:Chainlit UI -> FastAPI网关(JWT)-> 两个MCP服务器:

  • 内部定制MCP服务器(回显功能+旧版AWS演示工具)
  • 官方AWS数据处理MCP服务器(aws-dp-server)通过/awsdp/\*端点暴露

建筑学

Browser -> Chainlit -> FastAPI Gateway -> (mcp-server) echo & demo tools
                                      -> (aws-dp-server) official AWS Data Processing tools

LocalStack 已被移除;现在,如果您需要,您可以指向真实的 AWS 凭据或外部的其他模拟器。

组件

mcp_server(自定义)

工具:

  • echo(message: str) (稳定演示)
  • 传统的自定义AWS终端节点(s3/glue/athena)——将被弃用,以支持/awsdp/\*

aws-dp-server(官方)

当前代理的端点(JWT 保护):

  • GET /awsdp/s3/buckets 列出 S3 存储桶
  • GET /awsdp/glue/databases -> 列出胶水数据库

(未来将类似地扩展到对象、表和Athena查询中。)

FastAPI网关

  • 认证: /auth/token/auth/token_json
  • Echo 代理: /echo
  • 自定义传统AWS代理: /aws/... (待弃用)
  • 官方AWS数据处理代理: /awsdp/...
  • 健康: /health

\chainlit_app\ 可以翻译为“Chainlit 应用”或“基于 Chainlit 的应用”,具体取决于上下文和该术语在特定场景中的使用方式。这里,“chainlit”可能是一个特定框架、库或平台的名称,而“app”则通常指的是应用程序。因此,整个术语可以理解为使用或基于 Chainlit 技术或平台构建的应用程序。

  • 发送聊天文本(或之后) echo: (前缀)到 /echo
  • 未来:动态工具发现及/awsdp交互。

环境变量(.env)

最小示例(建议使用基于配置文件的凭据):

MCP_SERVER_HOST=0.0.0.0
MCP_SERVER_PORT=8080
MCP_SERVER_URL=http://mcp-server:8080
GATEWAY_HOST=0.0.0.0
GATEWAY_PORT=8000
JWT_SECRET=changeme-super-secret
JWT_ALGORITHM=HS256
JWT_EXPIRE_MINUTES=120
CHAINLIT_GATEWAY_URL=http://fastapi-gateway:8000
CHAINLIT_API_TOKEN=dev-token
CHAINLIT_USERNAME=demo
CHAINLIT_PASSWORD=demo
AWS_REGION=us-east-1
AWS_PROFILE=default
# Optional: explicit keys (NOT needed when mounting ~/.aws). Uncomment if required:
# AWS_ACCESS_KEY_ID=your-key
# AWS_SECRET_ACCESS_KEY=your-secret
ATHENA_OUTPUT=s3://aws-athena-query-results-
ATHENA_POLL_SECONDS=1.0
ATHENA_TIMEOUT_SECONDS=25
ATHENA_PAGE_ROWS_LIMIT=50
PYTHONUNBUFFERED=1

凭证解析顺序(boto3):环境变量 > 共享凭证/配置文件(~/.aws)> IAM 角色。使用 AWS_PROFILE 并结合 compose 卷挂载($HOME/.aws:/root/.aws:ro) 保密以避免(外界的) .env

主机凭证挂载

该compose文件挂载了您的主机 ~/.aws 装入容器中 /root/.aws 只读:

volumes:
  - ${HOME}/.aws:/root/.aws:ro

如果你使用了一个非默认的配置文件设置 AWS_PROFILE=your-profile.env

安全提示:确保 ~/.aws/credentials 具有正确的权限(chmod 600),并且从不将凭据提交到仓库中。

cp .env.example .env
# fill real AWS creds (read-only acceptable for list operations)
docker compose up --build

服务:

  • 网关地址:http://localhost:8000(文档位于/docs)
  • MCP 自定义:http://localhost:8080(内部回声工具;通常不对外暴露)
  • Chainlit 用户界面:http://localhost:8501

认证与基本调用

获取令牌:

curl -s -X POST http://localhost:8000/auth/token_json \
  -H 'Content-Type: application/json' \
  -d '{"username":"demo","password":"demo"}' | jq

存储令牌并调用回声:

TOKEN=... # access_token
curl -s -X POST http://localhost:8000/echo \
  -H "Authorization: Bearer $TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{"message":"Hello Copilot"}' | jq

官方AWS数据处理(aws-dp-server)示例:

# List buckets
curl -s -H "Authorization: Bearer $TOKEN" http://localhost:8000/awsdp/s3/buckets | jq
# List Glue databases
curl -s -H "Authorization: Bearer $TOKEN" http://localhost:8000/awsdp/glue/databases | jq

遗留自定义终端节点(即将弃用):

curl -s -H "Authorization: Bearer $TOKEN" http://localhost:8000/aws/s3/buckets | jq

Makefile(快捷方式)

快速入门:

make quickstart

关键目标:

make env-copy              # Create .env from example
make build                 # Build images
make up                    # Start stack
make down                  # Stop stack
make restart               # Recreate stack
make ps                    # List containers
make logs-fastapi-gateway  # Tail gateway logs
make token                 # Issue JWT
make echo MESSAGE='Hi'     # Echo via gateway
make awsdp-buckets         # /awsdp/s3/buckets
make awsdp-glue-databases  # /awsdp/glue/databases
make health                # Health checks
make smoke                 # Smoke test
make gen-jwt-secret        # Rotate JWT secret
make clean                 # Remove token file
make prune                 # Docker prune

按服务划分: up-stop-restart-logs-shell- for mcp-serveraws-dp-serverfastapi-gatewaychainlit

故障排除

  1. 401 /echo -> (可翻译为)401 /echo(回声)-> make token
  2. 网关不可用 -> make logs-fastapi-gateway
  3. 空的 .token -> 验证凭据(用户名/密码:demo/demo)
  4. AWS 错误 -> 确认 AWS 凭据和区域
  5. Athena 遗留错误 -> 确保输出存储桶存在(或移除遗留工具的使用)

弃用通知

这个(或“该”) /aws/* 端点被……所取代 /awsdp/* (官方服务器)。计划在未来版本中迁移并移除旧版终端。

未来的扩展/延伸

  • 扩展/awsdp的覆盖范围(对象、表、Athena查询)
  • 工具注册表 + 动态 Chainlit 选择
  • 统一错误模型与结构化日志记录
  • 可选择性移除旧版自定义AWS终端节点

目录标签

目录标签

FastAPI自动化云端部署数据工程Python本地部署AWS数据处理Chainlit自动化工具

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明token部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP