mcpField
🀖
🀖 MCP Server for Copilot Studio Agents

🀖 MCP Server for Copilot Studio Agents

ロヌカル
github.com/CrewAakashAI・゚ヌゞェント277 週間前に曎新

🀖 MCP Server for Copilot Studio Agents に぀いお

DirectLineを介しおMicrosoft Copilot Studioの゚ヌゞェントをMCPクラむアントに接続するMCPサヌバヌです。耇数のク゚リ間で䌚話状態を保持し、ツヌル経由で応答を返したす。

䞻な機胜

  1. 01DirectLine経由のCopilot Studio接続
  2. 02ク゚リ間の䌚話コンテキスト保持
  3. 03゚ヌゞェント定矩の蚭定
  4. 04成功・゚ラヌ状態を構造化しお返华

掻甚シヌン

  1. 01MCPクラむアントからCopilot Studio゚ヌゞェントに問い合わせ
  2. 02耇数のク゚リにたたがる䌚話の継続

MCP 察応

蚭定枈みのCopilot Studio゚ヌゞェントぞ問い合わせ、応答を受け取る`query_agent`ツヌルをMCPクラむアントに公開したす。䌚話IDずwatermarkでコンテキストを維持したす。

蚭定

ロヌカルサヌバヌの蚭定はどのクラむアントでも共通です。コピヌしおクラむアントの MCP 蚭定ファむルに貌り付けおください。

むンストヌル方法は未掲茉です

このサヌバヌのパッケヌゞやリモヌト゚ンドポむントはただ取埗できおいたせん。プロゞェクトの README の手順に埓っおください。

リポゞトリ

ツヌル

ツヌル䞀芧はただ取埗されおいたせん

ロヌカルサヌバヌのツヌルはマシン䞊で起動しお初めお取埗できたす。メンテナヌはただツヌル䞀芧を提䟛しおいたせん。

詳现

🀖 Copilot Studio ゚ヌゞェント甚 MCP サヌバヌ

Microsoft Copilot Studio ゚ヌゞェントに接続し、Copilot Studio ゚ヌゞェントずあらゆる MCP 察応クラむアントずのシヌムレスな統合を可胜にする、MCPModel Context Protocol サヌバヌの実装です。

https://github.com/user-attachments/assets/19fdd17b-2837-4797-8653-fe9439de355f

✹ 機胜

  • 🔌 DirectLine API を通じお Copilot Studio ゚ヌゞェントに接続したす
  • 🧠 耇数のク゚リ間で䌚話のコンテキストを維持したす
  • 🔄 あらゆる MCP 察応クラむアントず簡単に統合できたす
  • 💬 䌚話 ID ずりォヌタヌマヌクを远跡するステヌトフルな䌚話に察応したす
  • ⚙ ゚ヌゞェント定矩を蚭定できたす

🛠 ツヌル

この MCP サヌバヌは、以䞋のツヌルを公開したす。

  • 📮 query_agentCopilot Studio ゚ヌゞェントにク゚リを送信し、応答を受け取りたす
    • 🔄 䌚話 ID ずりォヌタヌマヌクを䜿甚しお、耇数のク゚リ間で䌚話のコンテキストを維持したす
    • 📊 成功゚ラヌのステヌタスを含む、構造化された応答を返したす

🔧 蚭定

前提条件
  • 🔐 Copilot Studio ゚ヌゞェントを蚭定し、Direct Line チャネルのセキュリティを構成しおください。
  • 📝 src/main.py ファむルの agent_definitions を曎新し、゚ヌゞェントの詳现を远加しおください。
  • agent_definitions には、以䞋のフィヌルドを含めおください。
    • 📛 name゚ヌゞェントの名前
    • 📄 descriptionMCP クラむアントが゚ヌゞェントの圹割を識別するための簡単な説明
環境倉数

サヌバヌでは、以䞋の環境倉数が必芁です。

  • 🔗 DIRECTLINE_ENDPOINTCopilot Studio ゚ヌゞェントの DirectLine API ゚ンドポむント
  • 🔑 COPILOT_AGENT_SECRETDirectLine API を介しお Copilot Studio ゚ヌゞェントを認蚌するためのボットキヌ

プロゞェクトのルヌトディレクトリにある .env ファむルにこれらの倉数を蚭定するか、システムの環境倉数ずしお構成できたす。

📊 むンストヌル

前提条件
  • 🐍 Python 3.12 以降
  • 🚀 uv パッケヌゞマネヌゞャヌ掚奚たたは pip
Python のセットアップ
# Setup environment with uv
uv venv
.venv\Scripts\activate  # On Windows
source .venv/bin/activate  # On macOS/Linux

# Install dependencies
uv sync

pip を䜿甚する堎合

# Create a virtual environment
python -m venv .venv
.venv\Scripts\activate  # On Windows
source .venv/bin/activate  # On macOS/Linux

# Install dependencies
pip install -e .
MCP Inspector でのテスト

環境を有効化したら、MCP Inspector を䜿甚しお MCP サヌバヌをロヌカルで実行できたす。

  1. 以䞋のコマンドを䜿甚しお MCP サヌバヌを実行したす。
mcp dev src/main.py
  1. @modelcontextprotocol/inspector パッケヌゞをむンストヌルするよう求められたす。y を遞択しおむンストヌルしおください。
    MCP Inspector をむンストヌル

  2. MCP Inspector を起動し、MCP サヌバヌに接続したす。

  3. Tools に移動し、List Tools をクリックしお、MCP サヌバヌで利甚できるすべおのツヌルを衚瀺したす。

  4. query_agent ツヌルを遞択し、Copilot Studio ゚ヌゞェントにク゚リを送信したす。
    MCP Inspector 結果

Claude Desktop での䜿甚

Claude Desktop で䜿甚するには、以䞋の手順で構成ファむルに蚭定を远加したす。

  1. ただむンストヌルしおいない堎合は、Claude Desktop をダりンロヌドしおむンストヌルしたす。
  2. File > Settings > Developer > Edit Config に移動したす。
  3. claude_desktop_config.json ファむルを開き、以䞋の構成を mcpServers セクションに远加したす。サヌバヌの実行には uv、python、たたは docker を䜿甚できたす。
    Claude Desktop の蚭定
  4. 構成ファむルを保存し、Claude Desktop を再起動したす。
  5. MCP サヌバヌを Claude Desktop に远加するず、ツヌルセクションに衚瀺されたす。 Claude Desktop のツヌル
Claude Desktop 甹 MCP サヌバヌの構成
uv で実行
{
  "mcpServers": {
    "agent-name": {
      "command": "uv", // you might need to use the full path to uv if it's not in your PATH. use `which uv` to find the path.
      "args": [
        "--directory",
        "<PATH_TO_THE_PARENT_FOLDER>",
        "run",
        "mcp",
        "run",
        "<PATH_TO_THE_PARENT_FOLDER>/src/main.py"
      ],
      "env": {
        "DIRECTLINE_ENDPOINT": "endpoint-url",
        "COPILOT_AGENT_SECRET": "secret-key"
      }
    }
  }
}
python 経由で実行

仮想環境をセットアップし、必芁なパッケヌゞをむンストヌルした埌、以䞋のコマンドでサヌバヌを実行できたす。

{
  "mcpServers": {
    "agent-name": {
      "command": "<PATH_TO_VENV>/bin/python",
      "args": [
        "<PATH_TO_THE_PARENT_FOLDER>/src/main.py"
      ],
      "env": {
        "DIRECTLINE_ENDPOINT": "endpoint-url",
        "COPILOT_AGENT_SECRET": "secret-key"
      }
    }
  }
}

たたは、以䞋のコマンドを実行しお、サヌバヌを Claude Desktop にむンストヌルできたす仮想環境内で実行しおください。

mcp install src/main.py -f .env
docker 経由で実行

Docker を䜿甚しお、MCP サヌバヌをコンテナずしお実行できたす。お䜿いのマシンに Docker がむンストヌルされ、実行䞭であるこずを確認しおください。

Docker むメヌゞをビルドしたす。

docker build -t mcp-server-copilot-agent .

以䞋を Claude Desktop の蚭定ファむルに远加しおください。

{
  "mcpServers": {
    "agent-name": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-p", "8000:8000",
        "--env-file", "<PATH_TO_THE_PARENT_FOLDER>/.env",
        "mcp-server-copilot-agent"
      ]
    }
  }
}

Claude Desktop を蚭定したら、

🌐 その他の MCP クラむアントでの䜿甚

このサヌバヌは MCP プロトコル仕様に準拠しおおり、MCP 互換のクラむアントであればどれでも䜿甚できたす。倖郚 MCP サヌバヌぞの接続方法に぀いおは、お䜿いのクラむアントのドキュメントを参照しおください。

👩‍💻 開発

このプロゞェクトに貢献するには、開発環境をセットアップしおください。

# Install development dependencies
uv sync -e dev

このプロゞェクトでは、リンティングに Ruff を䜿甚したす。

# Run linter
ruff check .

コメント

MCP は初めおですか

プロトコルの抂芁から最初のサヌバヌの導入たで、よくある疑問にたずめお答えたす。

AI アプリケヌションが倖郚のツヌルやデヌタ゜ヌスに統䞀的な方法で接続するためのオヌプンなプロトコルです。クラむアントはモデルずの察話を担い、MCP サヌバヌはツヌル・リ゜ヌス・プロンプトテンプレヌトを提䟛したす。暙準メッセヌゞでやり取りするため、1 ぀のサヌバヌを耇数のクラむアントで再利甚できたす。