返回市场
麦服外勤通

麦服外勤通

作者:kacase6 星标更新:2025-05-12

项目介绍

Outlook MCP(模型上下文协议)服务器

这是一个通过Microsoft Graph API与Microsoft Outlook集成的模型上下文协议服务器,允许Claude和其他大型语言模型检查日历事件、安排新事件、阅读电子邮件和发送消息。

功能

  • 📅 日历集成:查看、列出、创建、更新和删除日历事件
  • 📧 电子邮件集成:从Outlook账户读取、发送、草拟和管理电子邮件
  • 🔁 模型上下文协议:遵循MCP标准进行LLM工具集成
  • 🛡️ 类型安全:使用Zod验证的全TypeScript实现

预备条件

  • Node.js 18+
  • 具有适当权限的Microsoft 365账户
  • 在Microsoft Azure应用注册中配置Graph API权限(日历和邮件)

设置

  1. 在Azure Active Directory中注册一个应用程序:

    • 访问Azure门户

    • 导航到“应用注册”

    • 创建一个新的注册,并设置重定向URI类型为“公共客户端/本地(移动和桌面)”

      • 注册http://localhost作为重定向URI
    • 配置API权限:

      • 选择Microsoft Graph并设置为委托,因为我们将以用户的身份操作
      • 对于日历:“Calendars.Read”和“Calendars.ReadWrite”
      • 对于电子邮件:“Mail.Read”,“Mail.ReadWrite”和“Mail.Send”
      • 对于联系人:“People.Read”
  2. 记录Azure应用注册中的值(概览),以便在MCP配置中用作环境变量:

  • 客户端ID(应用程序(客户端)ID)
  • 权限ID(目录(租户)ID)
  1. 注册MCP服务器 对于Claude Desktop,在~/.claude/config.json中创建或更新您的配置:
{
  "mcpServers": {
    "outlook": {
      "command": "npx",
      "args": [
        "mcp_outlook"
      ],
      "env": {
        "AUTHORITY": "your-authority-id",
        "CLIENT_ID": "your-client-id",
        "MCP_SERVER_NAME": "outlook-mcp",
        "MCP_SERVER_VERSION": "1.0.0"
      }
    }
  }
}

确保替换路径和环境变量的实际值。

可用工具

日历工具

  • listCalendarEvents:列出指定时间段内的用户日历事件
  • createCalendarEvent:创建新的日历事件
  • getCalendarEvent:获取特定日历事件的详细信息
  • updateCalendarEvent:更新现有日历事件
  • deleteCalendarEvent:删除日历事件

电子邮件工具

  • listEmails:列出来自指定文件夹(收件箱、已发送、草稿等)的电子邮件
  • getEmail:获取特定电子邮件的详细信息
  • sendEmail:发送新的电子邮件
  • createDraft:创建草稿电子邮件而不发送
  • markEmailAsRead:标记电子邮件为已读
  • markEmailAsUnread:标记电子邮件为未读
  • deleteEmail:删除电子邮件

联系人工具

  • searchPeople 查找组织中的人员或最近联系的人
  • getPerson 获取人员的信息

资源

  • calendar:包含日历事件数据的资源
  • inbox:包含收件箱消息数据的资源

开发

以开发模式运行并启用实时重新加载:

npm run dev

运行代码检查:

npm run lint

本地配置您的MCP

{
  "mcpServers": {
    "outlook": {
      "command": "node",
      "args": [
        "/ABSOLUTE/PATH/TO/outlook_mcp/build/index.js"
      ],
      "env": {
        "AUTHORITY": "your-authority-id",
        "CLIENT_ID": "your-client-id",
        "MCP_SERVER_NAME": "outlook-mcp",
        "MCP_SERVER_VERSION": "1.0.0"
      }
    }
  }
}