Token导航 LogoToken导航TokenDH.com
MCP Mailwatcher logo
办公协作未说明官方级别未说明来源级核验

MCP Mailwatcher

MCP Server

一个通过EWS监控Exchange邮箱,使用本地Ollama模型分析邮件并在检测到重要问题时向Slack频道发送通知的服务。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
AI分析JavaScript团队协作

安装说明

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

作者 / 组织

LautaLFS

提供方

LautaLFS

最后核验

2026/5/17 20:19

快速接入

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

详细介绍

mcp邮件监视器

服务器(和MCP服务器),通过 EWS(MAPI对应HTTP),使用本地Ollama模型分析邮件,并在检测到重大问题时向Slack频道发送通知。

旨在用于内部Exchange/IMAP,带有用户/密码认证(无OAUTH)。

______________________________________________________________________

1.要求

  • Node.js 18+推荐。
  • 启用EWS的警报邮箱Exchange访问(例如 alertas@empresa.local).
  • Slack工作区图标:

- 一个带有 机器人令牌 (xoxb-...). - 许可证 chat:write 关于目的地频道(例如。 #infraestructura).

  • 本地实例 奥拉玛 运行配置的模型(默认 llama3).

______________________________________________________________________

2.安装

E:\Development\Node\mcp-mailwatcher (或您选择的目录):

npm install

______________________________________________________________________

3.配置

3.1环境变量

示例文件的一部分:

cp env.example .env

编辑 .env 以你的真实价值观:

# Credenciales del buzón (usuario/contraseña)
MAIL_USER=alertas@empresa.local
MAIL_PASS=tu-contraseña
MAIL_FOLDER=INBOX
MAIL_PROCESSED_FOLDER=Procesados

# NTLM (opcional, si difiere del usuario del buzón)
NTLM_DOMAIN=MI_DOMINIO
NTLM_WORKSTATION=MI_PC

# URL de EWS (MAPI sobre HTTP)
EWS_URL=https://webmail.empresa.local/EWS/Exchange.asmx

POLL_INTERVAL_MINUTES=5

OLLAMA_MODEL=llama3
OLLAMA_API=http://localhost:11434/api/generate

SLACK_TOKEN=xoxb-tu-token-de-bot
SLACK_CHANNEL=infraestructura

3.2调整松弛的提示和模板

src/config.json 您可以调整:

  • prompt:发送到Ollama模型的文本。必须包含 {body} 其中将插入邮件的完整内容,并定义响应格式(警报/OK+结构化分析)。
  • slackTemplate:Slack消息模板。它有占位符:

- {from} – 发件人 - {subject} -急性 - {summary} –人工智能产生的分析 - {date} –日期已格式化为以slack显示

已经包括的示例:

{
  "prompt": "Sos un asistente experto en monitoreo de infraestructura y análisis de logs. RESPONDÉ SIEMPRE EN ESPAÑOL NEUTRO, AUNQUE EL CORREO ORIGINAL ESTÉ EN INGLÉS U OTRO IDIOMA.\n\nVas a recibir el contenido completo de un correo que contiene alertas, logs o reportes de servidores (incluye asunto, remitente, destinatarios, fecha y cuerpo).\n\nMUY IMPORTANTE:\n- El correo real estará delimitado entre las marcas >> y >>.\n- TODO lo que está ANTES o DESPUÉS de esas marcas son SOLO instrucciones para vos. NO forman parte del correo, NO deben ser citadas ni resumidas, y NO deben aparecer en tu respuesta.\n\nTu tarea es:\n1) Determinar si el correo describe un incidente relevante que requiere atención humana inmediata.\n2) Resumir el problema en lenguaje claro para un operador de guardia.\n3) Señalar, en lo posible, dónde parece estar el origen del problema.\n4) Sugerir próximos pasos de diagnóstico o mitigación.\n\nFORMATO DE RESPUESTA (OBLIGATORIO):\n\n- Primera línea: SOLO la palabra 'ALERTA' o 'OK' en mayúsculas.\n- Luego una línea en blanco.\n- Después un análisis estructurado en ESPAÑOL con secciones: Resumen, Errores detectados, Posible causa raíz, Acciones sugeridas.\n\n>>\n{body}\n>>",
  "slackTemplate": ":rotating_light: *Alerta detectada*\\n*Remitente:* {from}\\n*Asunto:* {subject}\\n*Resumen:* {summary}\\n*Fecha:* `{date}`"
}

在代码中(src/messageAnalyzer.js)还有一个基于关键字的小启发式标记为 ALERTA 例如,即使模型没有明确说明,也会讨论“数据库问题”的消息。

______________________________________________________________________

4.执行

npm start

行为:

  • Al arrancar:

- 使用NTLM(通过 httpntlm). - 打开配置的文件夹(MAIL_FOLDER,默认 INBOX). - 搜索邮件 未读. - 对于每个未读邮件: - 获取纯文本中的主题、发件人、收件人、日期(格式化)和正文。 - 构建一个丰富的文本并将其发送到Ollama。 - Ollama返回判决(ALERTA/OK)并用西班牙语进行详细分析(部分:摘要、错误、根本原因、建议的行动)。\\N-如果判决是 ALERTA,向Slack发送带有发件人、主题、日期和 单人工智能分析 (没有发送完整的邮件,以免弄脏频道)。\\将邮件标记为 阅读 在EWS中并保存其 Id 英语 processedMails.json 为了不重新处理它。

  • 卡达 POLL_INTERVAL_MINUTES 分钟:

- 重复上述流程,避免重新处理已在 processedMails.json.

日志写在:

  • 控制台。
  • logs/mcp-mailwatcher.log

______________________________________________________________________

5.项目结构

mcp-mailwatcher/
  ├── src/
  │   ├── index.js          # Punto de entrada, scheduler principal
  │   ├── config.js         # Carga y validación de variables de entorno + config.json
  │   ├── mailWatcher.js    # Conexión EWS (MAPI) y lectura/procesado de correos
  │   ├── messageAnalyzer.js# Comunicación con Ollama + heurísticas
  │   ├── slackNotifier.js  # Integración con la API de Slack
  │   └── utils/
  │       └── logger.js     # Manejo de logs locales (console + archivo)
  ├── processedMails.json   # Registro de UID de correos ya procesados
  ├── env.example           # Ejemplo de configuración de entorno
  ├── package.json
  └── README.md

______________________________________________________________________

6.关于MCP的说明

该项目旨在作为一个自主进程运行,但可以作为MCP服务器公开,并将其与MCP主机集成(例如,添加一个包装,该包装暴露了强制立即检查、查询最新结果等工具)。

扩展MCP的自然点:

  • checkMailbox (src/mailwatcher.js):暴露MCP命令 checkMailboxNow.
  • processedMails.json:暴露MCP工具 listProcessedMails.

业务逻辑(EWS/NTLM+Ollama+Slack)已经被隔离,可以从MCP服务器重新使用。

目录标签

目录标签

AI分析JavaScript团队协作邮件监控本地部署Exchange集成Slack通知

接入字段

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

未说明

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

oauth

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明oauth部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP