OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  mcp-microsoft365:通过 Model Context Protocol 全面集成微软 365 服务

mcp-microsoft365:通过 Model Context Protocol 全面集成微软 365 服务

 
  patch ·  2026-02-05 17:18:58 · 3 次点击  · 0 条评论  

Microsoft 365 MCP 服务器

通过模型上下文协议(MCP)实现完整的 Microsoft 365 集成。

功能特性

📧 邮件(Outlook)

  • 列出、读取、发送和搜索电子邮件
  • 按文件夹筛选(收件箱、已发送、草稿)
  • 支持 HTML 邮件

📅 日历

  • 列出和创建事件
  • Teams 会议集成
  • 检查可用性/忙闲状态

📁 OneDrive

  • 浏览文件和文件夹
  • 搜索文件
  • 读取文件内容

✅ 任务(Microsoft To-Do)

  • 列出任务列表
  • 创建和管理任务
  • 设置重要性和截止日期

💬 Teams

  • 列出聊天
  • 读取和发送消息

👥 用户

  • 列出组织用户
  • 获取用户资料

环境要求

  • Node.js 18 或更高版本
  • 具有 Microsoft Graph 权限的 Azure Entra ID 应用

安装配置

1. 创建 Azure Entra ID 应用

  1. 访问 Azure 门户
  2. 导航至 Microsoft Entra ID应用注册新注册
  3. 配置应用:
    • 名称:MCP-Microsoft365
    • 支持的帐户类型:单租户(推荐)
    • 重定向 URI:http://localhost:3000/callback

2. 添加 API 权限

为 Microsoft Graph 添加以下 应用程序权限

Mail.Read, Mail.Send, Mail.ReadWrite
Calendars.Read, Calendars.ReadWrite
Files.Read.All, Files.ReadWrite.All
Tasks.Read.All, Tasks.ReadWrite.All
Chat.Read.All, Chat.ReadWrite.All
User.Read.All

重要: 点击“授予管理员同意”

3. 获取凭据

保存以下信息:
- 应用程序(客户端)ID
- 目录(租户)ID
- 客户端密码(在“证书和密码”下创建)

4. 安装项目

# 克隆/下载项目
cd mcp-microsoft365

# 安装依赖
npm install

# 构建项目
npm run build

5. 配置 mcporter

mcporter config add m365 --stdio "node /path/to/mcp-microsoft365/dist/index.js"

编辑 config/mcporter.json 文件以添加环境变量:

{
  "mcpServers": {
    "m365": {
      "command": "node /path/to/dist/index.js",
      "env": {
        "TENANT_ID": "your-tenant-id",
        "CLIENT_ID": "your-client-id",
        "CLIENT_SECRET": "your-client-secret",
        "DEFAULT_USER": "user@yourdomain.com"
      }
    }
  }
}

使用示例

邮件

# 列出最近的邮件
mcporter call m365.m365_mail_list top:5

# 发送邮件
mcporter call m365.m365_mail_send to:"recipient@email.com" subject:"Hello" body:"<p>Hi!</p>"

# 搜索邮件
mcporter call m365.m365_mail_search query:"important"

日历

# 列出事件
mcporter call m365.m365_calendar_list top:10

# 创建包含 Teams 会议的事件
mcporter call m365.m365_calendar_create subject:"Team Sync" start:"2026-01-27T10:00:00" end:"2026-01-27T11:00:00" isOnline:true

文件

# 列出 OneDrive 根目录
mcporter call m365.m365_files_list

# 搜索文件
mcporter call m365.m365_files_search query:"report"

任务

# 列出任务列表
mcporter call m365.m365_tasks_lists

Teams

# 列出聊天
mcporter call m365.m365_teams_chats top:10

19 个可用工具

工具 描述
m365_mail_list 列出邮件
m365_mail_read 按 ID 读取邮件
m365_mail_send 发送邮件
m365_mail_search 搜索邮件
m365_calendar_list 列出日历事件
m365_calendar_create 创建日历事件
m365_calendar_availability 检查忙闲状态
m365_files_list 列出文件
m365_files_search 搜索文件
m365_files_read 读取文件内容
m365_files_info 获取文件元数据
m365_tasks_lists 列出任务列表
m365_tasks_list 列出任务
m365_tasks_create 创建任务
m365_teams_chats 列出聊天
m365_teams_messages 读取消息
m365_teams_send 发送消息
m365_users_list 列出用户
m365_user_info 获取用户资料

作者

Mahmoud Alkhatib
- 网站:malkhatib.com
- YouTube:@malkhatib
- Twitter:@malkhateeb

许可证

MIT

3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor