ð€ MCP Server for Copilot Studio Agents
ããŒã«ã«ð€ MCP Server for Copilot Studio Agents ã«ã€ããŠ
DirectLineãä»ããŠMicrosoft Copilot Studioã®ãšãŒãžã§ã³ããMCPã¯ã©ã€ã¢ã³ãã«æ¥ç¶ããMCPãµãŒããŒã§ããè€æ°ã®ã¯ãšãªéã§äŒè©±ç¶æ ãä¿æããããŒã«çµç±ã§å¿çãè¿ããŸãã
äž»ãªæ©èœ
- 01DirectLineçµç±ã®Copilot Studioæ¥ç¶
- 02ã¯ãšãªéã®äŒè©±ã³ã³ããã¹ãä¿æ
- 03ãšãŒãžã§ã³ãå®çŸ©ã®èšå®
- 04æåã»ãšã©ãŒç¶æ ãæ§é åããŠè¿åŽ
掻çšã·ãŒã³
- 01MCPã¯ã©ã€ã¢ã³ãããCopilot StudioãšãŒãžã§ã³ãã«åãåãã
- 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 ãµãŒããŒãããŒã«ã«ã§å®è¡ã§ããŸãã
- 以äžã®ã³ãã³ãã䜿çšã㊠MCP ãµãŒããŒãå®è¡ããŸãã
mcp dev src/main.py
-
@modelcontextprotocol/inspectorããã±ãŒãžãã€ã³ã¹ããŒã«ããããæ±ããããŸããyãéžæããŠã€ã³ã¹ããŒã«ããŠãã ããã

-
MCP Inspector ãèµ·åããMCP ãµãŒããŒã«æ¥ç¶ããŸãã
-
Toolsã«ç§»åããList Toolsãã¯ãªãã¯ããŠãMCP ãµãŒããŒã§å©çšã§ãããã¹ãŠã®ããŒã«ã衚瀺ããŸãã -
query_agentããŒã«ãéžæããCopilot Studio ãšãŒãžã§ã³ãã«ã¯ãšãªãéä¿¡ããŸãã

Claude Desktop ã§ã®äœ¿çš
Claude Desktop ã§äœ¿çšããã«ã¯ã以äžã®æé ã§æ§æãã¡ã€ã«ã«èšå®ã远å ããŸãã
- ãŸã ã€ã³ã¹ããŒã«ããŠããªãå Žåã¯ãClaude Desktop ãããŠã³ããŒãããŠã€ã³ã¹ããŒã«ããŸãã
File>Settings>Developer>Edit Configã«ç§»åããŸããclaude_desktop_config.jsonãã¡ã€ã«ãéãã以äžã®æ§æãmcpServersã»ã¯ã·ã§ã³ã«è¿œå ããŸãããµãŒããŒã®å®è¡ã«ã¯uvãpythonããŸãã¯dockerã䜿çšã§ããŸãã

- æ§æãã¡ã€ã«ãä¿åããClaude Desktop ãåèµ·åããŸãã
- MCP ãµãŒããŒã 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 ã€ã®ãµãŒããŒãè€æ°ã®ã¯ã©ã€ã¢ã³ãã§åå©çšã§ããŸãã