关于 Outlook Calendar MCP Tool
Outlook Calendar MCP Tool 是一个 MCP 服务,让 Claude 访问并管理本机 Microsoft Outlook 日历,仅支持 Windows。它适合希望用自然语言查询和安排日程的 Outlook 用户。数据在本地处理,不会发送到外部服务器。
主要功能
- 01查询指定日期范围内的日历事件
- 02创建与更新会议及事件
- 03查找可用空闲时段
- 04访问 Outlook 配置中的多个日历
- 05查看参会者的回复状态
适用场景
- 01查询下周的日程安排
- 02为项目讨论会议查找合适时间
- 03更新已有会议的开始时间
MCP 相关
该项目是一个 MCP 服务,向 MCP 客户端提供 list_events、create_event、find_free_slots、get_attendee_status、update_event 与 get_calendars 等工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
7收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| startDate | string | 是 | 开始日期,格式为 MM/DD/YYYY |
| endDate | string | 是 | 结束日期,格式为 MM/DD/YYYY |
| calendar | string | 否 | 日历名称(可选) |
详细介绍
Outlook Calendar MCP 工具
一个 Model Context Protocol(MCP)服务,让 Claude 能够访问和管理你的本地 Microsoft Outlook 日历(仅限 Windows)。
功能
- 查看日历事件:列出指定日期范围内的事件、查看事件详情、检查参会者状态
- 管理日历事件:创建新事件和会议、更新现有事件
- 日历智能功能:查找可安排日程的空闲时段、确定最佳会议时间
- 支持多个日历:访问 Outlook 配置文件中的不同日历
先决条件
- Windows 操作系统
- 已安装 Microsoft Outlook 桌面客户端
- 支持 VBScript(如果使用 Windows 11 24H2 或更高版本,请参阅下方的 VBScript 安装说明)
- Node.js(版本 14.x 或更高)
- npm(随 Node.js 一同安装)
VBScript 安装(Windows 11 24H2 或更高版本用户)
重要提示:从 Windows 11 24H2 开始,VBScript 默认不再安装,必须作为可选功能启用。
如果 Windows 更新后 MCP 服务无法运行,你可能需要安装 VBScript:
- 打开设置(Windows + I)
- 前往应用 → 可选功能
- 点击**“添加可选功能”旁边的“查看功能”**
- 搜索**“VBScript”**
- 选择 VBScript,然后点击安装
- 安装完成后重启电脑
VBScript 弃用时间表:
- 阶段 1(2024 年末起):作为 Windows 11 24H2 的可选功能提供
- 阶段 2(约 2027 年):默认不再启用
- 阶段 3(未来):从 Windows 中彻底移除
注意:感谢社区对 VBScript 弃用问题的反馈,我正在考虑改进架构,让项目更适应未来变化。
安装
选项 1:从 npm 安装
npm install -g outlook-calendar-mcp
你也可以使用 npx 直接运行,无需安装:
npx outlook-calendar-mcp
选项 2:从源代码安装
- 克隆此仓库或下载源代码
- 安装依赖项:
npm install
- 运行服务:
npm start
MCP 服务配置
要将此工具与 Claude 配合使用,需要将其添加到 MCP 设置配置文件中。
用于 Claude 桌面应用
将以下内容添加到 Claude 桌面应用配置文件中(位于 %APPDATA%\Claude\claude_desktop_config.json):
通过 npm 全局安装:
{
"mcpServers": {
"outlook-calendar": {
"command": "outlook-calendar-mcp",
"args": [],
"env": {}
}
}
}
使用 npx(无需安装):
{
"mcpServers": {
"outlook-calendar": {
"command": "npx",
"args": ["-y", "outlook-calendar-mcp"],
"env": {}
}
}
}
从源代码安装:
{
"mcpServers": {
"outlook-calendar": {
"command": "node",
"args": ["path/to/outlook-calendar-mcp/src/index.js"],
"env": {}
}
}
}
用于 Claude VSCode 扩展
将以下内容添加到 Claude VSCode 扩展的 MCP 设置文件中(位于 %APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json):
通过 npm 全局安装:
{
"mcpServers": {
"outlook-calendar": {
"command": "outlook-calendar-mcp",
"args": [],
"env": {}
}
}
}
使用 npx(无需安装):
{
"mcpServers": {
"outlook-calendar": {
"command": "npx",
"args": ["-y", "outlook-calendar-mcp"],
"env": {}
}
}
}
从源代码安装:
{
"mcpServers": {
"outlook-calendar": {
"command": "node",
"args": ["path/to/outlook-calendar-mcp/src/index.js"],
"env": {}
}
}
}
对于从源代码安装的情况,请将 path/to/outlook-calendar-mcp 替换为此工具的实际安装路径。
使用方法
完成配置后,Claude 将能够使用以下工具:
列出日历事件
list_events
- startDate: Start date in MM/DD/YYYY format
- endDate: End date in MM/DD/YYYY format (optional)
- calendar: Calendar name (optional)
示例:“列出我下周的日历事件”
创建日历事件
create_event
- subject: Event subject/title
- startDate: Start date in MM/DD/YYYY format
- startTime: Start time in HH:MM AM/PM format
- endDate: End date in MM/DD/YYYY format (optional)
- endTime: End time in HH:MM AM/PM format (optional)
- location: Event location (optional)
- body: Event description (optional)
- isMeeting: Whether this is a meeting with attendees (optional)
- attendees: Semicolon-separated list of attendee email addresses (optional)
- calendar: Calendar name (optional)
示例:“周五下午 2 点安排一场与 John 讨论项目提案的会议”
查找空闲时段
find_free_slots
- startDate: Start date in MM/DD/YYYY format
- endDate: End date in MM/DD/YYYY format (optional)
- duration: Duration in minutes (optional)
- workDayStart: Work day start hour (0-23) (optional)
- workDayEnd: Work day end hour (0-23) (optional)
- calendar: Calendar name (optional)
示例:“我这周什么时候有空参加一小时的会议?”
获取参会者状态
get_attendee_status
- eventId: Event ID
- calendar: Calendar name (optional)
示例:“谁还没有回复我的团队会议邀请?”
重要提示:使用需要事件 ID 的操作(update_event、delete_event、get_attendee_status)时,必须使用 list_events 响应中的
id字段。这是 Outlook 用来识别事件的唯一 EntryID。
更新日历事件
update_event
- eventId: Event ID to update
- subject: New event subject/title (optional)
- startDate: New start date in MM/DD/YYYY format (optional)
- startTime: New start time in HH:MM AM/PM format (optional)
- endDate: New end date in MM/DD/YYYY format (optional)
- endTime: New end time in HH:MM AM/PM format (optional)
- location: New event location (optional)
- body: New event description (optional)
- calendar: Calendar name (optional)
示例:“将我明天的团队会议改为下午 3 点开始,而不是下午 2 点”
获取日历
get_calendars
示例:“显示我可用的日历”
安全注意事项
- 首次使用时,Outlook 可能会显示安全提示,询问是否允许脚本访问
- 此工具仅访问本地 Outlook 客户端,不会将日历数据发送到外部服务器
- 所有日历操作都在你的计算机本地执行
故障排除
- VBScript 不可用(Windows 11 24H2+):如果 Windows 更新后出现错误,可能需要安装 VBScript。请参阅上文的 VBScript 安装 部分
- “脚本执行失败”错误:通常表示 VBScript 不可用或无法访问 Outlook
- Outlook 安全提示:如果看到 Outlook 的安全提示,需要允许脚本访问 Outlook 数据
- 脚本执行策略:如果遇到脚本执行错误,可能需要调整 PowerShell 执行策略
- 路径问题:确保 MCP 配置文件中的路径指向工具的正确位置
参与贡献
欢迎为 Outlook Calendar MCP Tool 做出贡献!请参阅我们的贡献指南,了解如何开始。
参与此项目即表示你同意遵守我们的行为准则。
许可证
本项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。