Token导航 LogoToken导航TokenDH.com
MCP M365 Mgmt logo
运维云端stdio官方级别未说明来源级核验

MCP M365 Mgmt

MCP Server

一个全面的模型上下文协议(MCP)服务器,用于管理Microsoft 365、Microsoft Entra ID和Microsoft Intune资源,提供32种工具自动化用户管理、设备管理、文件操作和基础设施监控。

工具数

0

提示词数

0

GitHub Stars

3

资源数

0
PythonClaude设备管理Claude DesktopClaude

安装说明

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

作者 / 组织

thiagogbeier

提供方

thiagogbeier

最后核验

2026/5/17 20:19

运行时

Python

快速接入

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

命令预览

python -m venv .venv

详细介绍

Microsoft 365/Intune MCP服务器

一个全面的模型上下文协议(MCP)服务器,用于管理Microsoft 365、Microsoft Entra ID和Microsoft Intune资源。该服务器提供32个工具,用于自动化用户管理、设备管理、文件操作和基础设施监控。

🎯 概述

此MCP服务器使AI助手和自动化工具能够与以下对象进行交互:

  • 微软Entra ID -用户和组管理
  • Microsoft Intune -设备、策略和应用程序管理
  • SharePoint和OneDrive -文档创建和管理
  • Windows自动驾驶仪 -设备配置
  • 微软隧道 -网关监控
  • 移动设备管理 -Android和iOS政策
  • 应用程序保护策略 -MAM政策

🚀 快速开始

先决条件

  • Python 3.8或更高版本
  • 具有适当许可证的Azure订阅(Intune、Microsoft 365)
  • 具有所需权限的Azure AD应用程序注册

安装

  1. 克隆或下载此存储库
   git clone 
   cd mcp-entra-server
  1. 创建虚拟环境
   python -m venv .venv

   # Windows
   .venv\Scripts\activate

   # macOS/Linux
   source .venv/bin/activate
  1. 安装依赖项
   pip install fastmcp azure-identity requests python-docx openpyxl python-pptx odfpy python-dotenv
  1. 配置环境变量

创建一个 .env 项目根目录中的文件:

   # Authentication Mode: "app" or "user"
   AUTH_MODE=app

   # Azure Service Principal Credentials (for app mode)
   AZURE_CLIENT_ID=your-client-id
   AZURE_TENANT_ID=your-tenant-id
   AZURE_CLIENT_SECRET=your-client-secret
  1. 运行服务器
   python entra_server.py

🔐 Azure应用程序注册设置

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

  1. 首选 Azure门户Azure Active Directory应用程序注册
  2. 点击 新注册
  3. 输入名称(例如“MCP Entra服务器”)
  4. 支持的帐户类型 转为“单一租户”
  5. 点击 注册

步骤2:创建客户端密码

  1. 在您的应用程序注册中,转到 证书和秘密
  2. 点击 新客户机密
  3. 添加描述并选择过期时间
  4. 点击 添加
  5. 立即复制机密值 (你不会再看到它了)

步骤3:配置API权限

首选 API权限 并添加以下内容 应用程序权限:

Microsoft图形权限

用户和组管理:

  • User.ReadWrite.All -创建和管理用户
  • Group.Read.All -阅读组和成员资格
  • Directory.Read.All -读取目录数据

设备管理:

  • DeviceManagementManagedDevices.Read.All -读取受管设备
  • DeviceManagementServiceConfig.Read.All -读取设备管理配置
  • DeviceManagementApps.Read.All -阅读Intune应用程序
  • DeviceManagementConfiguration.Read.All -读取设备配置

文件操作:

  • Sites.ReadWrite.All -读写SharePoint网站
  • Files.ReadWrite.All -读取和写入文件

添加权限后,单击 授予管理员同意 为您的租户。

步骤4:复制凭据

从您的应用程序注册 概述 第页,副本:

  • 应用程序(客户端)IDAZURE_CLIENT_ID
  • 目录(租户)IDAZURE_TENANT_ID
  • 客户端机密(来自步骤2)→ AZURE_CLIENT_SECRET

📋 完整工具列表(32个工具)

👥 用户和组管理(4个工具)

  • create_user -在Microsoft Entra ID中创建新用户
  • get_user_info -按ID获取用户详细信息
  • list_users -列出租户中的所有用户
  • list_groups -列出所有组
  • get_group_members -获取群组成员资格

📱 Intune设备管理(6个工具)

  • list_intune_devices -列出受管理设备
  • list_intune_compliance_policies -列出合规政策
  • list_intune_configuration_policies -列出配置策略
  • list_intune_filters -列出分配筛选器
  • list_intune_scripts -列出PowerShell和Shell脚本
  • list_intune_applications -列出移动应用程序

🚗 Windows自动驾驶仪(3个工具)

  • list_autopilot_profiles -列出自动驾驶仪部署配置文件
  • list_autopilot_devices -列出已注册的自动驾驶设备
  • list_enrollment_status_page_profiles -列出ESP配置文件

📱 移动管理(3个工具)

  • list_android_management_profiles -列出Android政策和注册
  • list_ios_management_profiles -列出iOS/iPadOS策略和注册
  • list_app_protection_policies -列出MAM策略

🌐 基础设施和连接(4个工具)

  • list_microsoft_tunnel_sites -列出Microsoft隧道网关站点
  • list_microsoft_tunnel_servers -列出隧道服务器和运行状况
  • list_intune_ad_connectors -列出用于混合连接的AD连接器
  • list_intune_certificate_connectors -列出NDES证书连接器

📄 文件和文档管理(12个工具)

  • create_file_in_onedrive -在OneDrive中创建文本文件
  • create_file_in_sharepoint -在SharePoint中创建文本文件
  • list_sharepoint_sites -列出SharePoint网站
  • create_word_document -创建Word(.docx)文档
  • create_excel_workbook -创建Excel(.xlsx)工作簿
  • create_powerpoint_presentation -创建PowerPoint(.pptx)文件
  • convert_file_to_pdf -将Office文件转换为PDF
  • create_csv_file -创建CSV文件
  • read_csv_file -读取CSV文件
  • export_powerpoint_slide_as_image -将幻灯片导出为图像
  • create_odf_document -创建OpenDocument格式文件

🔧 配置选项

身份验证模式

应用程序模式(默认) -服务主体身份验证

AUTH_MODE=app
  • 最适合:自动化、无人值守场景
  • 文件显示为已被“SharePoint应用程序”修改

用户模式 -交互式浏览器身份验证

AUTH_MODE=user
  • 最适合:交互式使用,需要用户上下文
  • 文件显示为已登录用户修改
  • 要求用户通过浏览器登录

MCP客户端集成

克劳德桌面

添加到您的Claude Desktop配置(claude_desktop_config.json):

{
	"mcpServers": {
		"entra-server": {
			"command": "python",
			"args": ["C:/path/to/mcp-entra-server/entra_server.py"],
			"env": {
				"AZURE_CLIENT_ID": "your-client-id",
				"AZURE_TENANT_ID": "your-tenant-id",
				"AZURE_CLIENT_SECRET": "your-client-secret",
				"AUTH_MODE": "app"
			}
		}
	}
}

其他MCP客户端

使用 mcp.json 配置文件包含在 mcp/ 目录。

📖 用法示例

列出Intune设备

from entra_server import list_intune_devices
import json

result = list_intune_devices()
print(json.dumps(result, indent=2))

创建用户

from entra_server import create_user

result = create_user(
    user_principal_name="john.doe@yourtenant.com",
    display_name="John Doe",
    mail_nickname="john.doe",
    password="TempPassword123!",
    force_change_password=True
)

在SharePoint中创建Word文档

from entra_server import create_word_document, list_sharepoint_sites

# First, get your SharePoint site ID
sites = list_sharepoint_sites()
site_id = sites['sites'][0]['id']  # Use first site

# Create document
result = create_word_document(
    location='sharepoint',
    location_id=site_id,
    file_name='Report.docx',
    content='# Project Status\n\nAll systems operational.',
    folder_path='Shared Documents'
)

列出Microsoft隧道站点

from entra_server import list_microsoft_tunnel_sites

result = list_microsoft_tunnel_sites()
for site in result['tunnel_sites']:
    print(f"{site['displayName']}: {site['publicAddress']}")

🔍 故障排除

权限错误(403禁止)

错误: Application is not authorized to perform this operation

解决方案:

  1. 检查是否在Azure门户中添加了所有必需的API权限
  2. 确保 管理员同意 已授予
  3. 等待5-10分钟以传播权限

身份验证错误

错误: AADSTS700016: Application with identifier was not found

解决方案:

  • 验证 AZURE_CLIENT_IDAZURE_TENANT_ID 是正确的
  • 检查您的租户中是否存在应用程序注册

错误: AADSTS7000215: Invalid client secret

解决方案:

  • 在Azure门户中生成新的客户端密钥
  • 更新 AZURE_CLIENT_SECRET.env 文件

文件操作错误

错误: Resource not found for the segment

解决方案:

  • 验证SharePoint网站ID或OneDrive用户ID是否正确
  • 使用 list_sharepoint_sites() 获取有效的站点ID
  • 确保文件夹路径存在(例如“共享文档”)

🛡️ 安全最佳实践

  1. 保护凭据:从不承诺 .env 文件到版本控制
  2. 使用最小权限:仅授予必要的API权限
  3. 旋转秘密:定期轮换客户机密(建议:每6个月一次)
  4. 监控访问:查看Azure AD登录日志以查找可疑活动
  5. 使用托管身份:考虑用于生产部署的Azure托管标识

📦 部署选项

地方发展

python entra_server.py

Docker容器

FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["python", "entra_server.py"]

Azure容器实例

部署为容器化MCP服务器,用于基于云的访问。

GitHub操作/Azure DevOps

用作租户管理的CI/CD管道中的自动化工具。

📚 其他文件

🤝 贡献

欢迎投稿!需要改进的领域:

  • 其他Intune策略类型
  • 用户和设备的批量操作
  • 高级SharePoint操作
  • 报告和分析功能
  • Exchange在线集成
  • 团队管理

📄 许可证

本项目按原样提供,用于教育和自动化目的。与生产租户一起使用时,确保遵守Microsoft许可条款。

🆘 支持

对于问题和疑问:

  1. 检查上面的故障排除部分
  2. 查看Microsoft Graph API文档
  3. 验证API权限和管理员同意
  4. 检查Azure AD登录日志以了解详细错误

🔄 更新

版本1.0 (2025年11月)

  • 初始版本包含32个工具
  • 支持Entra ID、Intune、SharePoint、OneDrive
  • Windows自动驾驶仪集成
  • Microsoft隧道监控
  • 移动设备管理(安卓/iOS)
  • 应用程序保护策略
  • 文档创建(Office、CSV、ODF格式)
  • 文件转换和图像导出

目录标签

目录标签

PythonClaude设备管理Microsoft365管理本地部署Intune自动化用户管理文件操作基础设施监控

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP