1. 主要ページへ移動
  2. メニューへ移動
  3. ページ下へ移動

QES ブログ

記事公開日

Azure AI エージェント サービスを使って MCP サーバ を作成してみた

  • このエントリーをはてなブックマークに追加

2024年11月に Anthropic 社 によって Model Context Protocol(MCP) が提唱され、LLM アプリケーションと外部データソースやツールとの連携を標準化するオープンプロトコルとして注目を集めています。今回は、Azure AI Foundry の Azure エージェント サービス(プレビュー)で MCP サーバを作成する方法が紹介されていたので試してみることとします。

Model Context Protocol(MCP)とは

 MCP (Model Context Protocol) は、AIアシスタント(大規模言語モデル、LLM)が外部のデータソースやツールと安全かつ効率的に連携するためのオープンな標準プロトコルです。 これにより、AIアプリケーションは、まるでUSB-Cポートのように、様々な外部機能にプラグアンドプレイで接続できるようになります。

MCPの目的:

  • AIが外部データ(ファイル、データベース、APIなど)にアクセスし、最新情報を取得・活用できるようにする
  • AIがツールを呼び出して、特定のタスクを実行できるようにする (例: ファイル操作、データベースクエリ、Web検索)
  • AIアプリケーション開発における統合の複雑さを軽減し、相互運用性を高める

MCPの利点:

  • 多様なツールとの接続: 個別のデータソースやツールごとにカスタム実装を開発する必要がなくなり、開発の効率が向上します。
  • 文脈の維持: AIは、異なるツールやデータセット間を移動する際に、文脈を維持し、より自然で一貫性のある動作を実現できます。
  • 安全なアクセス: MCPは、AIが外部システムにアクセスする際のセキュリティを考慮して設計されており、明示的な同意などの仕組みを提供します。
  • 拡張性: MCPはオープンな標準であるため、エコシステムが拡大しやすく、今後さらに多くのツールやサービスとの連携が期待できます。

MCPは、AIが単独で動作するのではなく、現実世界のデータやツールと連携し、より賢く、より有用に、そしてより安全に動作するための基盤となる技術です。

Azure エージェント サービスの構築

まずは、Azure AI Foundry で構成された Azure AI エージェントを作成していきたいと思います。

1.Azure AI Foundry にて Hub を作成


2.Hub 名を指定し、Azure AI サービスを新規で追加


3.ストレージアカウント,Keyvault,Application Insightsを新規で追加














4.プロジェクトを作成


5.作成した Hub を指定し、プロジェクト名を指定








6.「Launch」ボタンをクリック


7.エージェント画面で Azure OpenAI Service を選択し、「始めましょう」ボタンをクリック


8.「次へ」ボタンをクリック


9.モデル「gpt-4o」を選択し、「確認ボタン」をクリック


10.デプロイの種類「Standard」を選択し、「デプロイ」ボタンをクリック

11.エージェント ID を控えておく

12.概要画面でプロジェクト接続文字列を控えておく


MCP サーバの構築

Azure AI Foundry 用の MCP サーバーがこちらに公開されてましたので、手順に従って MCP サーバを構築していきたいと思います。

前提条件:

  • Python 3.10以上
  • Claude Desktop または他の MCP 互換クライアント
  • Azure CLI ( az) が構成されている
  • Azure AI Foundry で構成された既存の Azure AI エージェント

MCP サーバをインストールします。

# リポジトリをクローン
git clone https://github.com/azure-ai-foundry/mcp-foundry.git

# Pythonディレクトリに移動
cd mcp-foundry/src/python

# 仮想環境を作成してアクティブ化
# Windows:
python -m venv .venv
.venv\Scripts\activate

# 必要なライブラリをインストール
pip install mcp[cli] azure-identity python-dotenv azure-ai-projects aiohttp

Pythonディレクトリに .env ファイルを作成します。

# Required
PROJECT_CONNECTION_STRING=プロジェクト接続文字列

# Optional (configure default agent)
DEFAULT_AGENT_ID=エージェント ID

Azure CLI で認証します。

az login

MCP サーバを起動します。

# MCP サーバ起動
python -m azure_agent_mcp_server

Claude for Desktopの設定

デベロッパーモードを有効化にします。



claude_desktop_config.json の設定を行います。





{
  "mcpServers": {
    "azure-agent": {
      "command": "python",
      "args": ["-m", "azure_agent_mcp_server"],
      "cwd": "Pythonディレクトリ フルパス",
      "env": {
        "PYTHONPATH": "Pythonディレクトリ フルパス",
        "PROJECT_CONNECTION_STRING": "プロジェクト接続文字列",
        "DEFAULT_AGENT_ID": "エージェント ID"
      }
    }
  }
}

Claude を再起動します。

MCPとの連携ができていればトンカチマークが表示されます。





まとめ

いかがだったでしょうか。
今回は Claude Desktop を例として、Azure AI Foundry と MCP での連携を試みてみました。
MCP は、デスクトップクライアントに AI を統合するのに有用であることがわかりました。
今後は、Semantic Kernel を使用して MCP を活用する方法などを試してみたいと思います。


また、Azure AI の具体的な活用方法等のブログもたくさんありますのでご覧ください!


QUICK E-Solutionsでは、「AIチャットボット構築サービス」をはじめとして、各AIサービスを利用したシステム導入のお手伝いをしております。それ以外でも QESでは様々なアプリケーションの開発・導入を行っております。提供するサービス・ソリューションにつきましては こちら に掲載しております。
システム開発・構築でお困りの問題や弊社が提供するサービス・ソリューションにご興味を抱かれましたら、是非一度 お問い合わせ ください。

※このブログで参照されている、Microsoft、Microsoft 365、Bing Web Search、Azure OpenAI、AI Search その他のマイクロソフト製品およびサービスは、米国およびその他の国におけるマイクロソフトの商標または登録商標です。
※その他の会社名、製品名は各社の登録商標または商標です。

  • このエントリーをはてなブックマークに追加

お問い合わせ

Contact

ご質問やご相談、サービスに関する詳細など、何でもお気軽にご連絡ください。下記のお問い合わせフォームよりお気軽に送信ください。

お問い合わせ

資料ダウンロード

Download

当社のサービスに関する詳細情報を掲載した資料を、下記のページよりダウンロードいただけます。より深く理解していただける内容となっております。ぜひご活用ください。

資料ダウンロード