项目简介

这是一个基于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的部署模板,方便生产环境部署。

安装步骤

  1. 前提条件:
    • 安装 VS CodeVS Code Insiders
    • 安装 Node.js 18+ 版本。
    • 准备一个已启用Direct Line 3.0的Microsoft Copilot Studio智能体。
    • 获取您的Copilot Studio智能体的Direct Line密钥。
  2. 一键安装(推荐): 点击以下VS Code安装链接,将自动配置和安装MCP服务器:
    • Install with NPX in VS Code
    • Install with NPX in VS Code Insiders 安装后,在VS Code中切换到GitHub Copilot的“智能体模式”,刷新工具列表即可。
  3. 手动安装(NPX方式): 在您的项目根目录下创建 '.vscode/mcp.json' 文件,并添加以下内容:
    {
      "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}"
          }
        }
      }
    }
    保存文件后,在VS Code的MCP服务器面板中点击“启动”。

服务器配置(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客户端通常会通过输入提示等安全机制获取此值,而非直接硬编码。

基本使用方法

  1. 在VS Code中,确保已启动MCP服务器并切换到GitHub Copilot的“智能体模式”。
  2. 点击“选择工具”并启用Copilot Studio MCP服务器提供的工具。
  3. 在Copilot Chat中尝试以下提示,与您的Copilot Studio智能体交互:
    • '开始与我的Copilot Studio智能体对话'
    • '询问我的智能体关于产品尺寸的问题'
    • '发送消息给智能体:你的功能是什么?'
    • '获取当前对话历史'
    • '结束当前对话'
  4. 首次执行工具时,系统会提示您输入Direct Line密钥。

信息

分类

开发者工具