power platform mcp connector suite
power-platform-mcp-connector-suite
Generate complete Power Platform custom connector with MCP integration for Copilot Studio - includes schema generation, troubleshooting, and validation
Introduction source: author · github · b6483db44fb602654bca6a097185fcaddb305f97 Reference
Author's original introduction
Generate complete Power Platform custom connector with MCP integration for Copilot Studio - includes schema generation, troubleshooting, and validation
SkillPi interpretation
- Tasks
- power platform mcp connector suite
- Audience
- Use the scenarios stated in the author's introduction.
- Inputs and outputs
- See the complete author document; outputs have not been runtime verified by SkillPi.
- Software, accounts and paid services
- Check required software, accounts, costs and permissions in the full document; confirm and authorize actual file access and external services in your host. Domains referenced in the documents (not a runtime allowlist): No HTTP(S) domain stated.
- Limits and differences
- Functionality, version status and outcome statements in the introduction are author claims. Only pinned source and static attachment evidence were checked; runtime behavior, external services and compatibility are not guaranteed.
- Testing
- Not tested
Permissions and checks before use
Automatically summarized from this main document. Matches may be examples or defensive advice; they are not actual permission declarations. Attachments, external dependencies and runtime behavior are not covered.
-
Accounts, secrets or authorization
Use a dedicated least-privilege account. Keep secrets out of public content and command logs; verify the receiving service and tenant.
Mentioned in main document · lines 56, 77, 78, 125, 126
Security rating and access scope
caution · Static evidence review; not a runtime safety guarantee.
Check required software, accounts, costs and permissions in the full document; confirm and authorize actual file access and external services in your host. Domains referenced in the documents (not a runtime allowlist): No HTTP(S) domain stated.
Before use, confirm and authorize actual file access, external services and network destinations in your host. This review grants no runtime permissions.
Original SKILL.md
--- name: power-platform-mcp-connector-suite 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 ```
Copyright and license notice
MIT License Copyright GitHub, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
User discussion