mcp-copilot-studio-server-generator について
Power Platform のカスタムコネクタで MCP サーバーを Microsoft Copilot Studio と連携させるための、プロンプトベースの生成仕様です。コネクタファイル、サーバーコード、Copilot Studio 互換のスキーマ制約を定めています。
主な機能
- 01Power Platform コネクタスキーマ生成
- 02MCP ストリーミング HTTP エンドポイント設定
- 03JSON-RPC 2.0 処理
- 04ツールとリソースのハンドラー生成
- 05Copilot Studio 向けスキーマ検証
- 06デプロイとテストの設定
活用シーン
- 01Copilot Studio 用 MCP コネクタのひな形作成
- 02互換性のある MCP ツール入出力の定義
- 03コネクタのデプロイと検証の準備
MCP 対応
JSON-RPC 2.0 と `mcp-streamable-1.0` パターンを使い、`/mcp` のストリーミング HTTP エンドポイントを備えた MCP サーバー実装を生成します。ツールとツール出力として提供するリソースを扱い、Copilot Studio ではプロンプトが未対応であることも示します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ github/ awesome-copilot --skill mcp-copilot-studio-server-generatorインストール後、Claude Code で/mcp-copilot-studio-server-generatorを入力して読み込まれたか確認します。
詳細
Power Platform MCP コネクタジェネレーター
Microsoft Copilot Studio 向けに、Model Context Protocol(MCP)統合を備えた完全な Power Platform カスタムコネクタを生成します。このプロンプトは、MCP ストリーミング可能 HTTP をサポートする Power Platform コネクタ標準に従って、必要なすべてのファイルを作成します。
手順
以下を実行する完全な MCP サーバー実装を作成します。
-
Copilot Studio MCP パターンを使用する:
x-ms-agentic-protocol: mcp-streamable-1.0を実装する- JSON-RPC 2.0 通信プロトコルをサポートする
/mcpにストリーミング可能な HTTP エンドポイントを提供する- Power Platform コネクタ構造に従う
-
スキーマ準拠の要件:
- ツールの入力/出力に参照型を使用しない(Copilot Studio によってフィルタリングされます)
- 単一の型の値のみ(複数の型の配列ではない)
- enum 入力は避ける(enum ではなく文字列として解釈されます)
- プリミティブ型を使用する: string、number、integer、boolean、array、object
- すべてのエンドポイントが完全な URI を返すことを確認する
-
含める MCP コンポーネント:
- ツール: 言語モデルが呼び出す関数(✅ Copilot Studio でサポートされています)
- リソース: ツールからのファイルのようなデータ出力(✅ Copilot Studio でサポートされています - アクセス可能にするにはツールの出力である必要があります)
- プロンプト: 特定のタスク用の事前定義済みテンプレート(❌ Copilot Studio ではまだサポートされていません)
-
実装構造:
/apiDefinition.swagger.json (Power Platform connector schema) /apiProperties.json (Connector metadata and configuration) /script.csx (Custom code transformations and logic) /server/ (MCP server implementation) /tools/ (Individual MCP tools) /resources/ (MCP resource handlers)
コンテキスト変数
- サーバーの目的: [MCP サーバーが達成すべき内容を記述します]
- 必要なツール: [実装する特定のツールのリスト]
- リソース: [提供するリソースの種類]
- 認証: [認証方法: none、api-key、oauth2]
- ホスト環境: [Azure Function、Express.js、FastAPI など]
- 対象 API: [統合する外部 API]
期待される出力
以下を生成します。
-
apiDefinition.swagger.json(以下を含む):
- 適切な
x-ms-agentic-protocol: mcp-streamable-1.0 - POST
/mcpの MCP エンドポイント - 準拠したスキーマ定義(参照型なし)
- McpResponse および McpErrorResponse の定義
- 適切な
-
apiProperties.json(以下を含む):
- コネクタのメタデータとブランディング
- 認証設定
- 必要に応じたポリシーテンプレート
-
script.csx(以下を含む):
- リクエスト/レスポンス変換用のカスタム C# コード
- MCP JSON-RPC メッセージ処理ロジック
- データ検証および処理関数
- エラー処理とログ記録機能
-
MCP サーバーコード(以下を含む):
- JSON-RPC 2.0 リクエストハンドラー
- ツールの登録と実行
- リソース管理(ツール出力として)
- 適切なエラー処理
- Copilot Studio 互換性チェック
-
個々のツール(以下を実行する):
- プリミティブ型の入力のみを受け付ける
- 構造化された出力を返す
- 必要に応じてリソースを出力として含める
- Copilot Studio 向けに明確な説明を提供する
-
デプロイ構成(以下向け):
- Power Platform 環境
- Copilot Studio エージェント統合
- テストと検証
検証チェックリスト
生成されたコードが以下を満たすことを確認します。
- スキーマに参照型がない
- すべての type フィールドが単一の型である
- enum は検証付きの文字列で処理される
- リソースがツール出力を通じて利用可能である
- 完全な URI エンドポイント
- JSON-RPC 2.0 準拠
- 適切な x-ms-agentic-protocol ヘッダー
- McpResponse/McpErrorResponse スキーマ
- Copilot Studio 向けの明確なツール説明
- Generative Orchestration 互換
使用例
Server Purpose: Customer data management and analysis
Tools Needed:
- searchCustomers
- getCustomerDetails
- analyzeCustomerTrends
Resources:
- Customer profiles
- Analysis reports
Authentication: oauth2
Host Environment: Azure Function
Target APIs: CRM System REST API