mcpField
L
Lokka (Microsoft 365 MCP server)

Lokka (Microsoft 365 MCP server)

ローカル
github.com/merillクラウド・インフラ3105 週間前に更新

Lokka (Microsoft 365 MCP server) について

Lokka は Microsoft Graph と Azure Resource Manager API 向けの MCP サーバーで、自然言語で Azure と Microsoft 365 テナントを照会・管理できます。テナント管理作業に AI を使いたい管理者に向いています。インタラクティブ認証、アプリ専用認証、クライアント提供トークンに対応しています。

主な機能

  1. 01Microsoft Graph と Azure 管理 API の呼び出し
  2. 02インタラクティブ、証明書、クライアントシークレットによる認証
  3. 03クライアント提供トークンモードと認証状態の確認
  4. 04Graph の v1.0 を固定する設定
  5. 05トークン設定と権限追加用のツール

活用シーン

  1. 01Entra の条件付きアクセスポリシーの確認
  2. 02Intune デバイス構成ポリシーの割り当て状況の確認
  3. 03Azure の前月のサービス費用の分析

MCP 対応

Lokka-Microsoft、set-access-token、get-auth-status、add-graph-permission などのツールを MCP クライアントに公開し、Graph と Azure API へのアクセスを提供する MCP サーバーです。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

Lokka

npm version downloads downloads per month GitHub stars license

Lokka は Microsoft Graph および Azure RM API 用の Model Context Protocol サーバーです。AI を使って Azure および Microsoft 365 のテナントにクエリを実行し、管理できます。

Lokka デモ - ユーザー作成デモ

お気に入りの AI モデルやチャットクライアントで Lokka を使う方法については、Lokka.dev をご覧ください。

Lokka を使うと、Claude Desktop や任意の MCP クライアントから自然言語で Microsoft API を操作し、Azure および Microsoft 365 のテナントでさまざまなタスクを実行できます。

例:

  • Create a new security group called 'Sales and HR' with a dynamic rule based on the department attribute.
  • Find all the conditional access policies that haven't excluded the emergency access account
  • Show me all the Intune device configuration policies assigned to the 'Call center' group
  • What was the most expensive service in Azure last month?

Lokka の仕組み

認証方法

Lokka は、さまざまなデプロイシナリオに対応するため、複数の認証方法をサポートするようになりました。

対話型認証

対話型ログインを使ったユーザーベースの認証には、次の構成を使用できます。

これは最も簡単な構成で、既定の Lokka アプリを使用します。

{
  "mcpServers": {
    "Lokka-Microsoft": {
      "command": "npx",
      "args": ["-y", "@merill/lokka"]
    }
  }
}
カスタムアプリを使った対話型認証

カスタムの Microsoft Entra アプリを使用する場合は、Microsoft Entra で新しいアプリ登録を作成し、次の環境変数を設定します。

{
  "mcpServers": {
    "Lokka-Microsoft": {
      "command": "npx",
      "args": ["-y", "@merill/lokka"],
      "env": {
        "TENANT_ID": "<tenant-id>",
        "CLIENT_ID": "<client-id>",
        "USE_INTERACTIVE": "true"
      }
    }
  }
}
アプリ専用認証

従来のアプリ専用認証です。次の構成では、証明書(推奨)またはクライアントシークレットによる認証を使用できます。

Entra アプリの作成方法について詳しくは、インストールガイドをご覧ください。

証明書を使ったアプリ専用認証

PEM 形式でエンコードされたクライアント証明書を使うアプリ専用認証です。

{
  "mcpServers": {
    "Lokka-Microsoft": {
      "command": "npx",
      "args": ["-y", "@merill/lokka"],
      "env": {
        "TENANT_ID": "<tenant-id>",
        "CLIENT_ID": "<client-id>",
        "CERTIFICATE_PATH": "/path/to/certificate.pem",
        "CERTIFICATE_PASSWORD": "<optional-certificate-password>",
        "USE_CERTIFICATE": "true"
      }
    }
  }
}

PFX クライアント証明書を PEM 形式でエンコードされた証明書に変換するには、次のコマンドを使用します。

openssl pkcs12 -in /path/to/cert.pfx -out /path/to/cert.pem -nodes -clcerts
クライアントシークレットを使ったアプリ専用認証
{
  "mcpServers": {
    "Lokka-Microsoft": {
      "command": "npx",
      "args": ["-y", "@merill/lokka"],
      "env": {
        "TENANT_ID": "<tenant-id>",
        "CLIENT_ID": "<client-id>",
        "CLIENT_SECRET": "<client-secret>"
      }
    }
  }
}
クライアント提供トークン

MCP クライアントがアクセストークンを提供する、トークンベースの認証です。

{
  "mcpServers": {
    "Lokka-Microsoft": {
      "command": "npx",
      "args": ["-y", "@merill/lokka"],
      "env": {
        "USE_CLIENT_TOKEN": "true"
      }
    }
  }
}

クライアント提供トークンモードを使用する場合:

  1. USE_CLIENT_TOKEN=true を指定して MCP サーバーを起動します
  2. set-access-token ツールを使って、有効な Microsoft Graph アクセストークンを指定します
  3. get-auth-status ツールを使って、認証状態を確認します
  4. 必要に応じて set-access-token を使い、トークンを更新します

新しいツール

トークン管理ツール
  • set-access-token:Microsoft Graph 認証のアクセストークンを設定または更新します
  • get-auth-status:現在の認証状態と機能を確認します
  • add-graph-permission:追加の Microsoft Graph 権限スコープを対話形式で要求します
Graph API のバージョン管理

Lokka では、すべてのリクエストで使用する Microsoft Graph API のデフォルトバージョンを制御できるようになりました。

  • デフォルトの動作:最新機能にアクセスするため、beta バージョンを使用します
  • 本番環境モード:USE_GRAPH_BETA=false を設定すると、すべてのリクエストで v1.0 バージョンが強制的に使用されます
  • リクエストごとの上書き:個別のリクエストで graphApiVersion パラメーターを指定することもできます(ただし、USE_GRAPH_BETA=false の場合を除きます)

USE_GRAPH_BETA=false の場合、graphApiVersion パラメーターで明示的に beta を指定しても、すべての Graph API 呼び出しで安定版の v1.0 が使用されます。

はじめに

Lokka のインストール方法と設定方法の詳細については、ドキュメントをご覧ください。

VS Code にワンクリックでインストール
プラットフォームVS CodeVS Code Insiders
WindowsVS Code にインストールVS Code Insiders にインストール
macOS/LinuxVS Code にインストールVS Code Insiders にインストール

コンポーネント

ツール
  1. Lokka-Microsoft

    • Microsoft Graph と Azure API を呼び出します。Azure および Microsoft 365 テナントのクエリに対応しています。アクセス許可が付与されている場合は、更新にも対応します。
    • 入力:
      • apiType (string):クエリ対象の Microsoft API の種類です。選択肢:Microsoft Graph(Entra)の場合は 'graph'、Azure Resource Management の場合は 'azure'。
      • path (string):呼び出す Azure または Graph API の URL パスです(例:'/users'、'/groups'、'/subscriptions')。
      • method (string):使用する HTTP メソッドです(例:get、post、put、patch、delete)
      • apiVersion (string):Azure Resource Management API のバージョンです(apiType が Azure の場合は必須)
      • subscriptionId (string):Azure サブスクリプション ID です(Azure Resource Management 用)。
      • queryParams (string):$filter、$select などのクエリパラメーターの配列です。すべてのパラメーターは文字列です。
      • body (JSON):リクエスト本文です(POST、PUT、PATCH 用)
    • 戻り値:Azure または Graph API 呼び出しの結果です。
  2. set-access-token (v0.2.0 で追加)

    • クライアント提供トークンモードの使用時に、Microsoft Graph 認証用のアクセストークンを設定または更新します。
    • 入力:
      • accessToken (string):Microsoft Graph 認証で取得したアクセストークン
      • expiresOn (string, optional):ISO 形式のトークン有効期限
    • 戻り値:トークン更新の確認
  3. get-auth-status (v0.2.0 で追加)

    • MCP サーバーの現在の認証状態とモードを確認します
    • 戻り値:認証モード、準備状態、機能
環境変数

サーバーは環境変数を使用して設定します。次の環境変数がサポートされています。

名前説明必須
TENANT_IDMicrosoft Entra テナントの ID です。はい(クライアント提供トークンモードを除く)
CLIENT_IDMicrosoft Entra に登録されたアプリケーションの ID です。はい(クライアント提供トークンモードを除く)
CLIENT_SECRETMicrosoft Entra に登録されたアプリケーションのクライアントシークレットです。はい(クライアント資格情報モードのみ)
USE_INTERACTIVEインタラクティブ認証モードを有効にするには、"true" を設定します。いいえ
USE_CLIENT_TOKENクライアント提供トークン認証モードを有効にするには、"true" を設定します。いいえ
USE_CERTIFICATE証明書認証モードを有効にするには、"true" を設定します。いいえ
CERTIFICATE_PATH証明書認証に使用する PEM エンコード証明書ファイルのパスです。はい(証明書モードのみ)
CERTIFICATE_PASSWORD証明書ファイルのパスワード(暗号化されている場合)です。いいえ
REDIRECT_URIインタラクティブ認証のリダイレクト URI です(デフォルト:http://localhost:3000)。いいえ
ACCESS_TOKENクライアント提供トークンモードで使用する初期アクセストークンです。いいえ
USE_GRAPH_BETAすべての Graph API 呼び出しで beta ではなく v1.0 を使用するには、"false" を設定します(デフォルト:true、beta を使用できます)。いいえ

貢献者

  • インタラクティブ認証とトークンベース認証(v0.2.0) - @darrenjrobinson
  • 証明書認証(v0.2.1) - @nitzpo

スポンサー

Lokka は無料で広告もなく、投資家もいません。時間の節約に役立った場合は、GitHub でのスポンサーをご検討ください。💙

スポンサー

インストール

このサーバーを Claude Desktop アプリで使用するには、次の設定を claude_desktop_config.json の「mcpServers」セクションに追加します。

インタラクティブ認証
{
  "mcpServers": {
    "Lokka-Microsoft": {
      "command": "npx",
      "args": ["-y", "@merill/lokka"]
    }
  }
}
クライアント資格情報認証
{
  "mcpServers": {
    "Lokka-Microsoft": {
      "command": "npx",
      "args": ["-y", "@merill/lokka"],
      "env": {
        "TENANT_ID": "<tenant-id>",
        "CLIENT_ID": "<client-id>",
        "CLIENT_SECRET": "<client-secret>"
      }
    }
  }
}

<tenant-id>、<client-id>、および <client-secret> を、Microsoft Entra アプリケーションの実際の値に置き換えてください。(Entra アプリの作成方法とエージェントの設定方法の詳細については、インストールガイドをご覧ください。)

コメント

MCP は初めてですか?

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

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