Skip to main content
Glama
GlenYe-Coding

MailCal MCP Server

MailCal

Asistente local de calendario de correo: lee el buzón mediante IMAP, convierte automáticamente en eventos de calendario las entrevistas, evaluaciones, reuniones y fechas límite que aparecen en los correos, ofrece una interfaz de calendario HTML y expone a la vez una API REST y MCP para que herramientas como Codex puedan invocarlas.

Tutorial del blog

Tutorial detallado: Guía de autoayuda para el reclutamiento de otoño: usa MailCal para convertir tu buzón QQ en un calendario de IA y que las entrevistas y evaluaciones entren automáticamente en tu agenda

Configuración del código de autorización de QQ Mail: Tutorial de configuración de IMAP para QQ Mail

Código abierto y contacto

MailCal es de código abierto; agradecemos las estrellas (Star) y los informes de incidencias (Issue).

Funciones

  • Sincronización incremental del buzón: usa un cursor UID para registrar la posición de sincronización y solo procesa los correos nuevos

  • Limpieza de correos: convierte HTML en texto plano, elimina scripts y estilos, y conserva los enlaces para su análisis

  • Extracción de eventos: motor de reglas + agente LangGraph para determinar si un correo requiere la creación de una tarea pendiente

  • Interfaz de calendario: vista mensual / vista semanal, estado de eventos, resumen emergente y renderizado del correo original

  • Consola de administración: registros, uso de tokens, estadísticas de correos y limpieza de caché

  • Doble interfaz: API REST + MCP, compatible con el servicio local o la integración con Codex

  • Compatibilidad de modelos: OpenAI, DeepSeek, Kimi, GLM, Qwen, SiliconFlow, Ollama y servicios personalizados compatibles con OpenAI

Documentación

Estructura del proyecto

MailCal/
├─ src/        后端源码
├─ static/     前端页面、样式、脚本、图片
├─ tests/      单元测试
├─ schemas/    JSON Schema
├─ docs/       全部文档与截图(含文档索引)
├─ scripts/    启动脚本
├─ data/       事件、游标、用量数据
├─ logs/       运行日志
└─ config.json 本地配置

Inicio rápido

cd D:/Project/MailCal
python src/app.py --host 127.0.0.1 --port 5173

Abre http://127.0.0.1:5173 para usar la interfaz de calendario.

En el primer inicio se genera config.json automáticamente; también puedes copiar config.example.json y completar manualmente el código de autorización del buzón y la configuración de los modelos.

En Windows puedes ejecutar directamente scripts/start.bat o scripts/start.ps1.

REST API

Método

Ruta

Descripción

GET

/api/health

Comprobación de estado

GET

/api/state

Configuración, eventos, estado de sincronización y uso

GET

/api/events

Lista de eventos

GET

/api/events/{id}

Evento individual

POST

/api/events

Añadir evento

PUT / PATCH

/api/events

Modificar evento

DELETE

/api/events

Eliminar evento

POST

/api/sync

Sincronizar el buzón de inmediato

GET / POST

/api/models

Obtener la lista de modelos disponibles

POST

/api/config

Guardar configuración

GET

/api/usage

Uso de tokens y costes

DELETE

/api/usage

Poner el uso a cero

DELETE

/api/sync-cursor

Restablecer el cursor de sincronización

GET

/api/admin/stats

Estadísticas de administración

GET

/api/admin/logs

Registros de ejecución

POST

/api/admin/clear

Limpiar caché / registros / uso / eventos

GET

/api/emails/{uid}/raw

Descargar el correo original .eml

GET

/api/export.ics

Exportar calendario ICS

GET

/api/openapi.json

Resumen de OpenAPI

Consulta las restricciones completas de parámetros en docs/API.md.

MCP

python src/mcp_server.py

Integración con Codex:

codex mcp add mailcal -- python D:/Project/MailCal/src/mcp_server.py

Modo HTTP:

python src/mcp_server.py --http --port 5174

Dirección de conexión: http://127.0.0.1:5174/mcp

Herramientas disponibles: list_events, get_event, sync_emails, list_models, get_status, reset_sync_cursor, get_usage, reset_usage, add_event, update_event, delete_event.

Consulta las restricciones completas de parámetros en docs/MCP.md.

Configuración

El archivo de configuración es config.json y admite sobrescritura mediante variables de entorno. El código de autorización del buzón y las claves de API de los modelos solo aparecen enmascarados en las respuestas de las interfaces.

Consulta los campos detallados en docs/CONFIGURATION.md y la lista de variables de entorno en .env.example.

Notas de seguridad

  • Por defecto solo escucha en 127.0.0.1 y no está abierto a la red pública

  • No subas config.json, .env ni las claves de los registros al repositorio de código

  • El sid de un correo individual del correo web de QQ caduca con el estado de la sesión; los detalles del evento ofrecen dos accesos fiables: «Abrir QQ Mail» y «Descargar el correo original»

Pruebas

python -m unittest discover -s tests -v
-
license - not tested
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Hosted MCP server for business-day math, deadline planning, meeting overlap, and SLA calculations.

  • Read, search, send, organize, draft and schedule email across your inboxes from any MCP client.

  • Hosted Google Calendar MCP server for AI agents. No self-hosting or Google Cloud setup.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/GlenYe-Coding/MailCal'

If you have feedback or need assistance with the MCP directory API, please join our Discord server