Token导航 LogoToken导航TokenDH.com
M365 MCP Server Production logo
安全风控未说明官方级别未说明来源级核验

M365 MCP Server Production

MCP Server

一个企业级的Microsoft 365 MCP服务器,通过Cloudflare Access和AI Gateway提供安全的入口控制和可审计的操作。

工具数

0

提示词数

0

GitHub Stars

2

资源数

0
TypeScript安全开发工具

安装说明

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

作者 / 组织

nikolanovoselec

提供方

nikolanovoselec

最后核验

2026/5/17 20:20

快速接入

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

详细介绍

Microsoft 365 MCP 服务器生产转换指南

这个仓库记录了开源项目的加固部署情况 m365-mcp-server 翻译为中文是:“M365 MCP 服务器” 项目。 目标是将实验性的Cloudflare Worker发展成为一个企业级代理,具备 明确的入口控制,受监管的出口,以及可审计的操作。

您是在寻找功能级行为、工具定义还是本地开发说明? 请参阅上游仓库的文档: - README(文件) - 操作 - 技术的

范围

  • 源代码 在引入AI网关绑定的同时,镜像上游工作者(或:反映上游工作者的情况),

强化的环境类型定义,以及以安全为中心的默认设置。

  • 文档 在这个仓库中,我们专注于生产就绪性

以及为进入受保护的Cloudflare环境所需的转换步骤。

  • 操作 该材料提供了确定性的部署程序,

验证、记录和变更管理。

安全转型目标

  1. 周界管控 – 使用Cloudflare Access保护工作人员

在任何MCP握手发生之前(进行单点登录(SSO)、多因素认证(MFA)、设备状态检查、服务令牌处理)。

  1. 应用程序授权 – 在保持Microsoft OAuth 2.1 + PKCE流程的同时

仅通过……来存储秘密 wrangler secret

  1. 出口治理(或:退出机制管理) - 路由所有出站API调用(Microsoft Graph、LLMs、webhooks)

通过Cloudflare AI Gateway,并附带用于日志记录和策略执行的元数据。

  1. 操作护栏 – 保持可重复的部署、可观测性以及

适用于受监管环境的事件响应检查清单。

  1. 可审计的图数据流出(或:可审计的图形出口) – 所有 Microsoft Graph 调用均通过 Cloudflare AI 进行处理

富含元数据的网关(userIduserEmailmcpToolrequestId)和 暴露网关日志标识符,以便调查时可以在各个Worker日志之间进行关联分析 以及网关分析。

这个分支与上游分支有何不同

区域描述推理Cloudflare 组件示例行
工作环境绑定移除本地测试标志并添加 AI 绑定加可选的Cloudflare Access头部,以便运行时配置仅通过密钥提供。保持生产环境部署由密钥驱动,并向下游处理程序暴露Access上下文。AI网关、Access、持久对象src/index.ts#L30-L63
图形客户端传输引入 GatewayMetadata通过代理转发请求 env.AI.run("dynamic/microsoft-graph-handler", …),并捕获 aiGatewayLogId 每次调用后。确保每个Microsoft Graph请求都通过Cloudflare AI Gateway进行,以便在事件响应时提供审计元数据。AI Gatewaysrc/microsoft-graph.ts#L66-L639
持久对象元数据 + 日志记录从Access/Microsoft身份构建每种工具的元数据,将其转发到Graph客户端,并记录由此产生的网关关联ID。在不暴露原始令牌的情况下,提供MCP工具执行、Access身份和AI网关分析之间的可追溯性。Access、AI网关、持久对象src/microsoft-mcp-agent.ts#L109-L218
工作器配置wrangler.example.toml 提供占位符绑定,为必填项 [[ai]] 配置,并提供关于Cloudflare密钥的明确说明。防止意外泄露租户特定标识符,并指导操作人员使用Cloudflare密钥存储。AI网关,Workers KVwrangler.example.toml

所需的 Cloudflare 密钥

秘密目的必要配置
MICROSOFT_CLIENT_ID 在OAuth流程中使用的Microsoft Entra应用程序(客户端)ID。wrangler secret put MICROSOFT_CLIENT_ID
MICROSOFT_TENANT_ID 用于令牌端点的 Microsoft Entra 租户标识符。(这个符号在中文里通常表示“正确”或“完成”的意思,但直接翻译时可能无法完全传达其在特定语境中的含义,因此在这里保留原符号并稍作解释) wrangler secret put MICROSOFT_TENANT_ID
GRAPH_API_VERSION 微软图API版本(例如。, v1.0) 在构建路由时使用。(中文可译为“正确”或根据上下文简化为“”) wrangler secret put GRAPH_API_VERSION
MICROSOFT_CLIENT_SECRET 用于代码/刷新交换的 Microsoft Entra 应用程序密钥。绝不能将其存储在 wrangler.toml 或者环境变量。wrangler secret put MICROSOFT_CLIENT_SECRET
ENCRYPTION_KEY 用于加密持久对象状态和OAuth属性的32字节十六进制密钥。(表示“已确认”或“正确”的意思,具体翻译可能根据上下文有所不同) wrangler secret put ENCRYPTION_KEY
COOKIE_ENCRYPTION_KEY 用于访问审批cookie加密的32字节十六进制密钥。wrangler secret put COOKIE_ENCRYPTION_KEY
COOKIE_SECRET 用于签名访问审批cookie的HMAC密钥。wrangler secret put COOKIE_SECRET
AI_GATEWAY_SERVICE_TOKEN如果策略要求经过身份验证的Worker访问,则为AI Gateway提供服务令牌。可选wrangler secret put AI_GATEWAY_SERVICE_TOKEN

仓库地图

验证检查清单,以及维护任务。

  • TECHNICAL.md – 深入探讨建筑(或架构)方面,涵盖访问控制、持久化对象、,

AI Gateway的调用模式、环境合约和日志记录策略。

  • src/ – 工作人员来源与加固后的环境相匹配。
  • wrangler.toml – 生产配置(AI绑定、持久对象、访问友好的路由)。

迁移路线图

  1. 提供Cloudflare Access – 创建一个自托管的应用程序防护系统 mcp.

并授权相关身份(人类+自动化)。

  1. 部署AI网关 – 创建 m365-egress-gateway启用日志记录/速率限制/数据防泄漏(DLP)功能,

并定义所需的动态路由(例如。, dynamic/microsoft-graph-handler)。

  1. 重构配置与密钥 – 通过(某种方式)绑定网关 [[ai]],移除 [vars]

填充占位符ID wrangler.toml,并使用(相应工具或方法)推送所有凭据 wrangler secret put

  1. 更新源代码 – 替换直接 fetch 带有(或与……一起使用的)祈求/召唤 env.AI.run(...)

附上;连接 gateway.metadata (用户标识符、MCP工具名称、关联ID), 并集中处理访问或网关拒绝时的错误。

  1. 部署并验证 – 跑 wrangler deploy --env production完成Access SSO(单点登录)的设置/配置,

微软同意,并执行工具流程;确认AI网关/访问遥测数据。

一目了然的转变

flowchart LR
    A[Early MCP Worker
Direct fetch + inline secrets] --> B[Phase 1
Cloudflare Access App]
    B --> C[Phase 2
MCP Portal + Linked Apps]
    C --> D[Phase 3
AI Gateway Dynamic Routes]
    D --> E[Phase 4
Code Refactor
env.AI.run + metadata]
    E --> F[Phase 5
Deploy & Validate
Access SSO • Gateway logs]
  • 变更与上游对比:现在访问前端 /sse,每个出站通道(Graph API、MCP响应、流式提示)都会经过AI网关进行检查/路由/DLP处理,并且持久对象会记录日志 aiGatewayLogId 审计轨迹的值。上游时间线:

https://github.com/nikolanovoselec/m365-mcp-server/blob/main/README.md#why-did-i-build-this 的中文翻译为:“https://github.com/nikolanovoselec/m365-mcp-server/blob/main/README.md#我为什么要构建这个”

转换总结

大约260行工作人员代码(分布在 src/index.tssrc/microsoft-graph.ts,和 src/microsoft-mcp-agent.ts)进行了调整,同时对Cloudflare控制台做了一些更改,以 将开源原型转化为企业级加固的Microsoft 365远程MCP服务器。新增安全控制措施:

  • Cloudflare Access 周界(或边界)/sse 现在位于SSO/MFA/设备状态之后,访问头信息到达持久对象以进行审计。
  • Cloudflare AI Gateway 出站(流量) – 每个出站通道(图表调用、MCP响应、提示流)都通过动态路由流动,这些路由实施策略、记录日志并执行数据丢失防护(DLP)。
  • 通过 Wrangler 实现的秘密生命周期管理 – 无凭据输入 [vars]; 秘密被存储/轮换使用 wrangler secret put
  • 持久对象相关性 – 工具执行日志记录在Cloudflare中 aiGatewayLogId将MCP活动与Gateway遥测系统相连接。
  • 配置卫生(或配置规范性维护) – 示例配置依赖于占位符和当前的兼容性日期;生产环境 wrangler.toml 专门消耗秘密(或:只关注秘密)。

参考材料

贡献;做出贡献

所有功能开发、工具增强或一般文档改进的工作都应源自 M365-MCP-服务器这里的贡献应 专注于生产加固、部署自动化和运营操作指南。在更新时 源代码,保持两个仓库同步以确保转换指南的准确性。

目录标签

目录标签

TypeScript安全开发工具企业级安全本地部署Microsoft365集成Cloudflare组件AI网关可审计操作

接入字段

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

未说明

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

oauth

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明oauth部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP