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

MCP Entra Graph

MCP Server

一个基于Python和FastMCP构建的MCP服务器,提供与Microsoft Entra ID(原Azure AD)的无缝集成,通过Microsoft Graph API管理用户和组。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
用户管理实时通信PythonVS CodeVS Code

安装说明

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

作者 / 组织

devartifex

提供方

devartifex

最后核验

2026/5/17 20:20

运行时

Python

快速接入

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

命令预览

python -m venv venv

详细介绍

MCP进入图表

A. 模型上下文协议(MCP) 用……构建的服务器 python 并且 FastMCP 通过Microsoft Graph API,它提供了与Microsoft Entra ID(原Azure AD)的无缝集成,用于用户和组管理。

这台服务器使用 可流式传输的HTTP传输这意味着它作为一个支持流式响应的HTTP服务器运行,使其能够与基于Web的MCP客户端(如GitHub Copilot)兼容,从而实现高效、实时的通信。

特点/功能

此MCP服务器提供了以下用于管理Microsoft Entra ID的工具:

用户管理

  • find_user_by_name - 通过显示名称、名字或姓氏搜索用户

- 不区分大小写的部分匹配 - 返回用户ID、显示名称、电子邮件和职位名称

集团管理

  • search_groups - 通过显示名称查找组
  • get_group_info - 获取特定组的详细信息
  • list_group_members - 列出群组的所有成员
  • add_user_to_group - 将用户添加到组中
  • remove_user_from_group - 从组中移除用户

什么是MCP?

模型上下文协议(MCP)是一种开放标准协议,它实现了人工智能应用与数据源之间的无缝集成。可以将其视为一个通用连接器,使人工智能助手能够安全地访问并与您的工具和数据进行交互。

这个服务器的工作原理

这台服务器是用……构建的 FastMCP,一个简化MCP服务器构建的Python框架。它

  1. 暴露工具使AI助手能够调用Entra ID管理功能作为可调用工具
  2. 使用可流式传输的HTTP作为HTTP服务器运行在 localhost:8000支持实时交互的流式响应
  3. 安全认证使用Azure AD应用程序凭据访问Microsoft Graph API
  4. 返回结构化数据提供AI助手能够理解和使用的JSON响应

当你要求像GitHub Copilot这样的AI助手“查找名为John的用户”时,助手会:

  • 检测到它需要 find_user_by_name 工具
  • 通过HTTP调用此MCP服务器
  • 服务器通过 Microsoft Graph 进行身份验证
  • 将结果返回给人工智能,然后由人工智能展示给您

先决条件

  • Python 3.10 或更高版本 (对于FastMCP和异步功能是必需的)
  • pip(通常指Python的包管理工具,但在此仅作为单词翻译) (Python包管理器,通常随Python一起提供)
  • Microsoft Entra ID 拥有管理员权限的租户
  • Azure 门户 应用程序注册访问权限
  • Node.js 和 npm (可选,仅在使用MCP Inspector调试工具时需要)

安装

1. 克隆仓库

git clone https://github.com/g-mercuri/mcp-entra-graph.git
cd mcp-entra-graph

2. 创建虚拟环境

Windows(PowerShell):

python -m venv venv
.\venv\Scripts\Activate.ps1

Linux/macOS:

python3 -m venv venv
source venv/bin/activate

3. 安装依赖项

pip install --upgrade pip
pip install -r requirements.txt

4. 注册一个Azure AD应用程序

  1. 导航至 Azure 门户Azure Active Directory(Azure活动目录)应用程序注册
  2. 点击 新注册

- 名字: Entra ID MCP Server (或您喜欢的名称) - 支持的账户类型单租户 - 点击 注册

  1. 注意 应用程序(客户端)ID目录(租户)ID
  2. 首选 证书与密钥新的客户端密钥

- 添加描述和有效期 - 复制 价值 (客户端密钥) - 您将无法再次查看它

  1. 首选 API权限添加一个权限Microsoft Graph(微软图)应用权限

- 添加以下权限: - Group.ReadWrite.All - 读取和写入所有组 - User.Read.All - 阅读所有用户的完整资料 - Directory.ReadWrite.All - 读取和写入目录数据

  1. 点击 授予管理员同意 为您的租户

5. 配置环境变量

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

TENANT_ID=your-tenant-id-here
CLIENT_ID=your-client-id-here
CLIENT_SECRET=your-client-secret-here
注: 你可以使用 .env.example 如有可用,作为模板。

使用方法

启动服务器

python src/server.py

服务器将在 http://127.0.0.1:8000 默认使用可流式传输的HTTP传输方式。

你应该看到类似如下的输出:

INFO:__main__:Starting Entra ID MCP Server with Streamable HTTP transport...

与GitHub Copilot(VS Code)配合使用

  1. 启动MCP服务器 (见上文)
  1. 配置 VS Code 通过创建/编辑 mcp.json

方法1:自动

- 新闻界 Ctrl+Shift+P (或 Cmd+Shift+P (在 macOS 上) - 选择 "GitHub Copilot: 添加MCP服务器" - 按照提示操作

方法2:手动

- 创建 .vscode/mcp.json 在您的工作区中:

   {
     "servers": {
       "entra-id": {
         "url": "http://127.0.0.1:8000",
         "type": "http"
       }
     }
   }
  1. 重新加载 VS Code

- 新闻界;媒体 Ctrl+Shift+P“开发者:重新加载窗口”

  1. 在Copilot聊天中使用

- 打开GitHub Copilot Chat - Entra ID 工具将自动可用 - 示例:“查找名为John的用户”或“将用户添加到开发者组”

与MCP Inspector配合使用(调试)

用于测试和调试MCP请求:

npx @modelcontextprotocol/inspector http://127.0.0.1:8000

这会打开一个交互式界面,用于探索和测试所有可用的工具。

示例交互

一旦配置了MCP客户端,您就可以进行自然交互:

  • *“查找所有姓氏为Smith的用户”*
  • *“列出工程组的所有成员”*
  • *“将约翰·多(John Doe)添加到开发者组”*
  • *“搜索包含‘市场营销’的群组”*
  • *“给我展示销售团队的相关信息”*

人工智能助手将使用适当的工具来满足这些请求。

贡献

欢迎贡献!请随时提交拉取请求。

许可证

MIT 许可证 - 请参阅 许可证 文件中包含详细信息

目录标签

目录标签

用户管理实时通信PythonVS Code本地部署组管理MicrosoftGraphAI集成

支持客户端

VS Code

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP