1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Azure MCP CLI Clientの紹介 ― Azure OpenAIとMCPを連携するデスクトップCLIチャットツール

Last updated at Posted at 2025-07-12

GUI版のAzureと連携できるMCPチャットアプリも公開しました。記事は下記です。
Azure OpenAI と MCP を連携するチャット UI アプリを作りました (Win/Mac 対応)

1. ツールの概要

Azure MCP CLI Clientは、Azure OpenAIと様々なMCP(Model Context Protocol)サーバを、コマンドライン上で手軽に連携できるクロスプラットフォームのPython製チャットアプリです。HTTP・stdio・SSEといった接続方式に対応しており、シンプルなJSON設定ファイルでサーバを見つけて登録し、LLM(大規模言語モデル)との対話を通じて各種ツールを柔軟に呼び出せます。

  • クロスプラットフォーム対応: Windows、macOS、Linuxで動作
  • Windows用バイナリ提供: GitHub Releasesからダウンロードできる単体EXEファイルあり
  • 高い拡張性: stdio・HTTP・SSE型のMCPサーバを幅広くサポート
  • インタラクティブなUI: LLMとのチャットインターフェース、MCPサーバの選択やツールの強制呼び出しなどに対応

Web UIや複雑なデプロイは不要。軽量CLIとしてまとめることで、統一的なターミナルベースのオーケストレーション環境を実現しています。

Azure-MCP-CLI-Client-screenshot.png

リポジトリはこちら


2. このツールの利用シーン

Windows、macOS、Linuxどれでも動く、Azure OpenAIと好きなMCPサーバを自由につなげる「デスクトップネイティブ」なツール、特にWindowsから手軽に利用できるツールがあると便利です。
最近はAzure OpenAIやAzure AI FoundryもリモートMCP連携をサポートしていますが、現実には多くのMCPサーバが今でもstdio型であり、ちょっと試したいときにすぐに活用できません。特にstdio型はデスクトップ環境で利用できると便利なものが多い状況です。

主な既存選択肢としては、

  • VS Code拡張やPythonスクリプト
  • MCPに対応したフレームワーク(Semantic Kernelなど)
  • Azure OpenAIやAzure AI FoundryのリモートMCP連携機能

などがありますが、「どんなMCPサーバでもすぐに試せて、特にstdio型のサーバにも素早くつながる」そんな手軽なデスクトップツールがれば便利です。

このCLIツールがあれば…

  • Azure OpenAIのモデルにセキュアにアクセスできる
  • Pythonスクリプト or Windows EXEだけで即起動、重たいGUI不要
  • リモートMCPだけでなく、stdio型MCPサーバとも簡単に連携

MCP poweredの「デスクトップアシスタント」としても、社内向けのデモやプロトタイピング用途にも最適。AzureベースのOpenAIモデルと任意のMCPサーバを、ひとつの会話シェル上で同時に試せます。


3. 使い方

インストール

リリースパッケージのバイナリで起動

Windows/Linux/MacOSの実行形式ファイルをダウンロードしてすぐにご利用になれます

  1. GitHub Releasesにアクセス
  2. ご利用のOS環境に合わせて、azuremcpcli-<OS種類>-<version>.zipをダウンロード
  3. アーカイブを展開し、実行形式バイナリ(Windowsはmcpcli.exe、Linix/MacOSはmcpcliに対してコマンド実行パス(PATH環境変数実行など)を設定して実行(Python不要)
  4. コマンド実行
mcpcli

ソースコード版

  1. ソースコードを取得
git clone https://github.com/hatasaki/azure-mcp-cli-client
  1. 必要なPythonパッケージをインストール
pip install -r requirements.txt
  1. スクリプトを起動
python mcp_chat_cli.py

初回セットアップ

Azure OpenAIの設定

初回起動時にAzure OpenAIのエンドポイント、APIキー、APIバージョン、デプロイメント名を入力します。APIキーを空白にすることで、Entra ID 認証も利用できます(デクストップから Entra ID 認証を利用する場合、本コマンドの実行環境でaz loginなどで有効なユーザ認証が実施できていることが必要になります)
--azureconfigオプションでカスタム設定ファイルを指定することもできます

MCPサーバの登録

mcp.json.templateをホームディレクトリ直下の.azuremcpcliフォルダにコピーして、mcp.jsonにリネームしてください。
mcp.jsonを編集してHTTPやstdio等のサーバリストを記載してください(詳しくはREADME参照)。(サンプルのmcp.json.sampleも用意してあります)

{
    "servers": {
        "Filesystem MCP Server": {
            "type": "stdio",
            "command": "npx.cmd", // This is for Windows. Use "npx" for Linux/Mac.
            "args": [
            "-y",
            "@modelcontextprotocol/server-filesystem",
            "."
            ]
        },
        "microsoft.docs.mcp": {
            "type": "http",
            "url": "https://learn.microsoft.com/api/mcp",
            "headers": {}
        }
    }
}

--mcpconfigオプションでカスタム設定ファイルを指定することもできます


起動とコマンド

起動例

# インタラクティブモード
mcpcli

# バッチモード
mcpcli --batch "<ユーザーメッセージ>"

主なコマンドオプション

  • --batch "<ユーザメッセージ>": バッチモード(ノンインタラクティブモード)でユーザメッセージをコマンドに渡して最終応答だけを得るモード。MCPツールの実行は自動承認
  • --reset: 設定・サーバ登録をクリア
  • --verbose: 詳細な入出力ログ表示
  • --chatlog <file>: ツール呼び出しも含めた全履歴をファイルに保存
  • --azureconfig <file>: カスタムのAzure OpenAIの接続情報やパラメータ、システムプロンプトの構成ファイルを指定(詳細はレポジトリを参照)
  • --mcpconfig <file>: カスタムのMCPサーバ構成ファイルを指定(詳細はレポジトリを参照)
  • `--system "<システムプロンプト>": Azure OpenAI のシステムプロンプトを指定。エージェントの動作指示に利用可能
    mcpcli --system "あなたは情報検索アシスタントです。質問に対して最低3つ以上のデータソースを参照して回答してください"
    

チャット中コマンド

  • tools: 登録済みサーバやツール一覧を表示
  • tools describe <server>: サーバのツールメタ情報を見る
  • tools enable|disable <server>: サーバ単位でツールの有効/無効を切り替え
  • tools reset: mcp.jsonを再読み込みしてすべてのサーバを再接続
  • #<tool名> <クエリ>: 任意ツールを強制実行
  • reset: 新規の会話セッション開始
  • exit, quit: 会話終了

バッチモードの実行例

下記のようにユーザメッセージを送信して最終回答だけを得ることができます。コマンド内部でAzure OpenAIの呼び出しと必要なMCPツールの呼び出しが自動的に実施されます(ツール実行は自動承認されますのでご注意ください)。

> mcpcli --batch "Azureにおける最新のMCP関連機能を教えて" 
Azureにおける最新のMCP(Model Context Protocol)関連機能について、2025年7月時点での主なポイントをまとめます。
.....

バッチモードを用いたマルチエージェント的なコマンドチェーン

さらに、下記のように--azureconfigや--mcpconfigオプションを活用したコマンドを組み合わせることで、異なるAzure OpenAI構成やMCPツールを利用したエージェント連携が可能です。独自のコマンドとのチェーンも可能です

# Windows
mcpcli --batch "300文字に要約して: $(mcpcli --batch "Azureにおける最新のMCP関連機能を教えて"  --azureconfig aoai_gpt41.json --mcpconfig mcp_mslearn.json --raw)"
# Linux/MacOS
mcpcli --batch "300文字に要約して: $(mcpcli --batch 'Azureにおける最新のMCP関連機能を教えて' --azureconfig aoai_gpt41.json --mcpconfig mcp_mslearn.json --raw)"

このように、コマンドラインという特徴を活かして、様々なMCPツール連携が容易に実現可能です


4. おわりに

Azure MCP CLI Clientは、Azure OpenAIとMCPサーバの強力な連携をデスクトップにもたらします。Windows EXEやmacOS/LinuxのCLIから、シンプルなJSONでサーバ設定するだけで、チャットを通じてデスクトップアシスタントやリモート検索など多様なワークフローを即座に実現。
Windows向けバイナリのダウンロードやソースビルドも簡単。LLM連携をもっと身近に、日々の作業に取り入れてみませんか?


免責事項

本ツールはテスト・検証・デモ用途向けに開発されています。プロダクション環境での利用は想定していません。利用にあたっては自己責任でお願いします。また、開発者が所属する組織とは無関係であり、いかなる承認や保証もありません。

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?