MCP-MSGraph

MCP-MSGraph

site icon
2025.03.19 1
PythonMicrosoft Graph 集成用户配置文件管理交流协作
MCP-MSGraph 是一个原型 MCP(Model Context Protocol)服务器,用于从 Microsoft Graph 中读取用户配置文件。该项目展示了如何将 MCP 连接到存储在 Microsoft Graph 中的数据,作为概念验证。
View on GitHub

Overview

基本能力

产品定位

MCP-MSGraph 是一个用于连接和读取 Microsoft Graph 数据的 MCP 服务器原型,主要用于展示如何通过 MCP 协议访问 Microsoft Graph 中的用户配置文件数据。

核心功能

  • 从 Microsoft Graph 读取用户配置文件数据。
  • 支持通过 REST API 进行数据交互。
  • 提供简单的用户配置文件查询功能。

适用场景

  • 需要从 Microsoft Graph 获取用户配置文件的场景。
  • 作为 MCP 协议与 Microsoft Graph 集成的概念验证。

工具列表

  • curl:用于发送 HTTP 请求,获取用户配置文件数据。

常见问题解答

  • 如何获取 Azure AD 应用的 Client ID 和 Client Secret?
  • 在 Azure Portal 中创建应用注册后,可以在应用概述页面找到 Client ID,在证书和密码页面创建 Client Secret。
  • 如何添加 API 权限?
  • 在 Azure Portal 的应用注册页面,导航到 API 权限,添加 User.Read.All 权限并授予管理员同意。

使用教程

使用依赖

  1. 确保已安装 Python 3.x。
  2. 安装必要的 Python 包:
pip install fastapi uvicorn requests requests-oauthlib pydantic

安装教程

  1. 克隆仓库或设置自己的文件夹和文件结构。
  2. 创建虚拟环境:
python3 -m venv venv
source venv/bin/activate
  1. 安装依赖包(同上)。
  2. 打开 main.py 文件,替换占位符值为你的 App ID、Tenant ID 和 Client Secret。
  3. 启动服务器:
uvicorn main:app --reload

服务器将在 http://127.0.0.1:8000 上可用。

调试方式

  1. 使用 curl 发送请求以获取用户配置文件:
curl -X POST http://localhost:8000/mcp \
  -H "Content-Type: application/json" \
  -d '{
        "action":"readUserProfile",
        "contextId":"abc123",
        "data": {"userId":"[email protected]"}
      }'
  1. 检查返回的 JSON 数据以确认服务器正常运行。

许可证

None