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

Related MCP server: productivity-mcp

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

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server that seamlessly interacts with your Google Calendar, Gmail, Drive and so on.
    30
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    A local MCP server that provides LLM clients with read/write access to email and calendar data from Gmail, iCloud, and generic IMAP providers. It runs entirely on your machine, keeping data private while enabling email management, calendar operations, and task handling through natural language.
    39
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    MCP server for Apple Calendar and CalDAV providers. Enables listing, creating, updating, deleting events, and checking free/busy status with per-calendar write protection.
    6
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server to interact with Google Gmail and Calendar APIs. Supports multiple accounts, email search and drafting, and calendar event management.
    MIT

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