Token导航 LogoToken导航TokenDH.com
MCP Graph Client logo
AI代理未说明官方级别未说明来源级核验

MCP Graph Client

MCP Server

一个C#控制台应用程序,连接Microsoft的企业级MCP服务器,通过Microsoft Graph API对Entra租户数据进行AI驱动的查询。

工具数

3

提示词数

0

GitHub Stars

1

资源数

0
C#AI代理工作流自动化

安装说明

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

作者 / 组织

ravindrabhartiya

提供方

ravindrabhartiya

最后核验

2026/5/17 20:22

快速接入

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

详细介绍

Microsoft MCP服务器企业版-C#客户端

一个C#控制台应用程序,连接到Microsoft的企业版MCP(模型上下文协议)服务器,使用Microsoft Graph API对您的Microsoft Entra租户数据进行人工智能查询。

✅ 什么在起作用

  • ✅ 连接到Microsoft MCP服务器 https://mcp.svc.cloud.microsoft/enterprise
  • ✅ 使用客户端凭据通过Azure AD应用程序注册进行身份验证
  • ✅ 发现并使用3个MCP工具:

- microsoft_graph_suggest_queries -发现正确的Graph API端点 - microsoft_graph_get -执行Graph API调用 - microsoft_graph_list_properties -探索图形实体模式

  • ✅ 自动调用MCP工具的交互式AI聊天
  • ✅ 工具调用工作流程:AI根据您的问题确定调用哪些工具

建筑

User Question → Azure OpenAI (gpt-4o) → MCP Tools → Microsoft Graph API → Your Entra Tenant Data

该应用程序使用:

  • Azure OpenAI: gpt-4o 自然语言理解与工具编排模型
  • MCP协议:通过SSE(服务器发送事件)传输连接到Microsoft的企业MCP服务器
  • Azure AD身份验证:具有客户端机密凭据的服务主体(应用程序注册)
  • 工具调用:AI会自动调用MCP工具来回答您的问题

先决条件

  • .NET 8.0 SDK或更高版本
  • Azure订阅
  • Azure OpenAI资源 gpt-4o 模型已部署
  • Azure AD应用程序注册(服务主体)
  • Microsoft Entra租户(用于查询数据)

安装说明

1.Azure OpenAI资源

创建或使用现有的Azure OpenAI资源:

  1. 首选 Azure 门户
  2. 创建/选择Azure OpenAI资源
  3. 部署 gpt-4o 模型
  4. 从“密钥和终结点”获取API密钥

2.Azure AD应用程序注册

为MCP身份验证创建应用程序注册:

  1. 首选 Azure Active Directory应用程序注册新注册
  2. 姓名: MCP Enterprise Client
  3. 支持的帐户类型: 仅此组织目录中的帐户
  4. 点击 注册

配置API权限

⚠️ 关键的:该应用程序需要Microsoft Graph权限才能查询租户数据:

  1. 转到您的应用程序→ API权限
  1. 点击 添加权限微软图形应用程序权限
  1. 添加这些权限:

- User.Read.All -阅读所有用户的完整个人资料 - Directory.Read.All -读取目录数据 - Group.Read.All -读取所有组(可选,用于组查询) - AuditLog.Read.All -读取审核日志(可选,用于登录活动)

  1. 点击“授予\[您的租户\]管理员同意” ← 此步骤是必需的!

创建客户端密码

  1. 首选 证书和秘密新客户机密
  2. 说明: MCP Client Secret
  3. 过期时间:选择持续时间(建议24个月)
  4. 点击 添加
  5. 立即复制机密值 (你再也看不见了)

3.配置应用程序

该应用程序支持多种身份验证方法(按优先级顺序):

方法最适合配置
托管身份Azure部署UseManagedIdentity=true
证书(商店)本地/WindowsCertificateThumbprint
证书(文件)容器/LinuxCertificatePath
客户机密开发ClientSecret 或环境变量
公共客户端开发无凭据(如果在Azure AD中启用)

选项A:环境变量(建议用于本地开发)

通过使用环境变量将秘密隐藏在配置文件之外:

# PowerShell - set for current session
$env:AZURE_CLIENT_SECRET = "your-secret-value"
dotnet run --project McpEnterpriseClient.csproj
# Bash/Linux/WSL
export AZURE_CLIENT_SECRET="your-secret-value"
dotnet run --project McpEnterpriseClient.csproj

选项B:配置文件

编辑 appsettings.json:

{
  "AzureAD": {
    "TenantId": "YOUR-TENANT-ID",
    "ClientId": "YOUR-CLIENT-ID",
    "ClientSecret": "YOUR-CLIENT-SECRET"  // Or use CertificateThumbprint
  },
  "AzureOpenAI": {
    "Endpoint": "https://YOUR-RESOURCE.openai.azure.com",
    "DeploymentName": "gpt-4o",
    "ApiKey": "YOUR-OPENAI-API-KEY"
  },
  "McpServer": {
    "Endpoint": "https://mcp.svc.cloud.microsoft/enterprise"
  }
}

选项C:公共客户端流(需要Azure AD配置)

如果没有配置凭据,应用程序将使用公共客户端流。这需要:

  1. 转到Azure门户→ Azure Active Directory→ 应用程序注册→ 您的应用程序
  2. 首选 认证 刀片
  3. 在“高级设置”下,设置 允许公共客户端流
  4. 点击保存

⚠️ 这不如使用客户端凭据安全。

运行应用程序

cd "c:\Users\ravibh\MCP Client"
dotnet run --project McpEnterpriseClient.csproj

查询示例

跑步后,你可以问以下问题:

  • “我的租户中有多少用户?”
  • “列出所有来宾用户”
  • “显示上个月未登录的用户”
  • “是否为所有管理员启用了MFA?”
  • “\[用户\]属于哪些组?”

AI将:

  1. 呼叫 microsoft_graph_suggest_queries 查找正确的API端点
  2. 呼叫 microsoft_graph_get 执行查询
  3. 用自然语言呈现结果

故障排除

“在用户令牌中找不到作用域”错误

原因:应用程序注册没有Microsoft Graph API权限或未授予管理员同意。

解决方案:

  1. 转到Azure门户→ Azure Active Directory→ 应用程序注册
  2. 选择您的应用程序(客户端ID:a68ffc23-3384-4304-b6ed-355940bd0f2a)
  3. 首选 API权限
  4. 确保 User.Read.AllDirectory.Read.All 已添加
  5. 点击“授予\[租户\]管理员同意” -这很关键!
  6. 等待5-10分钟以传播权限
  7. 请尝试再次运行该应用程序

“调用microsoft_graph_msuggest_queries时出错”错误

原因:参数架构可能与MCP服务器的预期不匹配。

当前状态:应用程序现在正确通过 intentDescription, relativeUrl,以及 entityName 基于所调用工具的参数。

连接问题

  • 确保您的应用程序注册具有有效凭据
  • 检查客户端密码是否未过期
  • 验证租户ID是否正确
  • 确保您有互联网连接 mcp.svc.cloud.microsoft

身份验证流程

1. App Registration → Client Credentials Flow
2. Acquire Token (scope: https://mcp.svc.cloud.microsoft/.default)
3. Create SSE Transport with Bearer Token
4. Connect to MCP Server
5. Discover Available Tools
6. User asks question → AI calls MCP tools → MCP Server calls Graph API with delegated permissions

关键文件

  • Program.cs -主应用程序逻辑、MCP客户端创建、聊天循环
  • appsettings.json -配置(凭据、端点)
  • McpEnterpriseClient.csproj -具有NuGet依赖项的项目文件

依赖项

  • ModelContextProtocol v0.3.0-评测.4-MCP SDK
  • Azure.AI.OpenAI v2.0.0-Azure OpenAI客户端
  • Azure.Identity v1.13.1-Azure AD身份验证
  • Microsoft.Extensions.Configuration -配置管理

了解更多

状态

当前版本:1.0-工具调用功能完整,需要Graph API权限才能访问数据

目录标签

目录标签

C#AI代理工作流自动化企业级AI查询本地部署MicrosoftGraphAPI集成AzureAD认证C#客户端MCP协议

接入字段

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

未说明

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

token

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明token部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP