Microsoft Graph Api的MCP服务器
用于C#中的Microsoft Graph API的模型-文本-协议(MCP)服务器。
先决条件
Entra ID申请
注册新的Entra ID申请,添加并授予至少 User.Read.All 应用程序权限并创建新的客户端密钥。
您还可以授予其他权限,这取决于您想通过Microsoft Graph API向AI询问有关租户的信息。
Claude桌面应用程序
我在用 Claude桌面应用程序,但我认为您可以使用任何其他MCP客户端,包括GitHub Copilot,只要它们允许添加本地MCP服务器。
MCP服务器
打开并构建解决方案。
MCP服务器配置
打开 claude_desktop_config.json 文件。在Windows上,文件应位于 %APPDATA%\\Claude\\ 文件夹。
添加MCP服务器。上下 args 部分,指定项目文件夹的路径。别忘了在下面设置Entra ID应用程序的详细信息,如租户ID、客户端ID和客户端密钥 env 部分。
默认情况下,使用Microsoft Graph全局服务。您可以通过修改 NATIONAL_CLOUD 环境变量。
的可能值 NATIONAL_CLOUD 是:
- 全球: https://graph.microsoft.comMicrosoft Graph全球服务
- US_GOV: https://graph.microsoft.us-美国政府L4版Microsoft Graph
- US_GOV_DOD: https://dod-graph.microsoft.us-美国政府L5(国防部)的微软图形
- 中国: https://microsoftgraph.chinacloudapi.cn-世纪互联运营的微软Graph中国
- 德国: https://graph.microsoft.de-微软图形德国版
{
"mcpServers": {
"graphApi": {
"command": "dotnet",
"args": [
"run",
"--project",
"path/to/folder/with/console_project",
"--no-build"
],
"env": {
"TENANT_ID": "",
"CLIENT_ID": "",
"CLIENT_SECRET": "",
"NATIONAL_CLOUD": "Global"
}
}
}
}运行MCP服务器
打开Claude Desktop应用程序时,应自动发现并运行MCP服务器。您可以开始新的聊天。
如果Claude Desktop应用程序已经打开,您需要关闭(在系统托盘中退出)并重新打开。
如果出现任何问题,您可以检查登录 %APPDATA%\\Claude\\logs.
MCP客户端
MCP客户端允许您连接MCP服务器。
MCP服务器公开的工具可以由Claude AI(通过Anthropic Claude API)调用,也可以由部署到Azure OpenAI服务的任何模型调用。
您需要在 AnthropicService.GetAnthropicApiKey() 方法。
private static string GetAnthropicApiKey()
{
return "";
}对于Azure OpenAI服务,您需要
- API密钥:设置
AZURE_OPENAI_API_KEY环境变量或指定AzureOpenAIServiceGetOpenAIApiKey()方法 - Azure OpenAI端点:设置
AZURE_OPENAI_ENDPOINT环境变量或在中指定端点AzureOpenAIService.GetOpenAIEndpoint()方法
