Token导航 LogoToken导航TokenDH.com
Office365 MCP Server logo
办公协作未说明官方级别未说明来源级核验

Office365 MCP Server

MCP Server

通过Claude Code CLI提供45个Office 365工具,实现电子邮件管理、日历操作、文件处理等功能。

工具数

0

提示词数

0

GitHub Stars

5

资源数

0
JavaScriptClaude团队协作Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

eesb99

提供方

eesb99

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Office 365 MCP服务器

使用45个功能强大的Office 365工具为Claude Code CLI完成Microsoft Graph API集成

![License: MIT](https://opensource.org/licenses/MIT) ](https://nodejs.org/) ![MCP Protocol](https://modelcontextprotocol.io) ![Tested](https://claude.com/claude-code)

将您的Office 365帐户与Claude Code CLI无缝集成,以实现智能电子邮件管理、日历操作、文件处理等。使用官方的模型上下文协议(MCP)SDK构建。

______________________________________________________________________

✨ 特性

  • 📧 电子邮件管理 -16种阅读、搜索、组织和发送电子邮件的工具
  • 📅 日历操作 -管理事件和日程的9个工具
  • 📁 OneDrive文件 -8个文件和文件夹管理工具
  • 👥 联系人 -4个联系人管理工具
  • 💬 微软Teams -5个团队协作工具
  • 任务和待办事项 -4个任务管理工具
  • 🔐 安全 -环境变量配置,无硬编码凭据
  • 快速 -基于官方MCP SDK构建,实现最佳性能

总计:45个生产就绪工具

______________________________________________________________________

📋 目录

______________________________________________________________________

🔧 需求

  • Node.js 18.0.0或更高
  • 克劳德代码CLI 已安装并配置
  • Microsoft 365帐户 (Office 365)
  • Azure AD应用程序 具有适当的权限
  • 管理员同意 适用于您的Azure AD租户

______________________________________________________________________

📦 安装

1.克隆存储库

git clone https://github.com/eesb99/office365-mcp-server.git
cd office365-mcp-server

2.安装依赖项

npm install

所需软件包:

  • @modelcontextprotocol/sdk -官方MCP SDK
  • @azure/msal-node -Microsoft身份验证库
  • @microsoft/microsoft-graph-client -Microsoft Graph API客户端
  • zod -架构验证

3.配置环境变量

复制示例配置:

cp .env.example .env

编辑 .env 使用您的Azure凭据(请参阅 Azure配置 在......下面

AZURE_CLIENT_ID=your-client-id-here
AZURE_AUTHORITY=https://login.microsoftonline.com/your-tenant-id-here
AZURE_CLIENT_SECRET=your-client-secret-here
OFFICE365_USER_EMAIL=your-email@yourdomain.com

⚠️ 永远不要承诺 .env 文件到Git!

______________________________________________________________________

☁️ Azure配置

步骤1:创建Azure AD应用程序注册

  1. 首选 Azure 门户
  2. 导航至 Azure Active Directory应用程序注册
  3. 点击 +新注册
  4. 配置:

- 姓名: Office 365 MCP Server (或您喜欢的名字) - 支持的帐户类型: Accounts in this organizational directory only - 重定向URI: 留空

  1. 点击 注册

第二步:记下您的凭据

注册后,请注意以下值:

  • 应用程序(客户端)ID -用途 AZURE_CLIENT_ID
  • 目录(租户)ID -使用于 AZURE_AUTHORITY 统一资源定位符

步骤3:创建客户端密码

  1. 在您的应用程序注册中,转到 证书和秘密
  2. 点击 +新客户机密
  3. 添加说明: MCP Server Secret
  4. 设置到期时间: 90 days (推荐,或选择您的偏好)
  5. 点击 添加
  6. ⚠️ 重要: 复制 价值 立即(只显示一次!)
  7. 用这个 AZURE_CLIENT_SECRET

步骤4:配置API权限

  1. 在您的应用程序注册中,转到 API权限
  1. 点击 +添加权限微软图形应用程序权限
  1. 添加这些权限:

所需权限(至少4个工具):

- User.Read.All - Mail.Read - Calendars.Read - Files.Read.All

全功能集(全部45个工具):

- Mail.ReadWrite -电子邮件管理 - Mail.Send -发送电子邮件 - MailboxSettings.ReadWrite -邮箱配置 - Calendars.ReadWrite -日历操作 - Files.ReadWrite.All -档案管理 - Contacts.ReadWrite -联系人管理 - Team.ReadBasic.All -团队访问权限 - Channel.ReadBasic.All -渠道信息 - ChannelMessage.Send -发送频道消息 - ChannelMessage.Read.All -读取频道消息 - Chat.ReadWrite -聊天管理 - Tasks.ReadWrite -任务管理

  1. 点击 添加权限

步骤5:授予管理员同意

⚠️ 关键: 添加权限后:

  1. 点击 ✓ 授予\[您的组织\]管理员同意
  2. 点击 确认
  3. 等待所有权限显示 ✓ 授予 状态

注: 应用程序权限需要管理员同意。如果您没有足够的权限,请与Microsoft 365管理员联系。

有关详细说明,请参阅 AZURE_使命_SETUP.md.

______________________________________________________________________

🤖 Claude代码CLI设置

配置

将此MCP服务器添加到您的Claude Code配置中:

地点: ~/.claude.json

{
  "mcpServers": {
    "office365": {
      "type": "stdio",
      "command": "node",
      "args": ["/absolute/path/to/office365-mcp-server/office365-sdk.js"],
      "env": {
        "AZURE_CLIENT_ID": "your-client-id-here",
        "AZURE_CLIENT_SECRET": "your-client-secret-here",
        "AZURE_AUTHORITY": "https://login.microsoftonline.com/your-tenant-id-here",
        "OFFICE365_USER_EMAIL": "your-email@yourdomain.com"
      }
    }
  }
}

重要提示:

  • 替换 /absolute/path/to/office365-mcp-server/ 与实际路径
  • 使用绝对路径,而不是相对路径
  • 将您的实际Azure凭据添加到 env 章节

验证安装

  1. 重新启动克劳德代码CLI
  2. 在新对话中,键入:
   list office 365 tools
  1. 您应该看到45个可用工具

故障排除: 如果工具未出现,请检查:

  • 路径 office365-sdk.js 绝对正确
  • 所有环境变量都设置在 ~/.claude.json
  • Node.js 18+已安装: node --version
  • 已安装依赖项: npm install

______________________________________________________________________

🚀 用法

在Claude Code CLI中配置后,您可以使用自然语言与Office 365交互:

示例命令

电子邮件:

"Show me my last 10 emails"
"Search for emails from jeff@example.com about Q4 budget"
"Send an email to team@company.com with subject 'Meeting Notes'"
"What emails are in my Sent Items folder?"

日历:

"What's on my calendar this week?"
"Create a meeting tomorrow at 2pm for 1 hour"
"Show all events in the next 30 days"

文件夹:

"List files in my OneDrive root folder"
"Search for files containing 'proposal'"
"Show me PDF files modified this month"

联络:

"List all my contacts"
"Find contact information for John Smith"

团队:

"List all my Teams"
"Show channels in the Marketing team"
"Get recent messages from the General channel"

任务:

"Show my task lists"
"What tasks are incomplete?"
"Create a task in my To-Do list"

______________________________________________________________________

📚 可用工具

📧 电子邮件管理(16个工具)

工具说明
get_recent_emails从收件箱获取最近的电子邮件
search_emails使用查询搜索电子邮件
get_email_by_id获取具体的电子邮件详细信息
send_email发送电子邮件
reply_to_email回复电子邮件
forward_email转发电子邮件
list_mail_folders列出所有邮件文件夹
get_folder_emails从特定文件夹获取电子邮件
search_in_folder在特定文件夹内搜索
move_email将电子邮件移动到文件夹
delete_email删除电子邮件
mark_as_read将电子邮件标记为已读
mark_as_unread将电子邮件标记为未读
get_email_attachments列出电子邮件附件
download_attachment下载附件
create_mail_folder创建新文件夹

📅 日历操作(9个工具)

工具说明
get_calendar_events获取即将到来的日历活动
get_event_by_id获取特定事件详细信息
create_calendar_event创建新日历事件
update_calendar_event更新现有事件
delete_calendar_event删除事件
list_calendars列出所有日历
get_calendar_view获取日期范围内的事件
find_meeting_times查找可用的会议时间
accept_event接受会议邀请

📁 OneDrive文件(8个工具)

工具说明
list_drive_items列出文件夹中的文件
get_file_by_id获取文件详细信息
search_drive搜索文件
download_file下载文件内容
upload_file上传新文件
create_folder创建新文件夹
delete_file删除文件或文件夹
move_file将文件移动到文件夹

👥 联系人(4个工具)

工具说明
list_contacts列出所有联系人
get_contact_by_id获取具体联系方式
create_contact创建新联系人
search_contacts搜索联系人

💬 微软团队(5个工具)

工具说明
list_teams列出所有团队
list_channels列出团队中的频道
get_channel_messages获取频道消息
send_channel_message向频道发送消息
list_chats列出最近的聊天记录

✅ 任务和待办事项(4个工具)

工具说明
list_todo_lists列出所有任务列表
get_list_tasks从列表中获取任务
create_task创建新任务
update_task更新现有任务

有关完整的工具文档,请参阅 办公室365_TOOLS.md

______________________________________________________________________

🧪 测试

选项1:使用Claude Code CLI进行测试

设置完成后,只需使用Claude Code中的自然语言命令即可。

选项2:独立测试

独立测试服务器:

# Test basic authentication
node tests/simple-test.js

# Test MCP server protocol
node tests/simple-mcp-server.js

注: 独立测试需要以下凭据 .env 文件。

______________________________________________________________________

🔐 安全

最佳实践

环境变量: 存储在环境变量中的所有凭据 ✅ 没有硬编码的秘密: 源代码中没有凭据 ✅ Git保护: .gitignore 阻止凭据提交 ✅ 验证: 启动验证确保设置了所有必需的变量 ✅ 管理员同意: 应用程序权限需要管理员批准

安全特性

  • 应用程序权限: 服务器到服务身份验证(无用户提示)
  • 访问范围: 仅限于配置的用户帐户
  • 审核日志记录: 使用Azure AD审核日志监视访问
  • 秘密轮换: 每90天轮换一次客户端机密(推荐)

安全文档

⚠️ 永不承诺 .env 文件或在代码中公开凭据!

______________________________________________________________________

🐛 故障排除

工具未出现在Claude代码中

检查:

  1. 路径在 ~/.claude.json 是绝对的(不是相对的)
  2. 所有环境变量都设置在 ~/.claude.json env 章节
  3. 配置后已重新启动Claude Code CLI
  4. node office365-sdk.js -应该没有错误地启动

身份验证错误

401未经授权:

  • 验证 AZURE_CLIENT_SECRET 正确(使用值,而不是秘密ID)
  • Azure门户中的检查密钥尚未过期
  • 确保 AZURE_CLIENT_IDAZURE_AUTHORITY 是正确的

403禁止:

  • 未授予管理员同意-检查Azure门户API权限
  • 同意传播后等待5-10分钟
  • 验证权限是否显示“✓已授予”状态

缺少权限

错误: “权限不足,无法完成操作”

解决方案:

  1. 转到Azure门户→ 应用程序注册→ 您的应用程序
  2. API权限→ 检查是否添加了所有必需的权限
  3. 再次点击“授予管理员同意”
  4. 验证所有显示“✓已授予”状态

连接问题

服务器启动失败:

  • 检查Node.js版本: node --version (需要18+)
  • 重新安装依赖关系: rm -rf node_modules && npm install
  • 验证是否已设置所有环境变量
  • 检查拼写错误 ~/.claude.json (验证JSON语法)

有关更多故障排除,请参阅 AZURE_使命_SETUP.md

______________________________________________________________________

🤝 贡献

欢迎投稿!这是一个开源项目。

如何贡献

  1. 分叉存储库
  2. 创建要素分支: git checkout -b feature/amazing-feature
  3. 进行更改
  4. 使用Claude Code CLI进行彻底测试
  5. 提交您的更改: git commit -m 'Add amazing feature'
  6. 推你的叉子: git push origin feature/amazing-feature
  7. 打开拉取请求

开发指南

  • 遵循现有的代码风格(JavaScript的2空格缩进)
  • 为新功能添加测试
  • 更新新工具的文档
  • 代码中没有硬编码的凭据
  • 使用环境变量进行配置

报告问题

发现错误或有建议? 打开一个问题

包括:

  • 克劳德代码CLI版本
  • Node.js版本
  • 操作系统
  • 错误消息(删除所有凭据!)
  • 重现步骤

______________________________________________________________________

📄 许可证

该项目根据 MIT许可证 -看看 许可证 文件以获取详细信息。

MIT License

Copyright (c) 2025 eesb99

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

______________________________________________________________________

🙏 致谢

______________________________________________________________________

📞 支持与联系

______________________________________________________________________

📊 项目统计

  • 版本: 2.0.0(安全强化)
  • 工具总数: 45
  • 代码质量: 生产就绪
  • 测试: 使用Claude Code CLI进行测试
  • 安全审计: 通过(见 最终_安全_审计.md)
  • 最后更新时间: 2025-10-29

______________________________________________________________________

🌟 明星历史

如果你觉得这个项目有用,请考虑在GitHub上给它一颗星! ⭐

______________________________________________________________________

由以下材料制成❤️ Claude Code社区

目录标签

目录标签

JavaScriptClaude团队协作Office365集成本地部署电子邮件管理日历操作文件处理

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明session部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP