🤖 用于Copilot Studio代理的MCP服务器
一 MCP(模型上下文协议) 连接到Microsoft Copilot Studio代理的服务器实现,允许Copilot工作室代理与任何兼容MCP的客户端无缝集成。
https://github.com/user-attachments/assets/19fdd17b-2837-4797-8653-fe9439de355f
✨ 特性
- 🔌 通过以下方式连接到Copilot Studio代理 DirectLine API
- 🧠 跨多个查询维护对话上下文
- 🔄 与任何兼容MCP的客户端轻松集成
- 💬 带有对话ID和水印跟踪的有状态对话
- ⚙️ 可配置的代理定义
🛠️ 工具
此MCP服务器公开了以下工具:
- 📮
query_agent:向Copilot Studio代理发送查询并接收响应
- 🔄 使用对话ID和水印跨多个查询维护对话上下文 - 📊 返回具有成功/错误状态的结构化响应
🔧 配置
先决条件
- 🔐 确保您已设置并配置了Copilot Studio代理 直接线路信道安全.
- 📝 更新
agent_definitions在src/main.py文件中包含您的代理人的详细信息。 - 这
agent_definitions应包括以下字段:
- 📛 name:代理人的姓名 - 📄 description:MCP客户代理的简要说明,以确定代理的责任。
环境变量
服务器需要以下环境变量:
- 🔗
DIRECTLINE_ENDPOINT:Copilot Studio代理的DirectLine API终结点 - 🔑
COPILOT_AGENT_SECRET:用于通过DirectLine API与Copilot Studio代理进行身份验证的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检验员测试
激活环境后,您可以使用以下命令在本地运行MCP服务器 MCP Inspector.
- 使用以下命令运行MCP服务器:
mcp dev src/main.py- 系统将提示您安装
@modelcontextprotocol/inspector包裹。选择y安装它。\
- 启动MCP检查器并连接到MCP服务器。
- 引导到
Tools然后单击List Tools查看MCP服务器中的所有可用工具。
- 选择
query_agent该工具用于向您的Copilot Studio代理发送查询。\
使用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",
"
",
"run",
"mcp",
"run",
"
/src/main.py"
],
"env": {
"DIRECTLINE_ENDPOINT": "endpoint-url",
"COPILOT_AGENT_SECRET": "secret-key"
}
}
}
}运行通过 python
安装虚拟环境并安装必要的软件包后,您可以使用以下命令运行服务器:
{
"mcpServers": {
"agent-name": {
"command": "
/bin/python",
"args": [
"
/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", "
/.env",
"mcp-server-copilot-agent"
]
}
}
}一旦您配置了Claude Desktop
🌐 与其他MCP客户端一起使用
此服务器遵循MCP协议规范,可以与任何兼容MCP的客户端一起使用。有关如何连接到外部MCP服务器的具体说明,请参阅客户的文档。
👩💻 发展
要为此项目做出贡献,请设置一个开发环境:
# Install development dependencies
uv sync -e dev该项目使用Ruff进行植绒:
# Run linter
ruff check .