Egile MCP通知器
MCP服务器提供通知功能,包括电子邮件发送、Google日历事件管理和Microsoft待办事项管理。
特性
- 电子邮件通知:通过SMTP发送电子邮件
- 谷歌日历集成:创建、更新和管理日历事件
- 微软做集成:创建、更新和管理任务和待办事项列表
- 灵活的配置:支持多个电子邮件提供商和日历帐户
安装
pip install -e .配置
创建一个 .env 包含以下变量的文件:
# Email Configuration
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USERNAME=your-email@gmail.com
SMTP_PASSWORD=your-app-password
DEFAULT_FROM_EMAIL=your-email@gmail.com
# Google Calendar Configuration
GOOGLE_CALENDAR_CREDENTIALS_FILE=credentials.json
GOOGLE_CALENDAR_TOKEN_FILE=token.json
DEFAULT_CALENDAR_ID=primary
# Microsoft To-Do Configuration
MS_TODO_CLIENT_ID=your-azure-app-client-id
MS_TODO_TENANT_ID=common
MS_TODO_TOKEN_FILE=ms_token_cache.jsonGmail设置
- 在您的Google帐户中启用双因素身份验证
- 生成应用程序密码: 谷歌应用密码
- 使用您的应用程序密码
.env文件
谷歌日历设置
- 首选 谷歌云控制台
- 创建新项目或选择现有项目
- 启用Google日历API
- 创建OAuth 2.0凭据(桌面应用程序)
- 下载凭据并另存为
credentials.json - 首次运行时,系统将提示您授权应用程序
Microsoft待办安装
- 首选 Azure 门户
- 导航到“Azure Active Directory”>“应用程序注册”
- 点击“新建注册”
- 输入应用程序的名称(例如“Egile Notifier”)
- 在“支持的帐户类型”下,选择“任何组织目录中的帐户和个人Microsoft帐户”
- 暂时将“重定向URI”留空
- 点击“注册”
- 复制“应用程序(客户端)ID”-这是您的
MS_TODO_CLIENT_ID - 转到“API权限”>“添加权限”>《Microsoft Graph》>“委派权限”
- 添加以下权限:
- Tasks.ReadWrite - offline_access
- 点击“添加权限”
- 首次运行时,系统将提示您使用设备代码进行身份验证
详细的设置说明:参见 MS_TODO_SETUP.md 获取完整的分步指南。
用法
作为MCP服务器
egile-mcp-notifier可用工具
send_邮件
发送电子邮件通知。
{
"to": "recipient@example.com",
"subject": "Hello",
"body": "This is a test email",
"cc": ["cc@example.com"], # optional
"bcc": ["bcc@example.com"], # optional
"html": True # optional, default False
}create_calendar_event
创建一个谷歌日历事件。
{
"summary": "Meeting with Team",
"start_time": "2026-01-20T10:00:00",
"end_time": "2026-01-20T11:00:00",
"description": "Discuss project updates", # optional
"location": "Conference Room A", # optional
"attendees": ["attendee@example.com"], # optional
"calendar_id": "primary" # optional
}list_calendar_events
列出即将到来的日历事件。
{
"max_results": 10, # optional, default 10
"calendar_id": "primary", # optional
"time_min": "2026-01-17T00:00:00", # optional
"time_max": "2026-01-31T23:59:59" # optional
}update_calendar_event
更新现有日历事件。
{
"event_id": "event123",
"summary": "Updated Meeting", # optional
"start_time": "2026-01-20T10:30:00", # optional
"end_time": "2026-01-20T11:30:00", # optional
"description": "Updated description", # optional
"location": "New location", # optional
"calendar_id": "primary" # optional
}删除日历事件
删除日历事件。
{
"event_id": "event123",
"calendar_id": "primary" # optional
}create_todo
创建Microsoft待办事项任务。
{
"title": "Complete project documentation",
"body": "Add examples and API reference", # optional
"due_date": "2026-01-25", # optional, ISO format
"importance": "high", # optional: "low", "normal", "high"
"list_id": "list-id-123", # optional, uses default list
"reminder_date": "2026-01-24T09:00:00" # optional, ISO format
}list_所有
列出Microsoft待办事项。
{
"list_id": "list-id-123", # optional, uses default list
"filter_status": "notStarted", # optional: "notStarted", "inProgress", "completed"
"max_results": 50 # optional, default 50
}更新待办事项
更新Microsoft待办事项任务。
{
"task_id": "task-id-123",
"list_id": "list-id-123", # optional
"title": "Updated task title", # optional
"body": "Updated notes", # optional
"status": "completed", # optional: "notStarted", "inProgress", "completed"
"importance": "low", # optional: "low", "normal", "high"
"due_date": "2026-01-26" # optional
}delete_todo
删除Microsoft待办事项任务。
{
"task_id": "task-id-123",
"list_id": "list-id-123" # optional
}list_todo_lists
列出所有Microsoft待办事项列表。
{}许可证
麻省理工学院
