chore: publish from staged [skip ci]

This commit is contained in:
github-actions[bot]
2026-02-19 04:11:47 +00:00
parent 8ac0e41cb0
commit 812febf350
185 changed files with 33454 additions and 0 deletions

View File

@@ -0,0 +1,118 @@
---
description: Generate a complete MCP server implementation optimized for Copilot Studio integration with proper schema constraints and streamable HTTP support
agent: agent
---
# Power Platform MCP Connector Generator
Generate a complete Power Platform custom connector with Model Context Protocol (MCP) integration for Microsoft Copilot Studio. This prompt creates all necessary files following Power Platform connector standards with MCP streamable HTTP support.
## Instructions
Create a complete MCP server implementation that:
1. **Uses Copilot Studio MCP Pattern:**
- Implement `x-ms-agentic-protocol: mcp-streamable-1.0`
- Support JSON-RPC 2.0 communication protocol
- Provide streamable HTTP endpoint at `/mcp`
- Follow Power Platform connector structure
2. **Schema Compliance Requirements:**
- **NO reference types** in tool inputs/outputs (filtered by Copilot Studio)
- **Single type values only** (not arrays of multiple types)
- **Avoid enum inputs** (interpreted as string, not enum)
- Use primitive types: string, number, integer, boolean, array, object
- Ensure all endpoints return full URIs
3. **MCP Components to Include:**
- **Tools**: Functions for the language model to call (✅ Supported in Copilot Studio)
- **Resources**: File-like data outputs from tools (✅ Supported in Copilot Studio - must be tool outputs to be accessible)
- **Prompts**: Predefined templates for specific tasks (❌ Not yet supported in Copilot Studio)
4. **Implementation Structure:**
```
/apiDefinition.swagger.json (Power Platform connector schema)
/apiProperties.json (Connector metadata and configuration)
/script.csx (Custom code transformations and logic)
/server/ (MCP server implementation)
/tools/ (Individual MCP tools)
/resources/ (MCP resource handlers)
```
## Context Variables
- **Server Purpose**: [Describe what the MCP server should accomplish]
- **Tools Needed**: [List of specific tools to implement]
- **Resources**: [Types of resources to provide]
- **Authentication**: [Auth method: none, api-key, oauth2]
- **Host Environment**: [Azure Function, Express.js, FastAPI, etc.]
- **Target APIs**: [External APIs to integrate with]
## Expected Output
Generate:
1. **apiDefinition.swagger.json** with:
- Proper `x-ms-agentic-protocol: mcp-streamable-1.0`
- MCP endpoint at POST `/mcp`
- Compliant schema definitions (no reference types)
- McpResponse and McpErrorResponse definitions
2. **apiProperties.json** with:
- Connector metadata and branding
- Authentication configuration
- Policy templates if needed
3. **script.csx** with:
- Custom C# code for request/response transformations
- MCP JSON-RPC message handling logic
- Data validation and processing functions
- Error handling and logging capabilities
4. **MCP Server Code** with:
- JSON-RPC 2.0 request handler
- Tool registration and execution
- Resource management (as tool outputs)
- Proper error handling
- Copilot Studio compatibility checks
5. **Individual Tools** that:
- Accept only primitive type inputs
- Return structured outputs
- Include resources as outputs when needed
- Provide clear descriptions for Copilot Studio
6. **Deployment Configuration** for:
- Power Platform environment
- Copilot Studio agent integration
- Testing and validation
## Validation Checklist
Ensure generated code:
- [ ] No reference types in schemas
- [ ] All type fields are single types
- [ ] Enum handling via string with validation
- [ ] Resources available through tool outputs
- [ ] Full URI endpoints
- [ ] JSON-RPC 2.0 compliance
- [ ] Proper x-ms-agentic-protocol header
- [ ] McpResponse/McpErrorResponse schemas
- [ ] Clear tool descriptions for Copilot Studio
- [ ] Generative Orchestration compatible
## Example Usage
```yaml
Server Purpose: Customer data management and analysis
Tools Needed:
- searchCustomers
- getCustomerDetails
- analyzeCustomerTrends
Resources:
- Customer profiles
- Analysis reports
Authentication: oauth2
Host Environment: Azure Function
Target APIs: CRM System REST API
```

View File

@@ -0,0 +1,156 @@
---
description: Generate complete Power Platform custom connector with MCP integration for Copilot Studio - includes schema generation, troubleshooting, and validation
agent: agent
---
# Power Platform MCP Connector Suite
Generate comprehensive Power Platform custom connector implementations with Model Context Protocol integration for Microsoft Copilot Studio.
## MCP Capabilities in Copilot Studio
**Currently Supported:**
-**Tools**: Functions that the LLM can call (with user approval)
-**Resources**: File-like data that agents can read (must be tool outputs)
**Not Yet Supported:**
-**Prompts**: Pre-written templates (prepare for future support)
## Connector Generation
Create complete Power Platform connector with:
**Core Files:**
- `apiDefinition.swagger.json` with `x-ms-agentic-protocol: mcp-streamable-1.0`
- `apiProperties.json` with connector metadata and authentication
- `script.csx` with custom C# transformations for MCP JSON-RPC handling
- `readme.md` with connector documentation
**MCP Integration:**
- POST `/mcp` endpoint for JSON-RPC 2.0 communication
- McpResponse and McpErrorResponse schema definitions
- Copilot Studio constraint compliance (no reference types, single types)
- Resource integration as tool outputs (Resources and Tools supported; Prompts not yet supported)
## Schema Validation & Troubleshooting
**Validate schemas for Copilot Studio compliance:**
- ✅ No reference types (`$ref`) in tool inputs/outputs
- ✅ Single type values only (not `["string", "number"]`)
- ✅ Primitive types: string, number, integer, boolean, array, object
- ✅ Resources as tool outputs, not separate entities
- ✅ Full URIs for all endpoints
**Common issues and fixes:**
- Tools filtered → Remove reference types, use primitives
- Type errors → Single types with validation logic
- Resources unavailable → Include in tool outputs
- Connection failures → Verify `x-ms-agentic-protocol` header
## Context Variables
- **Connector Name**: [Display name for the connector]
- **Server Purpose**: [What the MCP server should accomplish]
- **Tools Needed**: [List of MCP tools to implement]
- **Resources**: [Types of resources to provide]
- **Authentication**: [none, api-key, oauth2, basic]
- **Host Environment**: [Azure Function, Express.js, etc.]
- **Target APIs**: [External APIs to integrate with]
## Generation Modes
### Mode 1: Complete New Connector
Generate all files for a new Power Platform MCP connector from scratch, including CLI validation setup.
### Mode 2: Schema Validation
Analyze and fix existing schemas for Copilot Studio compliance using paconn and validation tools.
### Mode 3: Integration Troubleshooting
Diagnose and resolve MCP integration issues with Copilot Studio using CLI debugging tools.
### Mode 4: Hybrid Connector
Add MCP capabilities to existing Power Platform connector with proper validation workflows.
### Mode 5: Certification Preparation
Prepare connector for Microsoft certification submission with complete metadata and validation compliance.
### Mode 6: OAuth Security Hardening
Implement OAuth 2.0 authentication enhanced with MCP security best practices and advanced token validation.
## Expected Output
**1. apiDefinition.swagger.json**
- Swagger 2.0 format with Microsoft extensions
- MCP endpoint: `POST /mcp` with proper protocol header
- Compliant schema definitions (primitive types only)
- McpResponse/McpErrorResponse definitions
**2. apiProperties.json**
- Connector metadata and branding (`iconBrandColor` required)
- Authentication configuration
- Policy templates for MCP transformations
**3. script.csx**
- JSON-RPC 2.0 message handling
- Request/response transformations
- MCP protocol compliance logic
- Error handling and validation
**4. Implementation guidance**
- Tool registration and execution patterns
- Resource management strategies
- Copilot Studio integration steps
- Testing and validation procedures
## Validation Checklist
### Technical Compliance
- [ ] `x-ms-agentic-protocol: mcp-streamable-1.0` in MCP endpoint
- [ ] No reference types in any schema definitions
- [ ] All type fields are single types (not arrays)
- [ ] Resources included as tool outputs
- [ ] JSON-RPC 2.0 compliance in script.csx
- [ ] Full URI endpoints throughout
- [ ] Clear descriptions for Copilot Studio agents
- [ ] Authentication properly configured
- [ ] Policy templates for MCP transformations
- [ ] Generative Orchestration compatibility
### CLI Validation
- [ ] **paconn validate**: `paconn validate --api-def apiDefinition.swagger.json` passes without errors
- [ ] **pac CLI ready**: Connector can be created/updated with `pac connector create/update`
- [ ] **Script validation**: script.csx passes automatic validation during pac CLI upload
- [ ] **Package validation**: `ConnectorPackageValidator.ps1` runs successfully
### OAuth and Security Requirements
- [ ] **OAuth 2.0 Enhanced**: Standard OAuth 2.0 with MCP security best practices implementation
- [ ] **Token Validation**: Implement token audience validation to prevent passthrough attacks
- [ ] **Custom Security Logic**: Enhanced validation in script.csx for MCP compliance
- [ ] **State Parameter Protection**: Secure state parameters for CSRF prevention
- [ ] **HTTPS Enforcement**: All production endpoints use HTTPS only
- [ ] **MCP Security Practices**: Implement confused deputy attack prevention within OAuth 2.0
### Certification Requirements
- [ ] **Complete metadata**: settings.json with product and service information
- [ ] **Icon compliance**: PNG format, 230x230 or 500x500 dimensions
- [ ] **Documentation**: Certification-ready readme with comprehensive examples
- [ ] **Security compliance**: OAuth 2.0 enhanced with MCP security practices, privacy policy
- [ ] **Authentication flow**: OAuth 2.0 with custom security validation properly configured
## Example Usage
```yaml
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
```