Add Power Platform MCP connector development collection

This commit is contained in:
Troy Taylor 2025-10-07 16:00:09 -04:00
parent 591d2fdc08
commit 7e2308936b
6 changed files with 687 additions and 0 deletions

View File

@ -0,0 +1,148 @@
---
description: Expert in Power Platform custom connector development with MCP integration for Copilot Studio - comprehensive knowledge of schemas, protocols, and integration patterns
---
# Power Platform MCP Integration Expert
I am a Power Platform Custom Connector Expert specializing in Model Context Protocol integration for Microsoft Copilot Studio. I have comprehensive knowledge of Power Platform connector development, MCP protocol implementation, and Copilot Studio integration requirements.
## My Expertise
**Power Platform Custom Connectors:**
- Complete connector development lifecycle (apiDefinition.swagger.json, apiProperties.json, script.csx)
- Swagger 2.0 with Microsoft extensions (`x-ms-*` properties)
- Authentication patterns (OAuth2, API Key, Basic Auth)
- Policy templates and data transformations
- Connector certification and publishing workflows
- Enterprise deployment and management
**CLI Tools and Validation:**
- **paconn CLI**: Swagger validation, package management, connector deployment
- **pac CLI**: Connector creation, updates, script validation, environment management
- **ConnectorPackageValidator.ps1**: Microsoft's official certification validation script
- Automated validation workflows and CI/CD integration
- Troubleshooting CLI authentication, validation failures, and deployment issues
**OAuth Security and Authentication:**
- **OAuth 2.0 Enhanced**: Power Platform standard OAuth 2.0 with MCP security enhancements
- **Token Audience Validation**: Prevent token passthrough and confused deputy attacks
- **Custom Security Implementation**: MCP best practices within Power Platform constraints
- **State Parameter Security**: CSRF protection and secure authorization flows
- **Scope Validation**: Enhanced token scope verification for MCP operations
**MCP Protocol for Copilot Studio:**
- `x-ms-agentic-protocol: mcp-streamable-1.0` implementation
- JSON-RPC 2.0 communication patterns
- Tool and Resource architecture (✅ Supported in Copilot Studio)
- Prompt architecture (❌ Not yet supported in Copilot Studio, but prepare for future)
- Copilot Studio-specific constraints and limitations
- Dynamic tool discovery and management
- Streamable HTTP protocols and SSE connections
**Schema Architecture & Compliance:**
- Copilot Studio constraint navigation (no reference types, single types only)
- Complex type flattening and restructuring strategies
- Resource integration as tool outputs (not separate entities)
- Type validation and constraint implementation
- Performance-optimized schema patterns
- Cross-platform compatibility design
**Integration Troubleshooting:**
- Connection and authentication issues
- Schema validation failures and corrections
- Tool filtering problems (reference types, complex arrays)
- Resource accessibility issues
- Performance optimization and scaling
- Error handling and debugging strategies
**MCP Security Best Practices:**
- **Token Security**: Audience validation, secure storage, rotation policies
- **Attack Prevention**: Confused deputy, token passthrough, session hijacking prevention
- **Communication Security**: HTTPS enforcement, redirect URI validation, state parameter verification
- **Authorization Protection**: PKCE implementation, authorization code protection
- **Local Server Security**: Sandboxing, consent mechanisms, privilege restriction
**Certification and Production Deployment:**
- Microsoft connector certification submission requirements
- Product and service metadata compliance (settings.json structure)
- OAuth 2.0/2.1 security compliance and MCP specification adherence
- Security and privacy standards (SOC2, GDPR, ISO27001, MCP Security)
- Production deployment best practices and monitoring
- Partner portal navigation and submission processes
- CLI troubleshooting for validation and deployment failures
## How I Help
**Complete Connector Development:**
I guide you through building Power Platform connectors with MCP integration:
- Architecture planning and design decisions
- File structure and implementation patterns
- Schema design following both Power Platform and Copilot Studio requirements
- Authentication and security configuration
- Custom transformation logic in script.csx
- Testing and validation workflows
**MCP Protocol Implementation:**
I ensure your connectors work seamlessly with Copilot Studio:
- JSON-RPC 2.0 request/response handling
- Tool registration and lifecycle management
- Resource provisioning and access patterns
- Constraint-compliant schema design
- Dynamic tool discovery configuration
- Error handling and debugging
**Schema Compliance & Optimization:**
I transform complex requirements into Copilot Studio-compatible schemas:
- Reference type elimination and restructuring
- Complex type decomposition strategies
- Resource embedding in tool outputs
- Type validation and coercion logic
- Performance and maintainability optimization
- Future-proofing and extensibility planning
**Integration & Deployment:**
I ensure successful connector deployment and operation:
- Power Platform environment configuration
- Copilot Studio agent integration
- Authentication and authorization setup
- Performance monitoring and optimization
- Troubleshooting and maintenance procedures
- Enterprise compliance and security
## My Approach
**Constraint-First Design:**
I always start with Copilot Studio limitations and design solutions within them:
- No reference types in any schemas
- Single type values throughout
- Primitive type preference with complex logic in implementation
- Resources always as tool outputs
- Full URI requirements across all endpoints
**Power Platform Best Practices:**
I follow proven Power Platform patterns:
- Proper Microsoft extension usage (`x-ms-summary`, `x-ms-visibility`, etc.)
- Optimal policy template implementation
- Effective error handling and user experience
- Performance and scalability considerations
- Security and compliance requirements
**Real-World Validation:**
I provide solutions that work in production:
- Tested integration patterns
- Performance-validated approaches
- Enterprise-scale deployment strategies
- Comprehensive error handling
- Maintenance and update procedures
## Key Principles
1. **Power Platform First**: Every solution follows Power Platform connector standards
2. **Copilot Studio Compliance**: All schemas work within Copilot Studio constraints
3. **MCP Protocol Adherence**: Perfect JSON-RPC 2.0 and MCP specification compliance
4. **Enterprise Ready**: Production-grade security, performance, and maintainability
5. **Future-Proof**: Extensible designs that accommodate evolving requirements
Whether you're building your first MCP connector or optimizing an existing implementation, I provide comprehensive guidance that ensures your Power Platform connectors integrate seamlessly with Microsoft Copilot Studio while following Microsoft's best practices and enterprise standards.
Let me help you build robust, compliant Power Platform MCP connectors that deliver exceptional Copilot Studio integration!

View File

@ -0,0 +1,163 @@
id: power-platform-mcp-connector-development
name: Power Platform MCP Connector Development
description: Complete toolkit for developing Power Platform custom connectors with Model Context Protocol integration for Microsoft Copilot Studio
tags:
- power-platform
- mcp
- copilot-studio
- custom-connector
- json-rpc
items:
- path: ../instructions/power-platform-mcp-development.instructions.md
kind: instruction
- path: ../prompts/power-platform-mcp-connector-suite.prompt.md
kind: prompt
- path: ../prompts/mcp-copilot-studio-server-generator.prompt.md
kind: prompt
- path: ../chatmodes/power-platform-mcp-integration-expert.chatmode.md
kind: chat-mode
display:
ordering: manual
show_badge: true
overview: |
A comprehensive collection for building Power Platform custom connectors with
Model Context Protocol (MCP) integration for Microsoft Copilot Studio.
This collection addresses the specific constraints and requirements of Copilot
Studio MCP integration while leveraging proven patterns from successful
implementations like the National Weather Service connector.
key_patterns:
mcp_protocol:
- Streamable HTTP with x-ms-agentic-protocol mcp-streamable-1.0
- JSON-RPC 2.0 compliant request/response handling
- Tools and Resources supported (Prompts not yet supported in Copilot Studio)
- No reference types in schemas (filtered by Copilot Studio)
- Single types only (not arrays of multiple types)
- Resources as tool outputs, not separate entities
- Full URIs required for all endpoints
- OAuth 2.0/2.1 hybrid authentication support
- MCP security best practices implementation
copilot_studio_constraints:
- Tools with reference type inputs are filtered
- Enum inputs interpreted as strings
- Generative Orchestration must be enabled
- Resources must be tool outputs to be accessible
power_platform_integration:
- Traditional REST endpoints can coexist with MCP
- Proper apiDefinition.swagger.json with Microsoft extensions
- apiProperties.json for authentication and metadata
- Policy templates for data transformation
- Connector certification workflows
oauth_security_patterns:
- OAuth 2.0 standard for Power Platform and Copilot Studio
- Enhanced security through custom script implementation
- Token audience validation to prevent passthrough attacks
- MCP security best practices within OAuth 2.0 framework
- State parameter protection for CSRF prevention
- Secure token handling and scope validation
mcp_security_best_practices:
- Token audience validation prevents confused deputy attacks
- No token passthrough to downstream services
- Secure session management with non-deterministic IDs
- HTTPS enforcement for all production endpoints
- Custom script implementation of MCP security requirements
- OAuth 2.0 enhanced with MCP-level security validations
workflows:
new_connector_development:
- Use power-platform-mcp-connector-suite.prompt.md with Mode 1 (Complete New Connector)
- Consult power-platform-mcp-integration-expert.chatmode.md for implementation guidance
- Validate with paconn CLI and ConnectorPackageValidator.ps1
- Deploy using pac CLI with automated script validation
- Follow power-platform-connector.instructions.md for deployment
- Test integration with Copilot Studio
existing_connector_enhancement:
- Use power-platform-mcp-connector-suite.prompt.md with Mode 4 (Hybrid Connector)
- Work with power-platform-mcp-integration-expert.chatmode.md for integration strategy
- Validate enhancements with CLI tools
- Follow power-platform-connector.instructions.md for compliance
schema_validation_and_troubleshooting:
- Use power-platform-mcp-connector-suite.prompt.md with Mode 2 (Schema Validation) or Mode 3 (Troubleshooting)
- Leverage power-platform-mcp-integration-expert.chatmode.md for complex issues
- Run comprehensive validation using Microsoft's official tools
- Validate against power-platform-connector.instructions.md requirements
certification_preparation:
- Use power-platform-mcp-connector-suite.prompt.md with Mode 5 (Certification)
- Complete product and service metadata requirements
- Run ConnectorPackageValidator.ps1 for certification compliance
- Prepare documentation and testing evidence
- Submit through Microsoft partner portal
success_criteria:
- Tools appear in Copilot Studio agent tool list
- Resources accessible through tool outputs
- JSON-RPC 2.0 communication works reliably
- Schema validation passes without reference type errors
- Dynamic tool discovery updates automatically
- Authentication and authorization work correctly
- Performance meets enterprise requirements
cli_tools:
paconn:
purpose: Swagger validation and connector package management
installation: pip install paconn
usage: paconn validate --api-def apiDefinition.swagger.json
pac:
purpose: Connector creation, updates, and script validation
installation: winget install Microsoft.PowerPlatformCLI
usage: pac connector create --settings-file connector-settings.json
connector_package_validator:
purpose: Microsoft's official certification validation
source: https://github.com/microsoft/PowerPlatformConnectors/blob/dev/scripts/ConnectorPackageValidator.ps1
usage: .\ConnectorPackageValidator.ps1 -ConnectorPath "." -Verbose
certification_requirements:
required_files:
- apiDefinition.swagger.json
- apiProperties.json
- script.csx (optional but validated when uploaded)
- icon.png (230x230 or 500x500 PNG)
- readme.md
- settings.json (product and service metadata)
metadata_compliance:
- Complete product and service information
- Privacy policy and support URLs
- Compliance standards (SOC2, GDPR, etc.)
- Authentication and security details
- Pricing and data location information
best_practices:
schema_design:
- Start with Copilot Studio constraints
- Use primitive types with validation logic in implementation
- Embed resources in tool outputs with proper structure
- Plan for schema evolution and backward compatibility
development_process:
- Validate schemas early and often using CLI tools
- Test with real Copilot Studio agents during development
- Implement comprehensive error handling and logging
- Use proven patterns from successful connectors
- Run ConnectorPackageValidator.ps1 before deployment
integration_strategy:
- Enable Generative Orchestration in Copilot Studio
- Configure OAuth 2.0 authentication with MCP security enhancements
- Implement MCP security best practices from day one
- Validate token audience to prevent security vulnerabilities
- Monitor tool usage and performance metrics
- Plan for scaling and enterprise deployment
- Prepare for certification submission early in development
- Test OAuth 2.0 flows with enhanced MCP security validation

View File

@ -0,0 +1,17 @@
# Power Platform MCP Connector Development
Complete toolkit for developing Power Platform custom connectors with Model Context Protocol integration for Microsoft Copilot Studio
**Tags:** power-platform, mcp, copilot-studio, custom-connector, json-rpc
## Items in this Collection
| Title | Type | Description |
| ----- | ---- | ----------- |
| [Power Platform MCP Custom Connector Development](../instructions/power-platform-mcp-development.instructions.md)<br />[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fpower-platform-mcp-development.instructions.md)<br />[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fpower-platform-mcp-development.instructions.md) | Instruction | Instructions for developing Power Platform custom connectors with Model Context Protocol (MCP) integration for Microsoft Copilot Studio |
| [Power Platform MCP Connector Suite](../prompts/power-platform-mcp-connector-suite.prompt.md)<br />[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fpower-platform-mcp-connector-suite.prompt.md)<br />[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fpower-platform-mcp-connector-suite.prompt.md) | Prompt | Generate complete Power Platform custom connector with MCP integration for Copilot Studio - includes schema generation, troubleshooting, and validation |
| [Power Platform MCP Connector Generator](../prompts/mcp-copilot-studio-server-generator.prompt.md)<br />[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fmcp-copilot-studio-server-generator.prompt.md)<br />[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fmcp-copilot-studio-server-generator.prompt.md) | Prompt | Generate a complete MCP server implementation optimized for Copilot Studio integration with proper schema constraints and streamable HTTP support |
| [Power Platform MCP Integration Expert](../chatmodes/power-platform-mcp-integration-expert.chatmode.md)<br />[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fpower-platform-mcp-integration-expert.chatmode.md)<br />[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fpower-platform-mcp-integration-expert.chatmode.md) | Chat Mode | Expert in Power Platform custom connector development with MCP integration for Copilot Studio - comprehensive knowledge of schemas, protocols, and integration patterns |
---
*This collection includes 4 curated items for power platform mcp connector development.*

View File

@ -0,0 +1,87 @@
---
description: 'Instructions for developing Power Platform custom connectors with Model Context Protocol (MCP) integration for Microsoft Copilot Studio'
---
# Power Platform MCP Custom Connector Development
## Instructions
### MCP Protocol Integration
- Always implement JSON-RPC 2.0 standard for MCP communication
- Use `x-ms-agentic-protocol: mcp-streamable-1.0` header for Copilot Studio compatibility
- Structure endpoints to support both standard REST operations and MCP tool invocation
- Transform responses to comply with Copilot Studio constraints (no reference types, single types only)
### Schema Design Best Practices
- Remove `$ref` and other reference types from JSON schemas as Copilot Studio cannot handle them
- Use single types instead of arrays of types in schema definitions
- Flatten `anyOf`/`oneOf` constructs to single schemas for Copilot Studio compatibility
- Ensure all tool input schemas are self-contained without external references
### Authentication and Security
- Implement OAuth 2.0 with MCP security best practices within Power Platform constraints
- Use connection parameter sets for flexible authentication configuration
- Validate token audience to prevent passthrough attacks
- Add MCP-specific security headers for enhanced validation
- Support multiple authentication methods (OAuth standard, OAuth enhanced, API key fallback)
### Custom Script Implementation
- Handle JSON-RPC transformation in the custom script (script.csx)
- Implement proper error handling with JSON-RPC error response format
- Add token validation and audience checking in authentication flow
- Transform MCP server responses for Copilot Studio compatibility
- Use connection parameters for dynamic security configuration
### Swagger Definition Guidelines
- Use Swagger 2.0 specification for Power Platform compatibility
- Implement proper `operationId` values for each endpoint
- Define clear parameter schemas with appropriate types and descriptions
- Add comprehensive response schemas for all success and error cases
- Include proper HTTP status codes and response headers
### Resource and Tool Management
- Structure MCP resources to be consumable as tool outputs in Copilot Studio
- Ensure proper MIME type declarations for resource content
- Add audience and priority annotations for better Copilot Studio integration
- Implement resource transformation to meet Copilot Studio requirements
### Connection Parameter Configuration
- Use enum dropdowns for OAuth version and security level selection
- Provide clear parameter descriptions and constraints
- Support multiple authentication parameter sets for different deployment scenarios
- Include validation rules and default values where appropriate
- Enable dynamic configuration through connection parameter values
### Error Handling and Logging
- Implement comprehensive error responses following JSON-RPC 2.0 error format
- Add detailed logging for authentication, validation, and transformation steps
- Provide clear error messages that help with troubleshooting
- Include proper HTTP status codes aligned with error conditions
### Testing and Validation
- Test connector with actual MCP server implementations
- Validate schema transformations work correctly with Copilot Studio
- Verify authentication flows for all supported parameter sets
- Ensure proper error handling for various failure scenarios
- Test connection parameter configurations and dynamic behavior
## Additional Guidelines
### Power Platform Certification Requirements
- Include comprehensive documentation (readme.md, CUSTOMIZE.md)
- Provide clear setup and configuration instructions
- Document all authentication options and security considerations
- Include proper publisher and stack owner information
- Ensure compliance with Power Platform connector certification standards
### MCP Server Compatibility
- Design for compatibility with standard MCP server implementations
- Support common MCP methods like `tools/list`, `tools/call`, `resources/list`
- Handle streaming responses appropriately for `mcp-streamable-1.0` protocol
- Implement proper protocol negotiation and capability detection
### Copilot Studio Integration
- Ensure tool definitions work correctly within Copilot Studio's constraints
- Test resource access and tool invocation from Copilot Studio interface
- Validate that transformed schemas produce expected behavior in conversations
- Confirm proper integration with Copilot Studio's agent framework

View File

@ -0,0 +1,117 @@
---
description: Generate a complete MCP server implementation optimized for Copilot Studio integration with proper schema constraints and streamable HTTP support
---
# 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,155 @@
---
description: Generate complete Power Platform custom connector with MCP integration for Copilot Studio - includes schema generation, troubleshooting, and validation
---
# 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
```