mcpField
A
add-mcscopilot

add-mcscopilot

github.com/microsoftエージェントワークフロー1.1k253 回インストール今日更新
リポジトリ

add-mcscopilot について

アプリに Microsoft Copilot Studio コネクターを追加・設定する開発スキルです。エージェントの呼び出しと同期応答の解析、ビルド、設定内容の記録を案内します。

主な機能

  1. 01Memory Bank の確認と更新
  2. 02Copilot Studio コネクターの追加
  3. 03エージェント呼び出しと応答解析
  4. 04ビルド前の TypeScript エラー修正

活用シーン

  1. 01Copilot Studio エージェントのアプリへの接続
  2. 02エージェント応答の待機と JSON データ抽出

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/microsoft/power-platform-skills --skill add-mcscopilot

インストール後、Claude Code で/add-mcscopilotを入力して読み込まれたか確認します。

詳細

📋 共通の手順:shared-instructions.md - 横断的な事項です。

Microsoft Copilot Studio を追加する

ワークフロー

  1. Memory Bank を確認 → 2. コネクタを追加 → 3. 設定 → 4. ビルド → 5. Memory Bank を更新

ステップ 1:Memory Bank を確認する

shared-instructions.mdに従って、memory-bank.md があるか確認します。

ステップ 2:コネクタを追加する

まず、接続 ID を確認します(connector-reference.mdを参照):

/list-connections スキルを実行します。出力から Microsoft Copilot Studio の接続を探します。接続がない場合は、環境固有の接続 URL を使って作成するようユーザーに案内します。コンテキスト内のアクティブな環境 ID(power.config.json または前のステップから取得)を使って URL を組み立てます:https://make.powerapps.com/environments/<environment-id>/connections → + 新しい接続 → コネクタを検索 → 作成。

pa app add data-source --connector microsoftcopilotstudio -c <connection-id>
ステップ 3:設定する

呼び出したい Copilot Studio エージェントと、必要な操作をユーザーに尋ねます。

エージェントのセットアップに必要な前提条件(ユーザーが Copilot Studio で手動で行う必要がある手順):

  1. エージェントを公開する:Copilot Studio で、Channels をクリック → Teams を選択 → Teams に追加 → Publish をクリックします。
  2. エージェント名を取得する:Channels で「Web app」をクリックします。接続文字列の URL にエージェント名が含まれています。例:https://...api.powerplatform.com/copilotstudio/dataverse-backed/authenticated/bots/cr3e1_myAgent/conversations?... — エージェント名は cr3e1_myAgent です。

ExecuteCopilotAsyncV2 -- エージェントを実行し、応答を待機します:

ExecuteCopilotAsyncV2 操作(パス:/proactivecopilot/executeAsyncV2)を使用します。これは、エージェントの応答を同期的に確実に返す唯一のエンドポイントです。Power Automate の「Execute Agent and wait」アクションで使用されるものと同じエンドポイントです。

const result = await MicrosoftCopilotStudioService.ExecuteCopilotAsyncV2({
  message: "Your prompt or data here", // Can be a JSON string
  notificationUrl: "https://notificationurlplaceholder" // Required by API but unused; any URL works
});

// Response structure:
// result.responses — Array of response strings from the agent
// result.conversationId — The conversation ID
// result.lastResponse — The last response from the agent
// result.completed — Boolean indicating if the agent finished

重要: エージェントは応答を JSON 文字列として返すことがよくあります。responses 配列を解析して、意味のあるデータを抽出します:

const agentResponse = result.responses?.[0];
if (agentResponse) {
  const parsed = JSON.parse(agentResponse);
  // Extract specific fields, e.g., parsed.trend_summary
}

Grep を使用して、生成されたサービスファイル内の特定のメソッドを検索します(生成ファイルは非常に大きくなることがあります。connector-reference.mdを参照)。

既知の問題
  • ExecuteCopilot(/execute)-- ファイア・アンド・フォーゲット方式で、ConversationId のみを返し、実際の応答は返しません。使用しないでください。
  • ExecuteCopilotAsync(/executeAsync)-- 502「Cannot read server response」エラーを返します。使用しないでください。
  • 会話ターンモデル(/conversations/{ConversationId})-- 応答を返さない /execute の実行後にのみ動作します。使用しないでください。
  • 応答の大文字・小文字の表記は変化します -- conversationId、ConversationId、conversationID のすべての表記を確認してください。
ステップ 4:ビルドする
npm run build

先に進む前に、TypeScript のエラーを修正します。まだデプロイしないでください。

ステップ 5:Memory Bank を更新する

memory-bank.md を更新し、コネクタの追加、設定したエージェント名、設定した操作、ビルドの状態を記載します。

コメント