Token导航 LogoToken导航

MCP Server · 办公协作

MCP Microsoft Office

通过Graph API连接AI客户端与Microsoft 365,实现多用户协作、文件管理、邮件处理等117种工具操作。

未说明官方级别未说明来源级核验工具 116
JavaScriptClaude团队协作Claude Desktop

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
Aanerud
提供方
Aanerud

工具数量

116

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

47

仓库热度

收录来源

2 个

MCP World

选型结论

MCP Microsoft Office 属于办公协作类 MCP Server,公开资料标注 116 个工具,通过传输方式未标注接入,适配 Claude Desktop、Claude,没有现成的安装命令;接入前要先准备 OAuth 授权。

分类

办公协作

传输方式

未说明

认证方式

OAuth 授权

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 116 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

公开资料仍需确认:安装命令

详细介绍

MCP微软办公软件

一台MCP服务器。多个用户。测试租户上的真实Microsoft 365流量。

______________________________________________________________________

问题

测试租户坐空了。静态测试数据不能执行真实的工作流程。当你需要能够发送真实电子邮件、安排真实会议和在真实团队渠道中协作的代理时,模拟和存根是不够的。

这解决了什么

该项目通过Graph API将任何兼容MCP的AI客户端连接到Microsoft 365。每个代理都作为不同的租户用户进行身份验证,并对真实数据执行实际操作。

  • 117工具 跨12个模块:邮件、日历、文件、, Excel, 字, 幻灯片、团队、联系人、待办事项、组、人员、搜索
  • 多用户:一台服务器支持整个团队,每台服务器都有独立的数据
  • 实图API调用:每个操作都会击中实际租户,而不是模拟租户
  • 安全:静态加密的令牌,第三方服务器上不存储凭据

______________________________________________________________________

建筑

                    ┌──────────────────┐
                    │  MCP Client      │
                    │  (Claude, etc.)  │
                    └────────┬─────────┘
                             │ JSON-RPC (stdin/stdout)
                    ┌────────▼─────────┐
                    │  MCP Adapter     │
                    │  (runs locally)  │
                    └────────┬─────────┘
                             │ HTTP + Bearer Token
                    ┌────────▼─────────┐
                    │  MCP Server      │
                    │  (local or       │
                    │   remote)        │
                    └────────┬─────────┘
                             │ Microsoft Graph API
                    ┌────────▼─────────┐
                    │  Microsoft 365   │
                    │  (your tenant)   │
                    └──────────────────┘

三个部分:

  1. MCP客户端 --您与之交互的AI
  2. MCP适配器 --将MCP协议转换为HTTP请求的Node.js进程(与客户端在同一台机器上运行)
  3. MCP服务器 --处理身份验证并调用Microsoft Graph API(在本地或远程服务器上运行)

______________________________________________________________________

权限

服务器需要18个Microsoft Graph委托权限。十二项工作未经管理员同意。六项要求租户管理员同意。

无需管理员同意

权限工具已解锁
User.Read身份验证、用户配置文件
Mail.ReadWritereadMail,readMailDetails,markEmailRead,flagMail,getMailAttachments,addMailAttachment,removeMailAttachment
Mail.SendsendMail,回复ToMail
Calendars.ReadWritegetEvents、createEvent、updateEvent、cancelEvent、acceptEvent、tentiveAcceptEvent、declineEvent、getAvailability、findMeetingTimes、getRooms、getCalendars、addAttachment、removeAttachment
Files.ReadWrite.AlllistFiles、uploadFile、downloadFile、getFileMetadata、getFileContent、setFileContent、updateFileContent、createSharingLink、getSharingLinks、removeSharingPermission、listChannelFiles、upload FileToChannel、readChannelFile、, 所有Excel工作簿工具, 所有Word/PowerPoint工具
Contacts.ReadWritelist联系人、获取联系人、创建联系人、更新联系人、删除联系人、搜索联系人
Tasks.ReadWritelistTaskList、getTaskList、createTaskList、updateTaskList、deleteTaskList、listTasks、getTask、createTask、updateTask、deleteTask、completeTask
Chat.ReadWritelistChats,createChat,getChatMessages,sendChatMessage
Channel.ReadBasic.AlllistTeamChannels,getChannelMessages
ChannelMessage.SendsendChannelMessage,replyToMessage
Channel.Create创建团队频道
OnlineMeetings.ReadWrite创建在线会议、获取在线会议、列出在线会议、通过JoinUrl获取会议

需要管理员同意

权限其他工具已解锁
User.Read.All跨团队解析用户ID,人员搜索
People.Read.All查找人员,获取相关人员,获取PersonById
Group.Read.AlllistGroups,getGroup,listGroupMembers,listMyGroups
ChannelMember.ReadWrite.AlladdChannelMember
ChannelMessage.Read.All读取频道消息历史记录
OnlineMeetingTranscript.Read.AllgetMeetingTranscripts,getMeetingTranscript内容

未经管理员同意,您将获得邮件、日历、文件、Excel工作簿、Word文档、PowerPoint演示文稿、联系人、待办事项、聊天和基本团队频道操作。 经管理员同意,您可以添加人员目录搜索、组、频道成员管理和会议记录。

______________________________________________________________________

快速开始

先决条件

  • Node.js 18+ (下载)
  • 克劳德桌面 (下载)或另一个MCP客户端
  • Microsoft 365帐户 (工作、学校或个人)

步骤1:Azure应用程序注册

  1. 首选 Azure门户 > 微软Entra ID > 应用注册 > 新注册
  2. 命名它 MCP-Microsoft-Office,使用您首选的帐户类型注册
  3. 复制 应用程序(客户端)ID 和 目录(租户)ID
  4. 首选 API权限 > 添加权限 > 微软图形 > 委托权限
  5. 添加上面列出的18个权限
  6. 如果您是租户管理员,请单击 授予管理员同意
  7. 首选 认证 > 添加平台 > 网络

- 重定向URI: http://localhost:3000/api/auth/callback - 启用 允许公共客户端流

步骤2:克隆和配置

git clone https://github.com/Aanerud/MCP-Microsoft-Office.git
cd MCP-Microsoft-Office
npm install

复制 .env.example 到 .env 并填写您的Azure应用程序详细信息:

MICROSOFT_CLIENT_ID=your-client-id
MICROSOFT_TENANT_ID=your-tenant-id

步骤3:启动服务器并进行身份验证

npm run dev:web

打开 http://localhost:3000 在您的浏览器中。点击 使用Microsoft登录,登录并授予权限。然后单击 生成MCP令牌 并复制令牌。

步骤4:配置Claude桌面

编辑您的Claude Desktop配置:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json

Claude Desktop的实际限制是每个MCP服务器约55个工具。该项目公开了117个工具,因此我们将它们分为三个共享相同适配器和后端的服务器:

{
  "mcpServers": {
    "microsoft-365": {
      "command": "node",
      "args": ["/path/to/MCP-Microsoft-Office/mcp-adapter.cjs"],
      "env": {
        "MCP_SERVER_URL": "http://localhost:3000",
        "MCP_BEARER_TOKEN": "paste-your-token-here",
        "MCP_MODULES": "search,mail,calendar,files,people,contacts,groups,query"
      }
    },
    "microsoft-365-teams": {
      "command": "node",
      "args": ["/path/to/MCP-Microsoft-Office/mcp-adapter.cjs"],
      "env": {
        "MCP_SERVER_URL": "http://localhost:3000",
        "MCP_BEARER_TOKEN": "paste-your-token-here",
        "MCP_MODULES": "teams,todo"
      }
    },
    "microsoft-365-office": {
      "command": "node",
      "args": ["/path/to/MCP-Microsoft-Office/mcp-adapter.cjs"],
      "env": {
        "MCP_SERVER_URL": "http://localhost:3000",
        "MCP_BEARER_TOKEN": "paste-your-token-here",
        "MCP_MODULES": "excel,word,powerpoint,files"
      }
    }
  }
}

MCP_MODULES 过滤适配器暴露的模块。省略它以显示所有117个工具(适用于没有工具盖的客户端)。

集 MCP_DEBUG=1 在 env 块以启用到stderr的诊断日志记录,这对于排除工具调度问题非常有用。

重新启动克劳德桌面。问: *“今天我的日历上有什么?”* 或 *“使用预算表创建Excel工作簿。”*

______________________________________________________________________

工具(117)

邮件(9)

工具说明
readMail阅读收件箱消息
sendMail发送电子邮件
replyToMail回复电子邮件
readMailDetails获取完整的电子邮件内容
markEmailRead将电子邮件标记为已读/未读
flagMail标记或取消标记电子邮件
getMailAttachments列出电子邮件附件
addMailAttachment在电子邮件中添加附件
removeMailAttachment从电子邮件中删除附件

日历(13)

工具说明
getEvents获取日历事件
createEvent创建会议或活动
updateEvent修改现有事件
cancelEvent取消活动
acceptEvent接受会议邀请
tentativelyAcceptEvent暂时接受
declineEvent拒绝会议邀请
getAvailability查看空闲/繁忙时间
findMeetingTimes查找最佳会议时段
getRooms查找会议室
getCalendars列出所有日历
addAttachment向事件添加附件
removeAttachment删除事件附件

文件(10)

工具说明
listFiles列出OneDrive文件
uploadFile上传文件
downloadFile下载文件
getFileMetadata获取文件信息
getFileContent读取文件内容
setFileContent写入文件内容
updateFileContent更新现有文件
createSharingLink创建共享链接
getSharingLinks列出共享链接
removeSharingPermission删除共享访问权限

Excel(30)

直接使用存储在OneDrive或SharePoint中的Excel工作簿,无需下载文件。所有操作都通过Microsoft Graph的工作簿API进行透明的会话管理。

工具说明
createWorkbookSession打开工作簿会话(持久或临时)
closeWorkbookSession关闭活动工作簿会话
listWorksheets列出工作簿中的所有工作表
addWorksheet添加新工作表
getWorksheet按名称或ID获取工作表
updateWorksheet重命名、重新定位或隐藏工作表
deleteWorksheet删除工作表
getRange读取单元格值、公式和格式
updateRange将值写入单元格范围
getRangeFormat获取格式(字体、填充、边框)
updateRangeFormat设置格式(粗体、颜色、数字格式)
sortRange在一定范围内对单元格进行排序
mergeRange合并单元格
unmergeRange取消合并单元格
listTables列出工作表中的所有表
createTable从范围创建表
updateTable重命名或重新设置表样式
deleteTable删除表格
listTableRows列出表中的所有行
addTableRow向表中添加行
deleteTableRow按索引删除行
listTableColumns列出表中的所有列
addTableColumn向表中添加列
deleteTableColumn删除列
sortTable按列对表进行排序
filterTable对表列应用筛选器
clearTableFilter清除列筛选器
convertTableToRange将表转换回纯范围
callWorkbookFunction调用300多个Excel函数中的任何一个(SUM、VLOOKUP、PMT等)
calculateWorkbook重新计算所有公式

单词(5)

创建、阅读和转换Word文档。文档由结构化JSON创建并存储在OneDrive中。阅读使用多库回退链:mammath(.docx的最佳HTML)→ 单词提取器(同时处理.doc和.docx)→ webUrl回退。二进制下载使用Graph测试版 /contentStream 用于可靠二进制传输的端点。

工具说明
createWordDocument从结构化内容(标题、段落、表格、列表、图像)创建.docx
readWordDocument以HTML和纯文本形式读取文档
getWordDocumentMetadata获取标题、作者、日期、关键字
getWordDocumentAsHtml将文档内容转换为HTML
convertDocumentToPdf将Word文档转换为PDF
注: 一些SharePoint租户在上传后几秒钟内将上传的.docx文件转换为OLE2二进制格式。当这种情况发生时,客户端解析库无法读取文件。服务器优雅地返回 webUrl 因此用户可以在浏览器中打开文档。

PowerPoint(4)

创建、阅读和转换PowerPoint演示文稿。演示文稿由结构化幻灯片数据构建并存储在OneDrive中。阅读使用Graph HTML转换和jszip回退进行幻灯片级文本提取。

工具说明
createPresentation创建一个包含标题、内容和空白幻灯片的.pptx
readPresentation读取幻灯片内容(每张幻灯片的文本元素)
getPresentationMetadata获取标题、作者、幻灯片数量、日期
convertPresentationToPdf将演示文稿转换为PDF

团队(21)

工具说明
listChats列出团队聊天记录
createChat创建新聊天
getChatMessages阅读聊天信息
sendChatMessage发送聊天消息
listJoinedTeams列出你的团队
listTeamChannels列出团队频道
createTeamChannel创建频道
addChannelMember将成员添加到频道
getChannelMessages读取频道消息
sendChannelMessage发布到频道
replyToMessage回复频道消息
listChannelFiles列出频道中的文件
uploadFileToChannel将文件上传到频道
readChannelFile读取频道文件
createOnlineMeeting创建团队会议
getOnlineMeeting获取会议详细信息
listOnlineMeetings列出在线会议
getMeetingByJoinUrl通过加入URL查找会议
getMeetingTranscripts获取会议记录
getMeetingTranscriptContent阅读成绩单内容

*(注: addChannelMember 仅适用于私人频道。标准频道自动包括所有团队成员。)*

联系人(6)

工具说明
listContacts列出联系人
getContact获取联系方式
createContact创建联系人
updateContact更新联系信息
deleteContact删除联系人
searchContacts搜索联系人

待办事项(11)

工具说明
listTaskLists列出任务列表
getTaskList获取任务列表
createTaskList创建任务列表
updateTaskList重命名任务列表
deleteTaskList删除任务列表
listTasks列出任务
getTask获取任务详细信息
createTask创建任务
updateTask更新任务
deleteTask删除任务
completeTask标记任务完成

团体(4)

工具说明
listGroups列出Microsoft 365组
getGroup获取组详细信息
listGroupMembers列出组成员
listMyGroups列出您的组

人(3)

工具说明
findPeople搜索目录
getRelevantPeople频繁联系
getPersonById获取人员详细信息

搜索(1)

工具说明
search跨电子邮件、文件、事件和聊天消息的统一搜索

______________________________________________________________________

多用户

每个用户都独立进行身份验证。服务器通过用户身份隔离所有数据。

  Alice (alice@contoso.com)          Bob (bob@contoso.com)
  ├─ Her own Microsoft tokens        ├─ His own Microsoft tokens
  ├─ Her own session                  ├─ His own session
  └─ Claude Desktop (her laptop)     └─ Claude Desktop (his PC)

              Complete data isolation.
         Alice never sees Bob's data.

对于 使用多个代理进行自动化测试,使用ROPC(资源所有者密码凭据)流以编程方式进行身份验证:

# Start the server
npm run dev:web

# Run the E2E test suite (authenticates 3 users via ROPC)
node tests/run-all.cjs

该测试套件对多个用户进行身份验证,然后在12个模块和5个跨模块工作流中练习所有117个工具。看 tests/ 为了全面实施。

______________________________________________________________________

E2E测试套件

该项目包括一个涵盖所有117个工具的全面测试套件。

# Run all tests (requires server running)
node tests/run-all.cjs

# Run a single module
node tests/run-all.cjs --bucket mail --buckets-only

# Run only workflows
node tests/run-all.cjs --workflows-only

测试结构:

tests/
  lib/           Shared auth, HTTP client, reporter
  buckets/       One file per module (12 files, 117 tools)
  workflows/     Cross-module tests (5 files)
  run-all.cjs    Master runner

测试通过ROPC进行身份验证(无需手动令牌管理),并在约100秒内运行。

______________________________________________________________________

环境变量

复制 .env.example 到 .env 并配置:

变量必填描述
MICROSOFT_CLIENT_ID是Azure应用程序客户端ID
MICROSOFT_TENANT_ID是Azure租户ID
MICROSOFT_REDIRECT_URI否OAuth回调URL(默认值: http://localhost:3000/api/auth/callback)
DEVICE_REGISTRY_ENCRYPTION_KEY生产用于令牌存储的32字节加密密钥
JWT_SECRET生产签署JWT代币的秘密
CORS_ALLOWED_ORIGINS生产逗号分隔的允许来源
PORT无服务器端口(默认值: 3000)
NODE_ENV没有development 或 production

______________________________________________________________________

部署

本地(建议入门)

npm install
npm run dev:web

Azure应用服务

看 docs/azure-deployment.md 使用GitHub Actions进行CI/CD部署。

______________________________________________________________________

安全

  • 加密存储:所有使用AES-256静态加密的Microsoft令牌
  • 没有客户机密:使用公共客户端流(PKCE)进行桌面身份验证
  • 令牌隔离:每个用户的令牌分别存储在不同的加密密钥中
  • 速率限制:内置速率限制可防止滥用
  • CORS保护:生产中的起源异物种
  • 会话到期:会话将在24小时后过期

生产清单

  • \[\]设置 NODE_ENV=production
  • \[\]设置 DEVICE_REGISTRY_ENCRYPTION_KEY (32字节)
  • \[\]设置 JWT_SECRET (强随机字符串)
  • \[\]设置 CORS_ALLOWED_ORIGINS
  • \[\]使用带有有效证书的HTTPS

______________________________________________________________________

项目结构

MCP-Microsoft-Office/
├── mcp-adapter.cjs          MCP protocol adapter (runs locally with Claude Desktop)
├── src/
│   ├── api/                 Express routes and controllers
│   ├── auth/                MSAL authentication (OAuth2, ROPC, token exchange)
│   ├── core/                Services (cache, storage, tools, error handling)
│   ├── graph/               Microsoft Graph API services
│   │   ├── graph-client.cjs   HTTP client with retry, binary support, sessions
│   │   ├── files-service.cjs  OneDrive file operations
│   │   ├── excel-service.cjs  Workbook API (sessions, ranges, tables, functions)
│   │   ├── word-service.cjs   Word create/read (docx + mammoth + word-extractor)
│   │   └── powerpoint-service.cjs  PPT create/read (pptxgenjs + jszip)
│   └── modules/             Feature modules (mail, calendar, excel, word, powerpoint, etc.)
├── public/                  Web UI for authentication
└── tests/                   E2E test suite (gitignored)

______________________________________________________________________

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 提交拉取请求

______________________________________________________________________

许可证

MIT许可证——见 许可证 文件。

工具与能力

工具数量

116

资源数量

0

提示词数量

0

能力标签

Microsoft365集成JavaScript本地部署GraphAPI多用户协作文件管理邮件处理AI自动化

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

消息与邮件处理

把群消息、邮件接进助手,按规则汇总和回复。

工单与任务流转

在对话里建单、改状态,少切换系统。

团队信息同步

把会议纪要和文档更新同步到协作工具。

选择建议

值得选的地方

  • 工具数量 116 个,一次接入能覆盖的操作比单点工具更全。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 需要自备OAuth 授权,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在办公协作场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 暂时拿不到OAuth 授权的人。
  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
MCP Microsoft Office

MCP World · 本页

116未说明未标注2 个2026-05-17
Karakeep MCP

MCP World

0未说明未标注1 个2026-05-17
Excalidraw MCP App

MCP World

0未说明未标注1 个2026-05-17
Slack MCP

MCP.so

18stdio有4 个2026-05-17
HiveChat MCP

MCP World

0HTTP未标注2 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

MCP Microsoft Office 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

MCP Microsoft Office 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

MCP Microsoft Office 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

MCP Microsoft Office 需要 API Key 吗?

公开资料标注的认证方式是OAuth 授权,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

MCP Microsoft Office 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP