Outlook MCP Server

使用说明(Markdown 格式)

一、项目简介

  • 本项目实现了一个基于 MCP(Model Context Protocol)的服务器端,聚合了对 Outlook(邮件、日历、联系人等)的访问能力,并将能力以工具的形式暴露给对话式 AI 客户端(如 Claude、LLM)使用。通过 JSON-RPC 的请求-响应模式,AI 客户端可以查询资源、执行工具、获取提示等。

二、主要功能点

  • MCP 核心能力
    • initialize:服务器初始化,声明服务器信息与能力
    • tools/list:列出服务器提供的工具
    • tools/call:根据名称调用具体工具
    • 通过上述接口实现资源、工具、提示的标准化访问
  • 资源与数据访问
    • 提供对 Outlook/Microsoft Graph 的访问能力,包括邮件、日历、联系人、文件夹等数据的读取与管理
    • Delta 同步、批量导出、附件处理等实用功能
  • 工具集(示例,涵盖 20+ 工具的精简版本)
    • 邮件相关:读取邮件、搜索、发送、标记已读等
    • 日历相关:列出事件、创建、取消、拒绝等
    • 联系人相关:搜索、创建、更新、删除等
    • 文件夹与规则:文件夹列表、创建、移动邮件、邮件规则等
    • 设置与高级:共享邮箱读取、会议室搜索、自动回复、工作时间等
  • 安全与合规
    • 针对破坏性操作提供安全标注(如 destructiveHint、readOnlyHint、idempotentHint)
    • 发送邮件时提供 dry-run 预览、接收人白名单等保护机制
    • 针对大语言模型的工具调用设计了可控的参数与输出格式
  • 传输与扩展
    • 采用 StdioServerTransport 进行本地/开发环境的直接通信
    • 设计易于扩展的新模块、新工具目录
    • 支持测试模式,提供 mock 数据与快速迭代

三、安装与运行

  • 依赖与前提
    • Node.js 18.0.0 及以上
    • 需要的 OAuth/Graph 访问配置(Azure App Registration、Graph API 权限等)
  • 快速启动
    • 全局安装并运行(快速体验)
      • npm install -g @littlebearapps/outlook-mcp
      • npx @littlebearapps/outlook-mcp
    • 也可从源码运行(本地开发)
      • git clone https://github.com/littlebearapps/outlook-mcp.git
      • cd outlook-mcp
      • npm install
  • 关键环境变量
    • OUTLOOK_CLIENT_ID:Azure 应用客户端 ID
    • OUTLOOK_CLIENT_SECRET:Azure 应用客户端密钥
    • USE_TEST_MODE:测试模式开关,true 启用测试数据
    • 其他与 Azure/Graph 相关的变量请参照 docs/guides/azure-setup.md 进行配置

四、服务器配置(MCP 客户端的启动参数示例,说明性描述,不包含代码)

  • 服务器名称(serverName):outlook-assistant
  • 启动命令(command):npx
  • 启动参数(args):["@littlebearapps/outlook-mcp"]
  • 环境变量(env)示例:
    • OUTLOOK_CLIENT_ID: your-application-client-id
    • OUTLOOK_CLIENT_SECRET: your-client-secret-VALUE

说明:

  • MCP 客户端不需要嵌入式代码,直接通过上述配置让 Claude Desktop 等客户端知道如何启动并连接 MCP 服务器。
  • 在 Claude Desktop 的配置中,你需要将上述服务以 MCP 服务器的形式注册,使用命令和环境变量启动服务器实例。

五、基本使用方法

  • 启动与认证
    • 运行 MCP 服务器后,使用 auth 工具进行认证(通过指定的 OAuth 授权地址完成授权),获取并缓存令牌以便后续 Tool 调用
  • 使用工具
    • 启动后,使用 MCP 客户端(如 Claude)发起 initialize 请求,获取服务器能力
    • 使用 tools/list 查看可用工具
    • 使用 tools/call 调用具体工具,例如对 Outlook 的读取、搜索、导出等操作
  • 常用场景
    • 在对话中请 AI 使用“读取邮箱”、“搜索日历”等工具获取信息并展示给用户
    • 通过 delta 同步实现增量数据的更新,降低上下文窗口的成本
    • 使用 dry-run 进行发送邮件的安全预览,避免误发送

六、注意事项

  • 安全性:处理包含个人数据的邮箱/日历等信息时,请确保仅授权给信任的 AI 客户端,严格遵守令牌和权限管理
  • 依赖配置:Azure Graph 权限需要管理员同意,确保应用具备必要的权限(Mail.Read、Mail.ReadWrite、Mail.Send、Calendars.Read/Write、Contacts.Read/Write、MailboxSettings.ReadWrite 等)

七、进一步信息与文档

  • 文档总览、指南与工具参考等,可以在仓库的 docs 目录下查看所有指南与 API 参考

关键词 Outlook, Graph API, 邮件工具, 日历管理, AI 集成

分类ID 6

服务器信息