关于 🤖 MCP Server for Copilot Studio Agents
这是一个通过 DirectLine 将 Microsoft Copilot Studio Agent 接入 MCP 客户端的 MCP 服务,可跨查询保留对话状态,并通过工具返回 Agent 响应。
主要功能
- 01通过 DirectLine 连接 Copilot Studio
- 02跨查询保留对话上下文
- 03配置 Agent 定义
- 04返回结构化成功或错误状态
适用场景
- 01从 MCP 客户端查询 Copilot Studio Agent
- 02跨多次查询延续对话
MCP 相关
向 MCP 客户端提供 `query_agent` 工具,用于向配置好的 Copilot Studio Agent 发送查询并获取响应。通过会话 ID 和 watermark 维护上下文。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
🤖 Copilot Studio Agent 的 MCP 服务
一种 MCP(Model Context Protocol) 服务实现,可连接到 Microsoft Copilot Studio Agent,让 Copilot Studio Agent 与任何兼容 MCP 的客户端无缝集成。
https://github.com/user-attachments/assets/19fdd17b-2837-4797-8653-fe9439de355f
✨ 功能
- 🔌 通过 DirectLine API 连接到 Copilot Studio Agent
- 🧠 在多次查询之间保留对话上下文
- 🔄 轻松集成任何兼容 MCP 的客户端
- 💬 通过对话 ID 和水位标记跟踪实现有状态对话
- ⚙️ 可配置的 Agent 定义
🛠️ 工具
此 MCP 服务提供以下工具:
- 📮
query_agent:向 Copilot Studio Agent 发送查询并接收回复- 🔄 使用对话 ID 和水位标记,在多次查询之间保留对话上下文
- 📊 返回包含成功/错误状态的结构化回复
🔧 配置
前置条件
- 🔐 确保已设置 Copilot Studio Agent,并配置 direct line channel security。
- 📝 更新
src/main.py文件中的agent_definitions,加入 Agent 的详细信息。 agent_definitions应包含以下字段:- 📛
name:Agent 的名称 - 📄
description:对 Agent 的简要说明,供 MCP 客户端识别 Agent 的职责。
- 📛
环境变量
此服务需要以下环境变量:
- 🔗
DIRECTLINE_ENDPOINT:Copilot Studio Agent 的 DirectLine API 端点 - 🔑
COPILOT_AGENT_SECRET:用于通过 DirectLine API 对 Copilot Studio Agent 进行身份验证的 Bot 密钥
你可以在项目根目录的 .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 Agent 发送查询。

在 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 .
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。