merill/lokka

MCP (Model Context Protocol) for Microsoft 365. Includes support for Microsoft Graph and other services

What is Lokka?

Lokka は、モデル・コンテキスト・プロトコル (MCP) を話す小さなサーバーであり、AIチャットクライアント(例:Claude Desktop)と Microsoft のクラウド API(Microsoft Graph および Azure Resource Management (RM) API)の間を橋渡しする役割を果たします。実際には、「『セールスとHR』という名前のセキュリティグループを作成してください」 や 「先月で最も高価な Azure サービスは何か?」 といった自然言語のコマンドを入力し、Lokka がそれらのリクエストを適切な Graph または Azure REST 呼び出しに変換して、結果をチャットクライアントに返します。


How does it work?

  1. 認証 – Lokka は Microsoft アクセストークンを取得する複数の方法をサポートしています:
    • インタラクティブログイン(ユーザー対話型 OAuth フロー) – 最も簡単な方法で、デフォルトの Lokka アプリまたは登録したカスタム Entra アプリを使用します。
    • アプリ専用(クライアント資格情報)認証 – クライアントシークレットまたは PEM 形式の証明書を使用します。
    • クライアント提供トークン – set-access-token ツールを使って、事前に取得した Graph トークンを提供します。
  2. MCP サーバー – npx @merill/lokka で Lokka を起動します(通常、Claude Desktop の設定の mcpServers セクションに設定されます)。サーバーは stdin/stdout を監視し、MCP 標準に従います。
  3. ツール呼び出し – AI モデルが Lokka の組み込みツールを呼び出します:
    • Lokka‑Microsoft – Graph または Azure RM 呼び出しの汎用ラッパー(apiType、path、HTTP メソッドなどを指定します)。
    • set-access-token – クライアント提供トークンモードでトークンを更新します。
    • get-auth-status – 現在の認証モードとサーバーの準備状況を報告します。
  4. Graph バージョン制御 – 既定では Lokka は Graph の beta エンドポイントを使用します(最新の機能にアクセス可能)。USE_GRAPH_BETA=false を設定すると、すべての呼び出しが安定版の v1.0 エンドポイントに強制されます。

Who is it for?

  • 自然言語による AI を通じて Azure や Microsoft 365 の管理を自動化したい IT管理者。
  • Microsoft クラウドサービスとやり取りするが、生の HTTP コードを書きたくない 開発者。
  • Claude Desktop(または任意の MCP 対応クライアント)の パワーユーザー で、Azure ポータルや Graph Explorer よりも自然言語コマンドを好む人。

Getting started (quick steps)

  1. インストール – 永続的なインストールは不要。npx -y @merill/lokka を実行します。
  2. 認証の設定 – claude_desktop_config.json の mcpServers セクションにブロックを追加します:
    {
      "mcpServers": {
        "Lokka-Microsoft": {
          "command": "npx",
          "args": ["-y", "@merill/lokka"],
          "env": {
            "TENANT_ID": "<your-tenant-id>",
            "CLIENT_ID": "<app-client-id>",
            "CLIENT_SECRET": "<client-secret>"
          }
        }
      }
    }
    
    (CLIENT_SECRET を証明書変数に置き換えたり、USE_INTERACTIVE=true を設定してインタラクティブログインを使用します。)
  3. Claude Desktop に Lokka を追加 – MCP クライアントが自動的に Lokka‑Microsoft ツールを検出します。
  4. 質問を投げる – チャットウィンドウで自然言語のリクエストを入力。Claude(または他のモデル)が裏で Lokka‑Microsoft ツールを呼び出し、結果を表示します。

Key features

  • マルチモード認証(インタラクティブ、証明書、クライアントシークレット、トークンインジェクション)。
  • 統合ツール(Lokka‑Microsoft):Graph と Azure RM の両方のリソースを照会・変更可能。
  • Beta/プロダクション Graph 切り替え(USE_GRAPH_BETA)。
  • トークン管理ユーティリティ(set-access-token、get-auth-status)。
  • ワンクリック VS Code インストール:Windows/macOS/Linux 用のバッジリンクで簡単に導入可能。

Where to learn more?

  • ドキュメントサイト: https://lokka.dev – インストールガイド、開発者リファレンス、例のプロンプトをすべて網羅。
  • GitHub リポジトリ: https://github.com/merill/lokka – スター、イシュー、貢献ガイドライン。
  • スポンサーページ: Lokka が役立つと感じたら、GitHub Sponsors で作者を支援できます。

TL;DR

Lokka は、npm-run サーバーとして軽量に動作し、AIチャットツールが Microsoft Graph と Azure API に直接接続できるようにします。認証を処理し、シンプルな MCP 対応ツールを公開することで、自然言語のコマンドを実際のクラウド管理操作に変換し、Azure および Microsoft 365 の管理を会話形式で、スクリプト不要で実現します。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト