mcpField
🤖
🤖 MCP Server for Copilot Studio Agents

🤖 MCP Server for Copilot Studio Agents

本地服务
github.com/CrewAakashAI 与智能体277 周前更新

关于 🤖 MCP Server for Copilot Studio Agents

这是一个通过 DirectLine 将 Microsoft Copilot Studio Agent 接入 MCP 客户端的 MCP 服务,可跨查询保留对话状态,并通过工具返回 Agent 响应。

主要功能

  1. 01通过 DirectLine 连接 Copilot Studio
  2. 02跨查询保留对话上下文
  3. 03配置 Agent 定义
  4. 04返回结构化成功或错误状态

适用场景

  1. 01从 MCP 客户端查询 Copilot Studio Agent
  2. 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 服务。

  1. 使用以下命令运行 MCP 服务:
mcp dev src/main.py
  1. 系统会提示你安装 @modelcontextprotocol/inspector 包。输入 y 进行安装。
    安装 MCP Inspector

  2. 启动 MCP Inspector 并连接到 MCP 服务。

  3. 前往 Tools,点击 List Tools,查看 MCP 服务中的所有可用工具。

  4. 选择 query_agent 工具,向 Copilot Studio Agent 发送查询。
    MCP Inspector 结果

在 Claude Desktop 中使用

如需在 Claude Desktop 中使用,请将以下内容添加到配置文件:

  1. 下载并安装 Claude Desktop,如果你尚未安装。
  2. 前往 File > Settings > Developer > Edit Config。
  3. 打开 claude_desktop_config.json 文件,并将以下配置添加到 mcpServers 部分。你可以使用 uv、python 或 docker 来运行服务。
    Claude Desktop 配置
  4. 保存配置文件并重启 Claude Desktop。
  5. 将 MCP 服务添加到 Claude Desktop 后,你可以在工具部分查看它。 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 .

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

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