mcpField
M
MCP Server for the Microsoft Graph Api

MCP Server for the Microsoft Graph Api

本地服务
github.com/MartinM85开发工具1334 周前更新

关于 MCP Server for the Microsoft Graph Api

这是一个用 C# 编写的 Microsoft Graph API MCP 服务,供希望让 AI 访问 Microsoft 租户数据的用户使用。它支持配置不同国家或地区的 Graph 服务端点,并可由 Claude 或部署在 Azure OpenAI Service 的模型调用工具。

主要功能

  1. 01通过 Entra ID 应用认证
  2. 02配置不同 Graph 云端点
  3. 03向 AI 暴露 Graph 工具
  4. 04支持 Claude 与 Azure OpenAI 模型

适用场景

  1. 01让 AI 查询 Microsoft 租户信息
  2. 02连接美国政府或中国等 Graph 云
  3. 03由 Claude 或 Azure OpenAI 调用 Graph 工具

MCP 相关

作为 MCP 服务,它向 MCP 客户端提供 Microsoft Graph API 工具。README 还描述了一个可连接该服务的 MCP 客户端。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Microsoft Graph Api 的 MCP 服务

用于 Microsoft Graph API 的 C# 模型上下文协议(MCP)服务。

先决条件

Entra ID 应用程序

注册一个新的 Entra ID 应用程序,添加并授予至少 User.Read.All 应用程序权限,然后创建新的客户端密钥。

你也可以授予其他权限,具体取决于你想通过 Microsoft Graph API 向 AI 询问有关租户的哪些内容。

Claude 桌面应用

我使用的是 Claude 桌面应用,但我认为你也可以使用其他 MCP 客户端,包括支持添加本地 MCP 服务的 GitHub Copilot。

MCP 服务

打开并生成解决方案。

MCP 服务配置

打开 claude_desktop_config.json 文件。在 Windows 上,该文件应位于 %APPDATA%\Claude\ 文件夹中。

添加 MCP 服务。在 args 部分下指定项目文件夹的路径。别忘了在 env 部分下设置 Entra ID 应用程序的详细信息,例如租户 ID、客户端 ID 和客户端密钥。

默认情况下,使用 Microsoft Graph 全球服务。你可以通过修改 NATIONAL_CLOUD 环境变量来更改此设置。

NATIONAL_CLOUD 的可能值如下:

{
    "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"
            }
        }
    }
}

运行 MCP 服务

打开 Claude 桌面应用时,系统应会自动发现并运行 MCP 服务。你可以开始新的聊天。

如果 Claude 桌面应用已经打开,则需要先关闭(在系统托盘中退出),然后重新打开。

如果遇到问题,可以查看 %APPDATA%\Claude\logs 中的日志。

MCP 客户端

MCP 客户端允许你连接 MCP 服务。

MCP 服务提供的工具既可由 Claude AI(通过 Anthropic Claude API)调用,也可由部署到 Azure OpenAI Service 的任何模型调用。

你需要在 AnthropicService.GetAnthropicApiKey() 方法中设置 Anthropic API 密钥。

private static string GetAnthropicApiKey()
{
    return "<anthropic-api-key>";
}

对于 Azure OpenAI Service,你需要:

  • API 密钥:设置 AZURE_OPENAI_API_KEY 环境变量,或在 AzureOpenAIServiceGetOpenAIApiKey() 方法中指定密钥
  • Azure OpenAI 终结点:设置 AZURE_OPENAI_ENDPOINT 环境变量,或在 AzureOpenAIService.GetOpenAIEndpoint() 方法中指定终结点

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。