
MCP Server for the Microsoft Graph Api

2025.04.15
0
C#Microsoft Graph API 集成AI 增强访问多国家云支持开发效率
mcp-server-graph-api 是一个基于 Microsoft Graph API 的模型-上下文-协议(MCP)服务器,使用 C# 编写。它允许用户通过 AI 客户端(如 Claude Desktop 应用或 GitHub Copilot)与 Microsoft Graph API 进行交互,查询租户信息。
View on GitHub
Overview
基本能力
产品定位
mcp-server-graph-api 是一个连接 AI 客户端与 Microsoft Graph API 的中间件,旨在通过 AI 增强对 Microsoft Graph API 的访问和查询能力。
核心功能
- Microsoft Graph API 集成:支持通过 Entra ID 应用程序权限访问 Microsoft Graph API。
- 多国家云支持:可配置为访问全球、美国政府(L4 和 L5)、中国和德国的 Microsoft Graph 服务。
- MCP 协议支持:与支持 MCP 协议的客户端(如 Claude Desktop 应用)集成。
- 自动化发现与运行:MCP 服务器可被客户端自动发现并运行。
适用场景
- 开发效率提升:通过 AI 客户端快速查询 Microsoft Graph API,无需手动编写查询代码。
- 租户管理:查询和管理 Microsoft 租户中的用户信息和其他资源。
- 多国家云访问:需要访问不同国家或地区的 Microsoft Graph 服务的场景。
工具列表
- Claude Desktop 应用:作为 MCP 客户端,用于与 MCP 服务器交互。
- GitHub Copilot:如果支持本地 MCP 服务器,也可作为客户端使用。
常见问题解答
- 如何配置 Entra ID 应用程序?
- 注册一个新的 Entra ID 应用程序,并至少授予
User.Read.All
应用程序权限,创建客户端密钥。 - 如何更改 Microsoft Graph 服务区域?
- 通过修改
NATIONAL_CLOUD
环境变量,支持 Global、US_GOV、US_GOV_DOD、China 和 Germany。 - MCP 服务器无法被发现怎么办?
- 关闭并重新打开 Claude Desktop 应用,或检查
%APPDATA%\Claude\logs
中的日志。
使用教程
使用依赖
- Entra ID 应用程序:
- 注册新应用程序并授予
User.Read.All
权限。 - 创建客户端密钥。
- Claude Desktop 应用:
- 下载并安装 Claude Desktop app。
安装教程
- 打开并构建解决方案。
- 配置
claude_desktop_config.json
文件(位于%APPDATA%\Claude\
):json { "mcpServers": { "graphApi": { "command": "dotnet", "args": [ "run", "--project", "path/to/folder/with/console_project", "--no-build" ], "env": { "TENANT_ID": "<tenant_id>", "CLIENT_ID": "<client_id>", "CLIENT_SECRET": "<client_secret>", "NATIONAL_CLOUD": "Global" } } } }
调试方式
- 打开 Claude Desktop 应用,MCP 服务器应自动发现并运行。
- 如果应用已打开,关闭并重新打开。
- 检查日志:
%APPDATA%\Claude\logs
。