声明式代理生成工具

一个用于将MCP服务器快速封装为Microsoft 365 Copilot声明式代理的VS Code扩展工具,支持自动生成OpenAPI规范、身份验证配置和功能定义。

  • by jmservera
  • PowerShell
  • 本地部署
  • 更新于
在 GitHub 查看 jmservera/declarative-agent-mcp-apikey

使用说明

VS中的声明代理+MCP Code

此模板显示了如何包装现有的MCP 使用VS中的代理工具包(ATK)将服务器转换为Microsoft 365副本声明代理(DA) Code.您无需手动编写OpenAPI规范,而是将ATK指向MCP发现URL,让工具包自动生成所有清单、连接身份验证和函数定义。

开始使用模板

先决条件

要在本地开发计算机上运行此应用程序模板,您需要:

  1. 在VS中打开ATK Code

    单击Microsoft 365 活动栏中的代理工具包图标。

  2. 登录

    单击VS代码侧栏中的工具包图标打开代理工具包。在“帐户”下,使用您的开发M365帐户进行身份验证。

  3. 搭建一个新的DA

    在代理工具包菜单中,单击“创建新代理/应用程序”,选择“声明代理”,选择文件夹和名称(例如我的mcp代理)。

  4. 添加您的MCP服务器

    在ATK侧栏中,单击添加操作→ 从MCP服务器开始,然后输入您的MCP发现URL(例如。https://mcp.contoso.com/discover).

  5. 启动MCP服务器

    DA项目生成后,点击mcp.json文件中的“开始”按钮启动mcp服务器,提示时输入用户ID和密码进行身份验证。

  6. 获取并选择工具

    出现提示时,单击MCP.json文件中的“ATK:从MCP获取操作”,选择预获取工具(用于离线IntelliSense)或动态。ATK将列出所有可用的MCP操作——在代理中检查您想要的操作。

  7. 配置身份验证

    ATK将检索您的MCP服务器的身份验证信息,并将这些值存储在env/.env.development中,并将安全引用注入到appPackage/ai-plugin.json中。如果输入的MCP服务器身份验证信息没有根据MCP协议正确配置,ATK将提示错误。

  8. 查看生成的文件

    • appPackage/ai-plugin.json (函数定义,运行时规范+身份验证)-此文件定义了Copilot可以与之交互的一个或多个操作。
    • appPackage/declarativeAgent.json (代理配置和示例提示)-此文件是声明性代理的定义
    • appPackage/manifest.json (团队/Outlook集成)
  9. 提供和调试

    使用ATK中的“配置”按钮创建资源。ATK将检测您的MCP服务器是否需要OAuth2或API密钥。为您的客户提供 提示时显示ID/密码或密钥。然后在Edge/Chrome的Copilot中开始调试预览代理。您的DA将出现在Copilot聊天记录下。

  10. 测试您的MCP代理

    打开Copilot窗格,选择您的代理,并使用自然语言提示调用任何MCP工具。

项目结构

文件夹 描述
.vscode 用于mcp服务器配置的ATK调试和.vcode/mcp.json
appPackage - appPackage/ai-plugin.json (函数定义,运行时规范+身份验证)-此文件定义了Copilot可以与之交互的一个或多个操作
- appPackage/declarativeAgent.json (代理配置和示例提示)-此文件是声明性代理的定义
- appPackage/manifest.json (团队/Outlook集成)
env 本地环境文件(.env.development、.env.Local)
m365agents.yml 定义ATK的DA阶段和生命周期

MCP特定提示

  • 发现URL:MCP服务器的/发现端点必须为每个操作公开JSON Schema。

  • 工具选择:ai-plugin.json中的run_for_functions数组限制了代理可以调用的MCP工具。

  • 身份验证流程:ATK同时支持OAuth2.1和API‑Key;您不需要手动编辑身份验证块。

  • 版本控制:当您的MCP服务器架构更改时,只需重新运行ATK:Fetch Action from MCP即可刷新插件文件。

  • 错误记录:ATK控制台中显示基本请求/响应日志;Copilot聊天中会出现错误。

了解更多

快乐建筑!

使用MCP+声明代理,您将拥有从现有API到完全可操作的Copilot驱动体验的交钥匙路径。