通过模型上下文协议(MCP)实现完整的 Microsoft 365 集成。
MCP-Microsoft365http://localhost:3000/callback为 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
重要: 点击“授予管理员同意”
保存以下信息:
- 应用程序(客户端)ID
- 目录(租户)ID
- 客户端密码(在“证书和密码”下创建)
# 克隆/下载项目
cd mcp-microsoft365
# 安装依赖
npm install
# 构建项目
npm run build
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
# 列出聊天
mcporter call m365.m365_teams_chats top:10
| 工具 | 描述 |
|---|---|
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