mcpField
M
microsoft365-mcp-server

microsoft365-mcp-server

本地服务
github.com/sapientsai生产力11 天前更新

关于 microsoft365-mcp-server

microsoft365-mcp-server 是面向 Microsoft 365 的委托式 Microsoft Graph 网关。它通过 40 多种工具覆盖常用服务,另有配套的仅应用身份验证服务支持无头部署。

主要功能

  1. 0140 多种 Microsoft Graph 工具
  2. 02访问邮件、日历和联系人
  3. 03访问文件和 Teams
  4. 04访问 Planner、OneNote 和 To Do
  5. 05委托式 OAuth 身份验证

适用场景

  1. 01处理 Microsoft 365 邮件和日历
  2. 02访问 Teams 文件与联系人
  3. 03通过 Graph 使用 Planner 和 To Do

MCP 相关

该项目提供 Microsoft Graph MCP 服务。`microsoft365-mcp-server` 暴露委托式 Microsoft 365 操作,配套的 `microsoft-mcp-server` 则提供面向无头部署的仅应用工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"sapientsai-microsoft365": {
"command": "npx",
"args": [
"-y",
"microsoft365-mcp-server"
],
"env": {
"MS365_CLIENT_ID": "<MS365_CLIENT_ID>",
"MS365_TENANT_ID": "<MS365_TENANT_ID>",
"MS365_CLIENT_SECRET": "<MS365_CLIENT_SECRET>",
"MS365_CERT_PATH": "<MS365_CERT_PATH>",
"MS365_CERT_PASSWORD": "<MS365_CERT_PASSWORD>",
"MS365_ACCESS_TOKEN": "<MS365_ACCESS_TOKEN>",
"MS365_AUTH_MODE": "<MS365_AUTH_MODE>",
"MS365_OAUTH_BASE_URL": "<MS365_OAUTH_BASE_URL>",
"MS365_READ_ONLY": "<MS365_READ_ONLY>",
"MS365_ENABLED_TOOLS": "<MS365_ENABLED_TOOLS>",
"MS365_PRESETS": "<MS365_PRESETS>",
"MS365_ORG_MODE": "<MS365_ORG_MODE>",
"TRANSPORT_TYPE": "<TRANSPORT_TYPE>"
}
}
}
}
启动命令npx -y microsoft365-mcp-server
需要配置的环境变量
MS365_CLIENT_IDAzure AD application (client) ID. Every mode except client-token needs it.
MS365_TENANT_IDAzure AD tenant ID, or 'common'/'organizations'/'consumers'. Read by certificate, client-secret and oauth-proxy modes.
MS365_CLIENT_SECRET密钥Azure AD client secret (client-secret mode).
MS365_CERT_PATHPath to the certificate used by certificate mode.
MS365_CERT_PASSWORD密钥Password for the certificate at MS365_CERT_PATH, if it has one.
MS365_ACCESS_TOKEN密钥A Graph access token supplied directly (client-token mode).
MS365_AUTH_MODE密钥Auth mode: interactive (default), certificate, client-secret, client-token or oauth-proxy.
MS365_OAUTH_BASE_URL密钥Base URL of the OAuth proxy (oauth-proxy mode).
MS365_READ_ONLYSet to 'true' to expose read-only tools and refuse every write.
MS365_ENABLED_TOOLSCase-insensitive regular expression matched against tool names; only matching tools are registered. Not a comma-separated list.
MS365_PRESETSComma-separated tool presets to enable instead of naming tools individually.
MS365_ORG_MODESet to 'true' for organisation-wide (application-permission) behaviour.
TRANSPORT_TYPETransport: 'stdio' (the default, and what this npm package is listed as) or 'httpStream' for remote/Docker deployments.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmicrosoft365-mcp-server1.2.19

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

microsoft365-mcp 单体仓库

用于 Microsoft Graph MCP 服务的 pnpm 工作区。由已归档的 sapientsai/microsoft-mcp-server 演进而来——拆分为 基于共享核心的两个专用服务。仅应用身份验证服务保留原来的 microsoft-mcp-server 名称;委托式服务名为 microsoft365-mcp-server。

软件包

  • packages/microsoft365 — microsoft365-mcp-server,委托式 (OAuth 代理)MS365 网关:通过 Microsoft Graph 提供覆盖邮件、日历、联系人、文件、Teams、Planner、 OneNote、To Do 等的 40 多个工具。发布于 npm。请参阅其 README 和单体仓库的 DEPLOYMENT.md。
  • packages/graph — microsoft-mcp-server(原名称),精简的 仅应用身份验证(client_credentials)服务,专为无头文档 RAG 打造: microsoft_graph 透传 + microsoft_graph_batch + read_document + sharepoint_search + 可选的 azure_ai_search + /upload 中继。以 Docker 镜像形式发布于 ghcr.io/sapientsai/microsoft-mcp-server。请参阅其 README。
  • packages/core — @sapientsai/ms-graph-core,供两个服务使用的共享基础组件(上传 辅助工具、票据令牌、OData/分页、错误和身份验证策略类型)。 内部工作区软件包,不对外发布。

根据身份验证模式选择:当有用户可以授权时(交互式 OAuth),使用 packages/microsoft365;对于租户范围的无头、仅应用身份验证部署,使用 packages/graph。

开发

pnpm install
pnpm validate   # format + lint + test + build across all packages
pnpm build      # build all packages
pnpm test       # test all packages

在各软件包目录中运行对应的命令,例如:

pnpm --filter microsoft365-mcp-server build
pnpm --filter microsoft-mcp-server dev

历史

拆分的设计背景见 SAI_PLAN_ms-graph-monorepo_2026-06-20.md。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。