ms-365-mcp-server
Microsoft 365 MCP 服务器
softeria
README
ms-365-mcp-server
Microsoft 365 MCP 服务器
一个用于通过 Graph API 与 Microsoft 365 服务交互的模型上下文协议 (MCP) 服务器。
快速开始示例
在 Claude Desktop 中登录并测试身份验证:
功能
- 使用 Microsoft 身份验证库 (MSAL) 进行身份验证
- Excel 文件操作:
- 更新单元格值
- 创建和管理图表
- 格式化单元格
- 排序数据
- 创建表格
- 读取单元格值
- 列出工作表
- 构建于模型上下文协议之上
安装
npx @softeria/ms-365-mcp-server
与 Claude 集成
Claude Desktop
要将此 MCP 服务器添加到 Claude Desktop:
- 启动 Claude Desktop
- 转到 Settings > MCPs
- 点击 "Add MCP"
- 设置以下配置:
- Name:
ms
(或您喜欢的任何名称) - Command:
npx @softeria/ms-365-mcp-server
- 点击 "Add"
- Name:
或者,您可以直接编辑 Claude Desktop 的配置文件。位置因平台而异,但您可以通过转到 Settings > Developer > Edit Config 找到它。 将此添加到您的配置文件:
{
"mcpServers": {
"ms": {
"command": "npx",
"args": [
"-y",
"@softeria/ms-365-mcp-server"
]
}
}
}
使用 Claude Code CLI
Claude Code CLI 集成可用,但配置方法可能因当前版本而异。 请参阅 官方 Claude Code 文档 以获取有关添加 MCP 服务器的最新说明。
对于支持 MCP 的其他 Claude 界面,请参阅其各自的文档以获取正确的集成方法。
开发
设置
# 克隆存储库
git clone https://github.com/softeria-eu/ms-365-mcp-server.git
cd ms-365-mcp-server
# 安装依赖项
npm install
# 运行测试
npm test
GitHub Actions
此存储库使用 GitHub Actions 进行持续集成和部署:
- Build Workflow: 在所有推送到 main 的提交和拉取请求上运行。 验证项目是否成功构建并通过所有测试。
- Publish Workflow: 在创建新的 GitHub 版本时自动发布到 npm。
发布流程
要创建新版本:
# 默认(补丁版本):0.1.11 -> 0.1.12
npm run release
# 次要版本:0.1.11 -> 0.2.0
npm run release minor
# 主要版本:0.1.11 -> 1.0.0
npm run release major
此脚本将:
- 运行测试以验证一切正常
- 根据指定的类型(默认为补丁)增加版本号
- 提交版本更改
- 推送到 GitHub
- 创建 GitHub 版本
- 触发发布工作流程以发布到 npm
用法
命令行选项
npx @softeria/ms-365-mcp-server [options]
选项:
--login
: 强制使用设备代码流登录并验证 Graph API 访问权限--logout
: 注销并清除保存的凭据--test-login
: 测试当前身份验证并验证 Graph API 访问权限,而不启动服务器-v
: 启用详细日志记录
身份验证
重要提示: 在使用 MCP 服务器之前,您必须进行身份验证。 有两种身份验证方法:
-
使用
--login
标志运行服务器:npx @softeria/ms-365-mcp-server --login
这将在终端中显示登录 URL 和代码。
-
使用 Claude Code 或其他 MCP 客户端时,请使用登录工具:
- 首先使用
login
工具,它将返回登录 URL 和代码 - 访问 URL 并在浏览器中输入代码
- 然后使用
verify-login
工具检查登录是否成功
- 首先使用
两种方法都会触发设备代码流身份验证,但它们以不同的方式处理 UI 交互:
- CLI 版本直接在终端中显示说明
- MCP 工具版本将说明作为可以在客户端 UI 中显示的数据返回
您可以使用 --test-login
标志验证您的身份验证状态,该标志将检查您的令牌是否可以成功地从 Microsoft Graph API 获取用户数据:
npx @softeria/ms-365-mcp-server --test-login
如果身份验证成功,--login
和 --test-login
都将返回一个 JSON 响应,其中包含来自 Microsoft Graph API 的基本用户信息:
{
"success": true,
"message": "Login successful",
"userData": {
"displayName": "Your Name",
"userPrincipalName": "your.email@example.com"
}
}
身份验证令牌安全地缓存在您系统的凭据存储中,如果需要,可以回退到文件存储。
MCP 工具
此服务器提供多个 MCP 工具,用于与 Microsoft 365 服务交互:
身份验证工具
login
: 启动与 Microsoft 的新登录过程(返回登录 URL 和代码)verify-login
: 检查登录是否成功完成并验证 Graph API 访问权限logout
: 注销 Microsoft 并清除凭据test-login
: 测试当前身份验证状态并验证 Graph API 访问权限
文件/OneDrive 工具
list-files
: 列出指定路径中的文件和文件夹get-file
: 获取特定文件的详细信息create-folder
: 创建一个新文件夹delete-item
: 删除文件或文件夹copy-item
: 将文件或文件夹复制到新位置move-item
: 将文件或文件夹移动到新位置rename-item
: 重命名文件或文件夹search-files
: 搜索与查询匹配的文件get-shared-items
: 获取与您共享的项目列表create-sharing-link
: 为文件或文件夹创建共享链接get-file-content
: 获取文件的内容
Excel 工具
所有 Excel 工具都需要一个 filePath
参数来指定要操作的 Excel 文件。 您可以使用文件工具查找和管理您的 Excel 文件。
update-excel
: 更新 Excel 工作表中的单元格值create-chart
: 在 Excel 工作表中创建图表format-range
: 将格式应用于单元格范围sort-range
: 排序单元格范围create-table
: 从单元格范围创建表格get-range
: 从单元格范围获取值list-worksheets
: 列出工作簿中的所有工作表close-session
: 关闭特定 Excel 文件的会话close-all-sessions
: 关闭所有活动的 Excel 会话delete-chart
: 从工作表中删除图表get-charts
: 获取工作表中的所有图表
示例工作流程:
- 使用
list-files
在您的 OneDrive 中查找 Excel 文件 - 使用文件路径的
list-worksheets
查看可用的工作表 - 使用
get-range
从 Excel 文件中检索数据 - 根据需要使用其他 Excel 工具来操作文件
日历工具
用于处理 Outlook 日历的工具。
list-calendars
: 列出所有日历get-default-calendar
: 获取有关默认日历的信息list-events
: 从日历中列出事件,并具有可选的过滤、排序和日期范围get-detailed-events
: 获取具有扩展属性的事件,并可以选择包括正文、与会者、扩展等。get-event
: 获取有关特定日历事件的详细信息create-event
: 创建具有全面选项的新日历事件(敏感度、重要性、空闲/忙碌状态、可选与会者、提醒、在线会议、类别)create-recurring-event
: 创建具有相同全面选项和灵活重复模式的重复事件(每日、每周、每月、每年)update-event
: 更新现有日历事件delete-event
: 删除日历事件accept-event
: 接受日历会议邀请decline-event
: 拒绝日历会议邀请tentatively-accept-event
: 暂定接受日历会议邀请find-meeting-times
: 为一组与会者查找可用的会议时间get-schedules
: 获取多个用户或资源会议室的可用性信息
邮件工具
用于处理 Outlook 电子邮件的工具。
list-messages
: 从任何邮件文件夹中列出电子邮件,并具有强大的过滤、搜索和排序选项get-message
: 获取有关特定电子邮件的详细信息,并可以选择包括附件和其他元数据
推荐服务器
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
MCP Package Docs Server
促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。
Claude Code MCP
一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。
@kazuph/mcp-taskmanager
用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。
mermaid-mcp-server
一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。
Jira-Context-MCP
MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

Linear MCP Server
一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

Sequential Thinking MCP Server
这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。
Curri MCP Server
通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。