Agent Skills by ALSEL
Anthropic ClaudeLLM・AI開発⭐ リポ 0品質スコア 50/100

mcp-create-declarative-agent

MCPを使用してDeclarative Agentを作成するスキルです。エージェントの定義や設定をプロンプトファイルから変換・生成する際に活用できます。

description の原文を見る

Skill converted from mcp-create-declarative-agent.prompt.md

SKILL.md 本文

---
mode: 'agent'
tools: ['changes', 'search/codebase', 'edit/editFiles', 'problems']
description: 'MCP サーバーの統合、認証、ツール選択、設定により、Microsoft 365 Copilot 向けの宣言型エージェントを作成する'
model: 'gpt-4.1'
tags: [mcp, m365-copilot, declarative-agent, model-context-protocol, api-plugin]
---

# Microsoft 365 Copilot 向け MCP ベースの宣言型エージェントの作成

Model Context Protocol (MCP) サーバーと統合し、外部システムとデータにアクセスする Microsoft 365 Copilot 向けの完全な宣言型エージェントを作成します。

## 要件

Microsoft 365 Agents Toolkit を使用して、以下のプロジェクト構造を生成します:

### プロジェクト設定
1. **Agents Toolkit 経由で宣言型エージェントをスカフォルド**
2. **MCP サーバーを指す MCP アクションを追加**
3. **MCP サーバーからインポートするツールを選択**
4. **認証を設定** (OAuth 2.0 または SSO)
5. **生成されたファイルをレビュー** (manifest.json, ai-plugin.json, declarativeAgent.json)

### 生成される主要ファイル

**appPackage/manifest.json** - プラグイン参照を含む Teams アプリマニフェスト:
```json
{
  "$schema": "https://developer.microsoft.com/json-schemas/teams/vDevPreview/MicrosoftTeams.schema.json",
  "manifestVersion": "devPreview",
  "version": "1.0.0",
  "id": "...",
  "developer": {
    "name": "...",
    "websiteUrl": "...",
    "privacyUrl": "...",
    "termsOfUseUrl": "..."
  },
  "name": {
    "short": "Agent Name",
    "full": "Full Agent Name"
  },
  "description": {
    "short": "Short description",
    "full": "Full description"
  },
  "copilotAgents": {
    "declarativeAgents": [
      {
        "id": "declarativeAgent",
        "file": "declarativeAgent.json"
      }
    ]
  }
}
```

**appPackage/declarativeAgent.json** - エージェント定義:
```json
{
  "$schema": "https://aka.ms/json-schemas/copilot/declarative-agent/v1.0/schema.json",
  "version": "v1.0",
  "name": "Agent Name",
  "description": "Agent description",
  "instructions": "You are an assistant that helps with [specific domain]. Use the available tools to [capabilities].",
  "capabilities": [
    {
      "name": "WebSearch",
      "websites": [
        {
          "url": "https://learn.microsoft.com"
        }
      ]
    },
    {
      "name": "MCP",
      "file": "ai-plugin.json"
    }
  ]
}
```

**appPackage/ai-plugin.json** - MCP プラグインマニフェスト:
```json
{
  "schema_version": "v2.1",
  "name_for_human": "Service Name",
  "description_for_human": "Description for users",
  "description_for_model": "Description for AI model",
  "contact_email": "support@company.com",
  "namespace": "serviceName",
  "capabilities": {
    "conversation_starters": [
      {
        "text": "Example query 1"
      }
    ]
  },
  "functions": [
    {
      "name": "functionName",
      "description": "Function description",
      "capabilities": {
        "response_semantics": {
          "data_path": "$",
          "properties": {
            "title": "$.title",
            "subtitle": "$.description"
          }
        }
      }
    }
  ],
  "runtimes": [
    {
      "type": "MCP",
      "spec": {
        "url": "https://api.service.com/mcp/"
      },
      "run_for_functions": ["functionName"],
      "auth": {
        "type": "OAuthPluginVault",
        "reference_id": "${{OAUTH_REFERENCE_ID}}"
      }
    }
  ]
}
```

**/.vscode/mcp.json** - MCP サーバー設定:
```json
{
  "serverUrl": "https://api.service.com/mcp/",
  "pluginFilePath": "appPackage/ai-plugin.json"
}
```

## MCP サーバー統合

### サポート対象の MCP エンドポイント
MCP サーバーは以下を提供する必要があります:
- **サーバーメタデータ** エンドポイント
- **ツールリスト** エンドポイント (利用可能な機能を公開)
- **ツール実行** エンドポイント (関数呼び出しを処理)

### ツール選択
MCP からインポートする場合:
1. サーバーから利用可能なツールを取得
2. 含めるべき特定のツールを選択 (セキュリティ/シンプルさのため)
3. ツール定義は ai-plugin.json で自動生成

### 認証タイプ

**OAuth 2.0 (静的登録)**
```json
"auth": {
  "type": "OAuthPluginVault",
  "reference_id": "${{OAUTH_REFERENCE_ID}}",
  "authorization_url": "https://auth.service.com/authorize",
  "client_id": "${{CLIENT_ID}}",
  "client_secret": "${{CLIENT_SECRET}}",
  "scope": "read write"
}
```

**シングルサインオン (SSO)**
```json
"auth": {
  "type": "SSO"
}
```

## レスポンスセマンティクス

### データマッピングを定義
`response_semantics` を使用して API レスポンスから関連フィールドを抽出します:

```json
"capabilities": {
  "response_semantics": {
    "data_path": "$.results",
    "properties": {
      "title": "$.name",
      "subtitle": "$.description",
      "url": "$.link"
    }
  }
}
```

### Adaptive Cards を追加 (オプション)
ビジュアルカードテンプレートを追加するには、`mcp-create-adaptive-cards` プロンプトを参照してください。

## 環境設定

認証情報用に `.env.local` または `.env.dev` を作成します:

```env
OAUTH_REFERENCE_ID=your-oauth-reference-id
CLIENT_ID=your-client-id
CLIENT_SECRET=your-client-secret
```

## テストと展開

### ローカルテスト
1. **Agents Toolkit でエージェントをプロビジョニング**
2. **デバッグを開始** して Teams にサイドロード
3. https://m365.cloud.microsoft/chat で Microsoft 365 Copilot でテスト
4. プロンプトが表示されたら認証
5. 自然言語を使用してエージェントにクエリを実行

### 検証
- ai-plugin.json でのツールインポートを確認
- 認証設定を確認
- 公開された各機能をテスト
- レスポンスデータマッピングを検証

## ベストプラクティス

### ツール設計
- **集中した関数**: 各ツールは 1 つのことを得意とすべき
- **明確な説明**: モデルが各ツールを使用すべき時を理解するのを支援
- **最小スコープ**: エージェントが必要とするツールのみをインポート
- **説明的な名前**: アクション指向の関数名を使用

### セキュリティ
- **本番環境では OAuth 2.0 を使用**
- **環境変数にシークレットを保存**
- **MCP サーバー側でインプットを検証**
- **必要な最小限の権限にスコープを制限**
- **OAuth 登録に参照 ID を使用**

### 指示
- **エージェントの目的と機能について具体的に記述**
- **成功時とエラー時の両方の動作を定義**
- **該当する場合は指示でツールを明示的に参照**
- **ユーザーに対しエージェントが何ができるか/できないかについての期待値を設定**

### パフォーマンス
- **必要に応じて MCP サーバー側でレスポンスをキャッシュ**
- **可能な場合は操作をバッチ処理**
- **長時間実行される操作のタイムアウトを設定**
- **大規模データセットの結果をページネーション**

## MCP サーバーの一般的な例

### GitHub MCP サーバー
```
URL: https://api.githubcopilot.com/mcp/
Tools: search_repositories, search_users, get_repository
Auth: OAuth 2.0
```

### Jira MCP サーバー
```
URL: https://your-domain.atlassian.net/mcp/
Tools: search_issues, create_issue, update_issue
Auth: OAuth 2.0
```

### カスタムサービス
```
URL: https://api.your-service.com/mcp/
Tools: サービスが公開するカスタムツール
Auth: OAuth 2.0 または SSO
```

## ワークフロー

ユーザーに以下を質問します:
1. どの MCP サーバーを統合していますか (URL)?
2. Copilot に公開すべきツールは何ですか?
3. サーバーがサポートしている認証方法は何ですか?
4. エージェントの主要な目的は何ですか?
5. レスポンスセマンティクスまたは Adaptive Cards が必要ですか?

その後、以下を生成します:
- 完全な appPackage/ 構造 (manifest.json, declarativeAgent.json, ai-plugin.json)
- mcp.json 設定
- .env.local テンプレート
- プロビジョニングとテスト手順

## トラブルシューティング

### MCP サーバーが応答しない
- サーバー URL が正しいことを確認
- ネットワーク接続を確認
- MCP サーバーが必要なエンドポイントを実装していることを確認

### 認証に失敗
- OAuth 認証情報が正しいことを確認
- 参照 ID が登録と一致することを確認
- スコープが正しくリクエストされていることを確認
- OAuth フローを独立してテスト

### ツールが表示されない
- mcp.json が正しいサーバーを指していることを確認
- インポート時にツールが選択されたことを確認
- ai-plugin.json に正しい関数定義があることを確認
- サーバーが変更された場合はアクションを再取得

### エージェントがクエリを理解しない
- declarativeAgent.json の指示をレビュー
- 関数の説明が明確であることを確認
- response_semantics が正しいデータを抽出していることを確認
- より具体的なクエリでテスト

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
github
リポジトリ
github/awesome-copilot
ライセンス
MIT
最終更新
不明

Source: https://github.com/github/awesome-copilot / ライセンス: MIT

関連スキル

OpenAILLM・AI開発⭐ リポ 6,054

agent-browser

AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。

by JimmyLv
汎用LLM・AI開発⭐ リポ 1,982

anyskill

AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 1,982

engram

AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 21,584

skyvern

AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。

by Skyvern-AI
汎用LLM・AI開発⭐ リポ 1,149

pinchbench

PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。

by pinchbench
汎用LLM・AI開発⭐ リポ 4,693

openui

OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。

by thesysdev
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: github · github/awesome-copilot · ライセンス: MIT