Skip to main content
Glama
GlenYe-Coding

MailCal MCP Server

MailCal

Локальный почтовый календарь-помощник: читает почтовый ящик через IMAP, автоматически преобразует собеседования, тесты, встречи и сроки из писем в события календаря, предоставляет HTML-интерфейс календаря, а также одновременно открывает REST API и MCP для вызова такими инструментами, как Codex.

Блог-руководство

Подробное руководство: Руководство по спасению осеннего набора: превратите QQ Mail в AI-календарь с помощью MailCal, собеседования и тесты автоматически попадают в расписание

Настройка авторизационного кода QQ Mail: Учебник по настройке IMAP для QQ Mail

Открытый исходный код и контакты

MailCal имеет открытый исходный код; приветствуются звёзды и отчёты об Issue.

Возможности

  • Инкрементальная синхронизация почты: позиция синхронизации записывается с помощью UID-курсора, обрабатываются только новые письма

  • Очистка писем: преобразование HTML в обычный текст, удаление скриптов и стилей, сохранение ссылок для анализа

  • Извлечение событий: механизм правил + LangGraph Agent определяют, нужно ли создавать задачу из письма

  • Интерфейс календаря: месячный/недельный вид, статусы событий, всплывающие сводки, отображение исходного текста письма

  • Административная консоль: журналы, использование токенов, статистика писем, очистка кэша

  • Два интерфейса: REST API + MCP, поддержка локального сервиса или подключения Codex

  • Поддержка моделей: OpenAI, DeepSeek, Kimi, GLM, Qwen, SiliconFlow, Ollama, пользовательские сервисы, совместимые с OpenAI

Документация

Структура проекта

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

Быстрый запуск

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

Откройте http://127.0.0.1:5173, чтобы использовать интерфейс календаря.

При первом запуске автоматически создаётся config.json; также можно скопировать config.example.json и вручную заполнить авторизационный код почты и конфигурацию модели.

В Windows можно напрямую запустить scripts/start.bat или scripts/start.ps1.

REST API

Метод

Путь

Описание

GET

/api/health

Проверка работоспособности

GET

/api/state

Конфигурация, события, статус синхронизации и использование

GET

/api/events

Список событий

GET

/api/events/{id}

Отдельное событие

POST

/api/events

Добавить событие

PUT / PATCH

/api/events

Изменить событие

DELETE

/api/events

Удалить событие

POST

/api/sync

Немедленно синхронизировать почту

GET / POST

/api/models

Получить список доступных моделей

POST

/api/config

Сохранить конфигурацию

GET

/api/usage

Использование токенов и стоимость

DELETE

/api/usage

Обнулить использование

DELETE

/api/sync-cursor

Сбросить курсор синхронизации

GET

/api/admin/stats

Статистика администратора

GET

/api/admin/logs

Журналы выполнения

POST

/api/admin/clear

Очистить кэш / журналы / использование / события

GET

/api/emails/{uid}/raw

Скачать исходное письмо .eml

GET

/api/export.ics

Экспорт ICS-календаря

GET

/api/openapi.json

Сводка OpenAPI

Полные ограничения параметров см. в docs/API.md.

MCP

python src/mcp_server.py

Подключение Codex:

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

HTTP-режим:

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

Адрес подключения: http://127.0.0.1:5174/mcp

Доступные инструменты: list_events, get_event, sync_emails, list_models, get_status, reset_sync_cursor, get_usage, reset_usage, add_event, update_event, delete_event.

Полные ограничения параметров см. в docs/MCP.md.

Конфигурация

Файл конфигурации — config.json, поддерживается переопределение переменными окружения. Авторизационный код почты и API-ключи моделей появляются в ответах интерфейсов только в замаскированном виде.

Подробные поля см. в docs/CONFIGURATION.md, список переменных окружения — в .env.example.

Примечания по безопасности

  • По умолчанию прослушивается только 127.0.0.1, без доступа из публичной сети

  • Не отправляйте config.json, .env и ключи из журналов в репозиторий кода

  • sid отдельного письма в веб-версии QQ Mail теряет силу вместе с состоянием входа; в деталях события предусмотрены два надёжных входа: «Открыть QQ Mail» и «Скачать исходное письмо»

Тестирование

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