本项目是一个基于Model Context Protocol (MCP) 标准的应用后端,通过Microsoft Graph API连接Microsoft Outlook,赋予大型语言模型 (LLM) 与用户的Outlook数据交互的能力。
主要功能点
- 日历集成: LLM可以查看、列出、创建、更新和删除用户的日历事件。
- 邮件集成: LLM可以读取、发送、起草、标记已读/未读和删除用户的电子邮件。
- 联系人与日程: LLM可以搜索用户的联系人,获取联系人信息,检查用户和联系人的忙闲状态,以及寻找合适的会议时间。
安装步骤
-
环境准备:
- 确保已安装 Node.js 18 或更高版本。
- 拥有一个有效的 Microsoft 365 账户。
- 在 Azure Active Directory 中注册一个应用程序,并配置必要的 Microsoft Graph API 委托权限(Calendar 和 Mail 相关权限)。具体步骤请参考项目的 README 文件,包括设置正确的重定向 URI(例如 'http://localhost')。
-
获取 Azure 应用信息:
- 完成 Azure 应用注册后,记录下您的“客户端 ID”(Application (client) ID)和“目录 (租户) ID”(Directory (tenant) ID)。这些信息将在配置MCP服务器时用到。
-
安装 MCP Outlook:
- 打开命令行终端。
- 使用 npm 或 yarn 安装 'mcp_outlook' 包。如果发布到npm,命令可能是 'npm install -g mcp_outlook' 或 'yarn global add mcp_outlook'。请查阅项目 README 获取确切的安装命令。
-
配置 MCP 客户端:
- MCP 服务器需要通过兼容的 MCP 客户端(如 Claude Desktop)启动和连接。
- 在您的 MCP 客户端配置目录(例如 '~/.claude/config.json')中,添加或更新 MCP 服务器配置。配置是一个 JSON 格式的对象数组。
- 配置信息需要指定服务器的启动命令、参数以及必要的环境变量(Azure 应用的客户端 ID 和租户 ID)。
示例配置结构 (非实际代码,请根据客户端要求填写):
{ "mcpServers": { "outlook": { // 服务器的唯一名称 "command": "npx", // 或 "node", "yarn", 视安装方式而定 "args": [ "mcp_outlook" // 如果使用npx,则填写包名 // 如果使用node直接运行构建后的文件,这里应填写文件路径 // 例如: "/path/to/your/mcp-outlook/build/index.js" ], "env": { // 传递给服务器进程的环境变量 "AUTHORITY": "您的Azure租户ID", // Azure AD 目录(租户) ID "CLIENT_ID": "您的Azure客户端ID", // Azure 应用 (客户端) ID "MCP_SERVER_NAME": "outlook-mcp", // 可选的MCP服务器名称 "MCP_SERVER_VERSION": "1.0.0" // 可选的MCP服务器版本 } } } // 其他可能的客户端配置... }- 替换上述示例中的占位符为您实际的 Azure ID 和安装路径/命令。
- 保存配置文件并重新启动 MCP 客户端。
基本使用方法
- 一旦 MCP Outlook 服务器成功配置并由 MCP 客户端启动,LLM 将自动发现并拥有使用 Outlook 相关工具和资源的能力。
- 用户可以通过自然语言向 LLM 发出请求,例如“查看我明天的日程”、“给[联系人姓名]发送一封邮件主题为'会议更新'的邮件”、“找到和[联系人姓名]都有空的会议时间”。
- LLM 会根据用户请求,调用相应的 MCP 工具来与 Outlook 交互,并返回结果给用户。在需要进行认证操作时(如首次连接),MCP 服务器会引导用户通过浏览器完成登录流程。
信息
分类
生产力应用