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 について

Microsoft Graph APIの機能を公開するC#製MCPサーバーです。テナントデータにAIからアクセスしたいユーザー向けで、各国・地域のGraphエンドポイントを設定でき、ClaudeやAzure OpenAI Serviceにデプロイしたモデルからツールを呼び出せます。

主な機能

  1. 01Entra IDアプリによる認証
  2. 02複数のGraphクラウドエンドポイント設定
  3. 03AI向けGraphツールの公開
  4. 04ClaudeとAzure OpenAIモデルへの対応

活用シーン

  1. 01AIでMicrosoftテナント情報を照会
  2. 02米国政府向けや中国向けのGraphクラウドに接続
  3. 03ClaudeやAzure OpenAIからGraphツールを呼び出す

MCP 対応

Microsoft Graph APIのツールをMCPクライアントに公開します。READMEには、このサーバーに接続するMCPクライアントについての説明もあります。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Microsoft Graph API 用 MCP サーバー

C# で実装された、Microsoft Graph API 用の Model Context Protocol(MCP)サーバーです。

前提条件

Entra ID アプリケーション

新しい Entra ID アプリケーションを登録し、少なくとも User.Read.All アプリケーション権限を追加して付与し、新しいクライアントシークレットを作成します。

Microsoft Graph API を介してテナントについて AI に何を質問したいかによって、ほかの権限を付与することもできます。

Claude Desktop アプリ

Claude Desktop アプリを使用していますが、ローカル MCP サーバーを追加できるのであれば、GitHub Copilot を含むほかの MCP クライアントも使用できると思います。

MCP サーバー

ソリューションを開いてビルドします。

MCP サーバーの構成

claude_desktop_config.json ファイルを開きます。Windows では、このファイルは %APPDATA%\Claude\ フォルダーにあります。

MCP サーバーを追加します。args セクションで、プロジェクトフォルダーへのパスを指定します。env セクションで、テナント ID、クライアント ID、クライアントシークレットなど、Entra 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 Desktop アプリを開くと、MCP サーバーが自動的に検出され、実行されます。新しいチャットを開始できます。

Claude Desktop アプリをすでに開いていた場合は、終了(システムトレイから終了)してから、再度開く必要があります。

問題が発生した場合は、%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 key: AZURE_OPENAI_API_KEY 環境変数を設定するか、AzureOpenAIServiceGetOpenAIApiKey() メソッドでキーを指定します
  • Azure OpenAI endpoint: AZURE_OPENAI_ENDPOINT 環境変数を設定するか、AzureOpenAIService.GetOpenAIEndpoint() メソッドでエンドポイントを指定します

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。