【ITニュース解説】⚙️ Enabling a Logic App as an MCP Server
2025年09月20日に「Dev.to」が公開したITニュース「⚙️ Enabling a Logic App as an MCP Server」について初心者にもわかりやすく解説しています。
ITニュース概要
Azure Logic AppをMCPサーバーとして設定することで、AIなどがプログラムでリソースを操作できるようになる。host.jsonファイルを編集し、拡張機能の定義を追加するだけで、MCP専用APIが有効になる。これにより、新しいAIワークフローとの連携が可能だ。
ITニュース解説
システムエンジニアを目指す初心者の皆さんへ、クラウドサービスを活用した新しい自動化の形について解説する。この記事では、Microsoft Azureの「Logic App」というサービスを「MCPサーバー」として機能させる方法と、それがどのような可能性を開くのかを学ぶことができる。
まず、「Logic App」とは何か。これは、さまざまなシステムやサービスを連携させ、一連の処理を自動化するためのクラウドベースのサービスだ。例えば、「新しいファイルがクラウドストレージにアップロードされたら、自動でその内容を解析し、結果をチャットツールに通知する」といったワークフローを、プログラミングをほとんど行わずに視覚的に構築できる。ビジネスプロセスの自動化やシステム間のデータ連携に非常に便利なツールだ。
次に「MCP」について説明する。MCPは「Model Context Protocol」の略で、直訳すると「モデルのコンテキスト(文脈)プロトコル」となる。これは、主にAI(人工知能)やエージェント(特定のタスクを自律的に実行するプログラム)が、他のシステムと効率的にコミュニケーションを取り、リソース(データや処理)をやり取りするための約束事や手順を定めたものだ。AIが単独で動作するだけでなく、外部のサービスやデータをプログラム的に利用し、より高度なタスクを実行できるようにするための架け橋となる。
今回解説するテーマは、このLogic AppをMCPサーバーとして機能させることだ。Logic AppがMCPサーバーとなることで、AIやエージェントがプログラムを通じてLogic Appのワークフローを起動したり、必要な情報を取得したり、あるいは新しいワークフローをデプロイ(配置)したりすることが可能になる。これにより、AIがより柔軟に、そして強力に、さまざまな自動化プロセスに組み込まれる道が開かれる。例えば、AIが状況に応じて最適なLogic Appのワークフローを判断し、実行することで、人手を介さずに複雑なビジネスプロセスを自動化できるようになる。
では、具体的にどうすればLogic AppをMCPサーバーとして有効にできるのか。その鍵となるのが、「host.json」というファイルだ。このファイルは、Logic Appの動作設定を記述する重要な設定ファイルで、これを編集することで、MCPサーバーとしての機能を追加できる。
設定手順は次のようになる。まず、AzureポータルというAzureサービスを管理するWebサイトから、自分のLogic App(Standardプラン)を開く。次に、「Advanced Tools (Kudu)」という、Logic Appの詳細な設定やデバッグを行うための特別なツールを起動する。これは、まるでサーバーの裏側に入り込んで作業するようなイメージだ。Kuduの画面では、ファイルシステムを閲覧したり、コマンドを実行したりできる「Debug Console」という機能を使う。そこで「CMD」を選択し、Logic Appの実行ファイルが格納されている「site/wwwroot」というディレクトリに移動する。
この「site/wwwroot」ディレクトリの中に「host.json」ファイルがある。このファイルを編集モードで開き、既存の設定の後に「extensions」という新しいセクションを追加する。この「extensions」セクションの中に、Logic AppがMCPサーバーとして動作するための具体的な設定を記述するのだ。具体的には、「workflow」というオブジェクトの中に「McpServerEndpoints」という設定を追加し、「enable」を「true」に設定することで、MCPサーバー機能を有効にする。
設定ファイルを保存したら、MCPサーバーが正しく有効になったかを確認する。これは、特定のURLにアクセスすることで行える。自分のLogic AppのURLに「/api/mcp」を付け加えたURLにブラウザでアクセスしてみる。もし「認証エラー(authorization error)」のようなメッセージが表示されたら、それはMCPサーバー機能が正常に動作しており、アクセス保護(認証)が有効になっていることを意味する。つまり、MCPサーバーとしては機能しているが、アクセスするには適切な「Bearerトークン」という認証情報が必要だということだ。これは、不正なアクセスを防ぐためのセキュリティ対策であり、デフォルトで有効になっている。
セキュリティ面について、MCPエンドポイント(MCPサーバーにアクセスするための入り口)は、通常OAuth 2.0という認証方式で保護されており、Bearerトークンという認証情報が必要となる。これは、安全な通信を行う上で非常に重要だ。しかし、開発やテスト目的で一時的に認証を無効にしたい場合もあるかもしれない。その場合は、host.jsonの「McpServerEndpoints」セクションに「authentication」というオブジェクトを追加し、「type」を「anonymous」(匿名)に設定することで、認証なしでアクセスできるようになる。ただし、本番環境での匿名アクセスはセキュリティリスクが高いため、絶対に推奨されない。
匿名アクセスを有効にした状態で「/api/mcp」のURLにアクセスすると、今度は認証エラーではなく、サーバーからリアルタイムでデータがストリーミングされる「Server-Sent Events (SSE)」という形式の画面が表示される。これは、MCPサーバーが正常に稼働し、クライアントからの接続を受け付けている証拠だ。
この一連の設定を終えれば、あなたのLogic Appは晴れてMCPサーバーとして機能し始める。これで、AIベースのクライアントやエージェントと連携し、Logic Appの強力な自動化機能をAIからプログラム的に制御したり、より高度なAIワークフローを構築したりすることが可能となる。これは、AIを活用した未来のシステム開発において、非常に大きな一歩となるだろう。