mcpField
M
MCP Server for the Microsoft Graph Api

MCP Server for the Microsoft Graph Api

Local
github.com/MartinM85Developer Tools13Updated 34w ago

About MCP Server for the Microsoft Graph Api

This C# MCP server exposes Microsoft Graph API capabilities for users who want AI to access tenant data. It supports configuration for different national cloud endpoints, and its tools can be invoked by Claude or models deployed to Azure OpenAI Service.

Key features

  1. 01Authenticate with an Entra ID application
  2. 02Configure different Graph cloud endpoints
  3. 03Expose Graph tools to AI
  4. 04Support Claude and Azure OpenAI models

Use cases

  1. 01Ask AI to query Microsoft tenant information
  2. 02Connect to US Government or China Graph clouds
  3. 03Invoke Graph tools through Claude or Azure OpenAI

MCP support

The MCP server exposes Microsoft Graph API tools to MCP clients. The README also describes an MCP client that can connect to this server.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

MCP Server for the Microsoft Graph Api

Model-context-protocol (MCP) server for the Microsoft Graph API in C#.

Prerequisites

Entra ID application

Register a new Entra ID application, add and grant at least the User.Read.All application permission and create a new client secret.

You can grant also another permissions, it depends on what you want to ask AI about your tenant through the Microsoft Graph API.

Claude Desktop app

I'm using the Claude Desktop app, but I think you can use any other MCP clients, including GitHub Copilot if they allow to add local MCP server.

MCP server

Open and build the solution.

MCP server configuration

Open the claude_desktop_config.json file. On Windows, the file should be located in %APPDATA%\Claude\ folder.

Add the MCP Server. Under the args section, specify the path to project folder. Don't forget to set the details about the Entra ID application like tenant id, client id and client secret under the env section.

By default, Microsoft Graph global service is used. You can change it by modifying the NATIONAL_CLOUD environment variable.

Possible values for the NATIONAL_CLOUD are:

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

Run MCP server

When you open Claude Desktop app, the MCP server should be automatically discovered and run. You can start new chat.

If Claude Desktop app was already open, you need to close (quit it in system tray) and reopen it.

In case of any issues, you can check logs in %APPDATA%\Claude\logs.

MCP Client

The MCP client allows you to connect the MCP server.

Tools exposed by the MCP server can be invoked either by Claude AI (via Anthropic Claude API) or by any model deployed to Azure OpenAI Service.

You need to set the Anthropic API key in the AnthropicService.GetAnthropicApiKey() method.

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

For Azure OpenAI Service, you need to

  • API key: set either the AZURE_OPENAI_API_KEY environment variable or specify the key in the AzureOpenAIServiceGetOpenAIApiKey() method
  • Azure OpenAI endpoint: set either the AZURE_OPENAI_ENDPOINT environment variable or specify the endpoint in the AzureOpenAIService.GetOpenAIEndpoint() method

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.