项目简介
这是一个基于Model Context Protocol (MCP) 的服务器实现,旨在将Microsoft Copilot Studio智能体集成到您的开发环境中。通过它,您可以直接在VS Code等支持MCP的编辑器中,使用自然语言与Copilot Studio智能体进行交互,调用其提供的功能,如发送消息、管理对话历史等。它充当了代码编辑器与Copilot Studio智能体之间的桥梁,提供安全、高效的AI辅助开发体验。
主要功能点
- Copilot Studio智能体交互: 支持通过Direct Line 3.0 API与Microsoft Copilot Studio智能体进行无缝通信。
- 工具调用: 提供 'send_message'(发送消息)、'start_conversation'(开始新对话)、'end_conversation'(结束对话)、'get_conversation_history'(获取对话历史)等工具,供LLM或用户调用。
- 会话管理: 自动管理与智能体的对话生命周期,包括创建、更新和基于闲置时间的自动清理,确保对话的连贯性。
- 令牌与认证: 实现Direct Line令牌的自动生成、缓存和刷新,并支持Azure Entra ID(原Azure AD)进行用户认证,保障访问安全。
- 传输协议支持: 默认通过标准输入/输出(Stdio)与MCP客户端通信,也支持HTTP模式下的JSON-RPC通信。
- 弹性与安全: 内置熔断器模式、重试逻辑和全面的错误处理,提高服务韧性;同时提供敏感信息脱敏、会话防劫持和文件加密(文件会话存储模式)等安全特性。
- 部署准备: 提供Azure Container Apps、Docker、Kubernetes的部署模板,方便生产环境部署。
安装步骤
- 前提条件:
- 安装 VS Code 或 VS Code Insiders。
- 安装 Node.js 18+ 版本。
- 准备一个已启用Direct Line 3.0的Microsoft Copilot Studio智能体。
- 获取您的Copilot Studio智能体的Direct Line密钥。
- 一键安装(推荐): 点击以下VS Code安装链接,将自动配置和安装MCP服务器:
- 手动安装(NPX方式):
在您的项目根目录下创建 '.vscode/mcp.json' 文件,并添加以下内容:
保存文件后,在VS Code的MCP服务器面板中点击“启动”。{ "inputs": [ { "id": "direct_line_secret", "type": "promptString", "description": "从您的Copilot Studio智能体获取的Direct Line密钥" } ], "servers": { "copilot-studio-agent-direct-line-mcp": { "type": "stdio", "command": "npx", "args": ["-y", "copilot-studio-agent-direct-line-mcp"], "env": { "DIRECT_LINE_SECRET": "${input:direct_line_secret}" } } } }
服务器配置(MCP客户端需要的信息)
该MCP服务器被设计为通过'stdio'(标准输入/输出)或'http'模式与MCP客户端通信。 为了让MCP客户端(例如VS Code的Copilot Agent模式)能够发现并连接到此服务器,您需要提供以下配置信息:
- 服务器名称: 'copilot-studio-agent-direct-line-mcp'
- 传输协议类型: 'stdio' (通过标准输入/输出进行通信) 或 'http' (通过HTTP进行通信,需要部署为HTTP服务)
- 启动命令:
- 对于 'stdio' 模式,推荐使用 'npx' 命令来执行已发布的包,即 'npx copilot-studio-agent-direct-line-mcp'。
- 如果已全局安装或打包,也可以直接使用 'copilot-studio-agent-direct-line-mcp'。
- 命令参数: '-y' (用于NPM的自动确认,通常随启动命令一起提供)。
- 环境变量: 'DIRECT_LINE_SECRET' (您的Copilot Studio智能体的Direct Line密钥,此密钥至关重要)。
示例配置描述(JSON格式,供MCP客户端理解):
{ "servers": { "copilot-studio-agent-direct-line-mcp": { "type": "stdio", "command": "npx", "args": ["-y", "copilot-studio-agent-direct-line-mcp"], "env": { "DIRECT_LINE_SECRET": "您的Copilot Studio智能体Direct Line密钥" } } } }
请注意,'DIRECT_LINE_SECRET' 是一个敏感信息,在实际使用时,MCP客户端通常会通过输入提示等安全机制获取此值,而非直接硬编码。
基本使用方法
- 在VS Code中,确保已启动MCP服务器并切换到GitHub Copilot的“智能体模式”。
- 点击“选择工具”并启用Copilot Studio MCP服务器提供的工具。
- 在Copilot Chat中尝试以下提示,与您的Copilot Studio智能体交互:
- '开始与我的Copilot Studio智能体对话'
- '询问我的智能体关于产品尺寸的问题'
- '发送消息给智能体:你的功能是什么?'
- '获取当前对话历史'
- '结束当前对话'
- 首次执行工具时,系统会提示您输入Direct Line密钥。
信息
分类
开发者工具