エージェントで Speech MCP サーバーを接続して使用する
Azure Speech MCP サーバーの機能を理解したら、次の手順はエージェントに接続して使用を開始することです。 これには、ストレージの設定、Microsoft Foundry でのエージェントの作成、Speech MCP ツールの接続、エージェントのプレイグラウンドでのテスト、必要に応じてクライアント アプリケーションの構築が含まれます。
Azure Blob Storage を設定する
Azure Speech MCP サーバーには、オーディオ ファイルを格納するための Azure Storage アカウントが必要です。 ツールを接続する前に、ストレージ アカウントと BLOB コンテナーを作成する必要があります。
- Azure portal で、新しい Azure Storage アカウントを作成します (または、既存のアカウントを使用します)。
- ストレージ アカウントで、[ データ ストレージ ] を展開し、[コンテナー] を選択 します。
- エージェントが生成して読み取るオーディオ ファイルを格納する新しいコンテナー (名前付きファイルなど) を作成します。
- 次のアクセス許可を持つコンテナーの SAS トークン を生成します:読み取り、追加、作成、書き込み、および一覧表示。 有効期限を最短の実際の期間に設定します。
Important
生成された SAS URL をコピーして安全に保存します。Speech MCP サーバーに接続するときに必要です。
Foundry プロジェクトとエージェントを作成する
Azure Speech MCP サーバーを使用するには、デプロイされたモデルを含む Microsoft Foundry プロジェクトが必要です。
Microsoft Foundry ポータルで、新しいプロジェクトを作成します (または既存のプロジェクトを使用します)。
エージェントが推論と応答の生成に使用するモデル ( gpt-4.1 など) をデプロイします。
エージェントを作成し、その目的を説明する指示を与えます。 例えば次が挙げられます。
You are an AI agent that uses the Azure AI Speech tool to transcribe and generate speech.
これで、エージェントはツール接続を受信する準備ができました。
Azure Speech MCP サーバーを接続する
Foundry ポータルの [ツール] ページを使用して、Azure Speech MCP サーバーをエージェントに接続します。
ナビゲーション ウィンドウで、[ ツール ] ページを選択します。
[ ツールの接続 ] を選択し、カタログから [ Foundry Tools の Azure Speech ] を選択します。
次の設定で接続を構成します。
-
Foundry リソース名: Foundry リソースの名前 (たとえば、
myproject-resource)。 -
ベアラー (
Ocp-Apim-Subscription-Key): Foundry プロジェクトのキー。 - X-Blob-Container-URL: BLOB コンテナーの SAS URL。
-
Foundry リソース名: Foundry リソースの名前 (たとえば、
接続が作成されるまで待ってから、[ エージェントで使用 ] を選択し、エージェントを選択します。
エージェントは、Azure Speech MCP サーバーによって公開されている音声テキスト変換ツールとテキスト読み上げツールにアクセスできるようになりました。
ヒント
プロジェクト キーは、Foundry ポータルのプロジェクト ホーム ページにあります。
エージェントの遊び場でテストする
Foundry ポータルのエージェントプレイグラウンドは、エージェントをテストするための対話型環境を提供します。
音声合成機能をテストする
エージェントに音声の生成を求めるプロンプトを入力します。
Generate "To be or not to be, that is the question." as speech
エージェントが初めて Speech MCP ツールを使用すると、ツールの使用を 承認 するように求められます。 今後の承認プロンプトをスキップするには、[ すべての Azure Speech MCP Server ツールを常 に承認する] を選択できます。
応答には、BLOB コンテナーに保存されている生成されたオーディオ ファイルへのリンクが含まれています。 リンクを選択して、合成された音声をリッスンします。
音声テキスト変換をテストする
オーディオ ファイルを文字起こしするようにエージェントに求めるプロンプトを入力します。 パブリックにアクセスできる URL または BLOB コンテナー内のファイルを指す SAS URL を使用できます。
Transcribe the file at https://example.com/audio/meeting-recording.wav
エージェントは音声テキスト変換ツールを呼び出し、文字起こしされたテキストを返します。
音声出力のカスタマイズ
Speech MCP ツールでは、プロンプトで指定できるいくつかのオプションがサポートされています。
-
音声の選択:
en-GB-SoniaNeuralやen-US-JennyNeuralなどのニューラル音声を指定します。 -
言語: 認識または合成の言語を指定します (たとえば、スペイン語の
es-ES)。 - フレーズ ヒント: 文字起こしの精度を向上させるためにドメイン固有の用語を提供します (例: "Azure、OpenAI、Cognitive Services")。
-
不適切な表現のフィルター処理: 文字起こし中に
masked、removed、またはraw不適切な表現の処理を要求します。
例えば次が挙げられます。
Synthesize "Better a witty fool, than a foolish wit!" as speech using the voice "en-GB-SoniaNeural".
クライアント アプリケーションをビルドする
エージェントプレイグラウンドはテストに役立ちますが、通常はプログラムでエージェントを使用するクライアント アプリケーションを構築する必要があります。 Microsoft Foundry SDK では、OpenAI Responses API を使用してこれをサポートしています。
クライアント アプリケーションをビルドするには、 azure-ai-projects パッケージと azure-identity パッケージを使用します。 一般的なパターンは次のとおりです。
- 開発中 Foundry プロジェクト エンドポイントと
DefaultAzureCredential(これは開発中の Azure CLI 資格情報を使用します) を使用して、AIProjectClientを作成します。 -
get_openai_client()を呼び出して、プロジェクト クライアントから OpenAI クライアントを取得します。 -
responses.create()を呼び出して、エージェントにユーザー プロンプトを送信します。
重要な部分は、エージェントを参照する方法です。 extra_body パラメーターで名前で指定します。
response = openai_client.responses.create(
input=[{"role": "user", "content": user_prompt}],
extra_body={
"agent_reference": {
"name": "Speech-Agent",
"type": "agent_reference"
}
},
)
print(response.output_text)
エージェントはプロンプトを処理し、適切な Speech MCP ツールを呼び出して、結果を output_textで返します。 テキスト読み上げ要求の場合、出力には BLOB コンテナーで生成されたオーディオ ファイルへのリンクが含まれます。
MCP サーバーをコードで接続する
Foundry ポータルを使用して Azure Speech MCP サーバーを接続する代わりに、エージェントの作成時に MCP ツール接続をコードで直接定義できます。
MCPTool SDK の azure-ai-projects クラスを使用します。
from azure.ai.projects.models import MCPTool
mcp_tool = MCPTool(
server_label="azure-speech",
server_url="https://{foundry-resource-name}.cognitiveservices.azure.com/speech/mcp",
require_approval="always",
)
その後、SDK を使用してエージェントを作成するときに、 mcp_tool を渡します。 この方法は、ツール接続をポータルで手動で構成するのではなく、アプリケーション コードの一部として管理する場合に便利です。