邮件分类器包装器

MCP包装器,用于连接编排代理与邮件分类服务,实现邮件分类处理。

  • by Fabioburgos
  • Python
  • 云端部署
  • 更新于
在 GitHub 查看 Fabioburgos/mcp_wrapper_email_classifier

使用说明

MCP包装器-电子邮件分类器

Wrapper MCP将Orchestrator代理与Email_Classifier服务连接起来。

他是做什么的?

这个包装就像 桥 在两个服务之间:

  1. 编曲 (LangGraph代理)-决定何时处理电子邮件
  2. 电子邮件分类器 (遗留服务)-处理和分类电子邮件

El包装:

  • 公开一个名为 process_business_email
  • 从Orchestrator接收JSON-RPC请求
  • 转换 message_id 在Graph API的模拟Payload中
  • 通过HTTP调用电子邮件分类器
  • 将结果返回给编排器

建筑

Orquestador (recibe webhook de Graph)
    ↓
    Decide invocar herramienta MCP
    ↓
MCP Wrapper (este servicio)
    ↓
    HTTP POST con payload simulado
    ↓
Email Classifier (procesa email)

配置

1.包装环境变量

在AWS Lambda中配置:

EMAIL_CLASSIFIER_URL=https://j3zu9ea3v7.execute-api.us-west-2.amazonaws.com/api/soma-email-classifier-2

2.编排器配置

恩 .env 来自管弦乐队:

MCP_SERVERS_CONFIG={"classifier": {"transport": "streamable_http", "url": "https://<wrapper-url>/mcp"}}

取代 <wrapper-url> con-la函数URL del包装器。

绝望

# 1. Build y deploy
make deploy

# 2. Configurar variable de entorno
aws lambda update-function-configuration \
  --function-name soma-mcp-wrapper-email-classifier-2 \
  --environment "Variables={EMAIL_CLASSIFIER_URL=https://j3zu9ea3v7.execute-api.us-west-2.amazonaws.com/api/soma-email-classifier-2}" \
  --region us-west-2

# 3. Obtener Function URL
aws lambda get-function-url-config \
  --function-name soma-mcp-wrapper-email-classifier-2 \
  --region us-west-2 \
  --query 'FunctionUrl' \
  --output text

结构

mcp-wrapper-email-classifier/
├── handler.py                  # Lambda handler principal
├── mcp_server.py              # Servidor MCP
├── tools/
│   └── email_classifier.py    # Invocación HTTP al classifier
├── requirements.txt           # Dependencias
├── Dockerfile                 # Imagen Lambda
└── Makefile                   # Comandos de despliegue

全流程

  1. Webhook de Graph API →编舞
  2. 编曲 分析电子邮件并决定调用 process_business_email
  3. 编曲 → HTTP POST a /mcp del包装器
  4. 包装器 接收 message_id 并创建模拟Payload:
    {
      "value": [{
        "resource": "users/inbox/messages('AAMk...')",
        "resourceData": {"id": "AAMk..."}
      }]
    }
    
  5. 包装器 → HTTP POST电子邮件分类器
  6. 电子邮件分类器 处理电子邮件(分类、移动文件夹等)
  7. 包装器 将结果返回给编排器

有用的命令

make help          # Ver todos los comandos
make deploy        # Despliegue completo
make logs          # Ver logs en tiempo real
make info          # Ver info de Lambda

重要说明

  • El包装美国 httpx 打电话给分类器(不是BOTO3)
  • 与部署在API网关上的电子邮件分类器兼容
  • El终点 /mcp 它被管弦乐队使用
  • 默认设置为60秒的超时