mcpField
P
power-platform-mcp-connector-suite

power-platform-mcp-connector-suite

github.com/github开发40.5k8.7k 次安装1 天前更新
代码仓库

关于 power-platform-mcp-connector-suite

用于为 Microsoft Copilot Studio 生成集成 MCP 的 Power Platform 自定义连接器,面向连接器开发者。涵盖新建、验证、排障及安全配置,并遵循 Copilot Studio 的模式限制。

主要功能

  1. 01生成连接器定义、属性和脚本
  2. 02支持 MCP 工具与资源输出
  3. 03校验 Copilot Studio 模式
  4. 04诊断集成问题
  5. 05提供 OAuth 安全加固指引

适用场景

  1. 01从头创建 MCP 自定义连接器
  2. 02修正现有连接器的模式
  3. 03排查 Copilot Studio 集成故障

MCP 相关

生成通过 `POST /mcp` 处理 JSON-RPC 2.0 的连接器;Copilot Studio 支持 MCP 工具和作为工具输出提供的资源,暂不支持提示词。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/github/awesome-copilot --skill power-platform-mcp-connector-suite

安装后在 Claude Code 中输入/power-platform-mcp-connector-suite确认已加载。

详细介绍

Power Platform MCP 连接器套件

生成完整的 Power Platform 自定义连接器实现,并为 Microsoft Copilot Studio 集成 Model Context Protocol。

Copilot Studio 中的 MCP 能力

当前支持:

  • ✅ 工具:大模型可以调用的函数(需用户批准)
  • ✅ 资源:Agent 可以读取的类文件数据(必须是工具输出)

尚不支持:

  • ❌ 提示词:预先编写的模板(为未来支持做准备)

连接器生成

创建完整的 Power Platform 连接器,包含:

核心文件:

  • apiDefinition.swagger.json,包含 x-ms-agentic-protocol: mcp-streamable-1.0
  • apiProperties.json,包含连接器元数据和身份验证
  • script.csx,包含用于 MCP JSON-RPC 处理的自定义 C# 转换
  • readme.md,包含连接器文档

MCP 集成:

  • 用于 JSON-RPC 2.0 通信的 POST /mcp 端点
  • McpResponse 和 McpErrorResponse 架构定义
  • 符合 Copilot Studio 约束(无引用类型、单一类型)
  • 将资源集成为工具输出(支持资源和工具;尚不支持提示词)

架构验证与故障排除

验证架构是否符合 Copilot Studio 要求:

  • ✅ 工具输入/输出中无引用类型($ref)
  • ✅ 仅使用单一类型值(不是 ["string", "number"])
  • ✅ 基元类型:string、number、integer、boolean、array、object
  • ✅ 资源作为工具输出,而非独立实体
  • ✅ 所有端点使用完整 URI

常见问题与修复:

  • 工具被过滤 → 移除引用类型,使用基元类型
  • 类型错误 → 使用单一类型并配合验证逻辑
  • 资源不可用 → 将其包含在工具输出中
  • 连接失败 → 验证 x-ms-agentic-protocol 标头

上下文变量

  • 连接器名称:[连接器的显示名称]
  • 服务用途:[MCP 服务应实现的目标]
  • 所需工具:[要实现的 MCP 工具列表]
  • 资源:[要提供的资源类型]
  • 身份验证:[none、api-key、oauth2、basic]
  • 主机环境:[Azure Function、Express.js 等]
  • 目标 API:[要集成的外部 API]

生成模式

模式 1:完整的新连接器

从头生成新的 Power Platform MCP 连接器的所有文件,包括 CLI 验证设置。

模式 2:架构验证

使用 paconn 和验证工具分析并修复现有架构,使其符合 Copilot Studio 要求。

模式 3:集成故障排除

使用 CLI 调试工具诊断并解决与 Copilot Studio 的 MCP 集成问题。

模式 4:混合连接器

通过适当的验证工作流,为现有 Power Platform 连接器添加 MCP 能力。

模式 5:认证准备

准备连接器以提交 Microsoft 认证,包含完整元数据和验证合规性。

模式 6:OAuth 安全加固

实现 OAuth 2.0 身份验证,并结合 MCP 安全最佳实践和高级令牌验证进行增强。

预期输出

1. apiDefinition.swagger.json

  • 带 Microsoft 扩展的 Swagger 2.0 格式
  • MCP 端点:POST /mcp,包含正确的协议标头
  • 合规的架构定义(仅基元类型)
  • McpResponse/McpErrorResponse 定义

2. apiProperties.json

  • 连接器元数据和品牌标识(iconBrandColor 为必填项)
  • 身份验证配置
  • 用于 MCP 转换的策略模板

3. script.csx

  • JSON-RPC 2.0 消息处理
  • 请求/响应转换
  • MCP 协议合规逻辑
  • 错误处理和验证

4. 实现指南

  • 工具注册和执行模式
  • 资源管理策略
  • Copilot Studio 集成步骤
  • 测试和验证流程

验证清单

技术合规性
  • MCP endpoint 中包含 x-ms-agentic-protocol: mcp-streamable-1.0
  • 任何 schema 定义中都没有引用类型
  • 所有 type 字段均为单一类型(不是数组)
  • 资源作为工具输出包含在内
  • script.csx 符合 JSON-RPC 2.0 规范
  • 全程使用完整 URI endpoint
  • 为 Copilot Studio Agent 提供清晰的描述
  • 正确配置身份验证
  • 用于 MCP 转换的策略模板
  • 生成式编排兼容性
CLI 验证
  • paconn validate:paconn validate --api-def apiDefinition.swagger.json 无错误通过
  • pac CLI 就绪:可使用 pac connector create/update 创建/更新连接器
  • 脚本验证:script.csx 在 pac CLI 上传期间通过自动验证
  • 包验证:ConnectorPackageValidator.ps1 成功运行
OAuth 与安全要求
  • OAuth 2.0 增强:标准 OAuth 2.0 并实施 MCP 安全最佳实践
  • Token 验证:实施 token 受众验证以防止透传攻击
  • 自定义安全逻辑:在 script.csx 中增强验证以符合 MCP 规范
  • State 参数保护:使用安全的 state 参数防止 CSRF
  • HTTPS 强制:所有生产 endpoint 仅使用 HTTPS
  • MCP 安全实践:在 OAuth 2.0 中实施混淆代理攻击防护
认证要求
  • 完整元数据:包含产品和服务信息的 settings.json
  • 图标合规:PNG 格式,230x230 或 500x500 尺寸
  • 文档:包含全面示例的认证就绪 readme
  • 安全合规:OAuth 2.0 增强并采用 MCP 安全实践、隐私政策
  • 身份验证流程:正确配置带自定义安全验证的 OAuth 2.0

使用示例

Mode: Complete New Connector
Connector Name: Customer Analytics MCP
Server Purpose: Customer data analysis and insights
Tools Needed:
  - searchCustomers: Find customers by criteria
  - getCustomerProfile: Retrieve detailed customer data
  - analyzeCustomerTrends: Generate trend analysis
Resources:
  - Customer profiles (JSON data)
  - Analysis reports (structured data)
Authentication: oauth2
Host Environment: Azure Function
Target APIs: CRM REST API

评论

支持 Markdown