Add Power Platform MCP connector development collection
This commit is contained in:
parent
591d2fdc08
commit
7e2308936b
148
chatmodes/power-platform-mcp-integration-expert.chatmode.md
Normal file
148
chatmodes/power-platform-mcp-integration-expert.chatmode.md
Normal 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!
|
||||
@ -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
|
||||
17
collections/power-platform-mcp-connector-development.md
Normal file
17
collections/power-platform-mcp-connector-development.md
Normal 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 />[](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 />[](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 />[](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 />[](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 />[](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 />[](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 />[](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 />[](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.*
|
||||
87
instructions/power-platform-mcp-development.instructions.md
Normal file
87
instructions/power-platform-mcp-development.instructions.md
Normal 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
|
||||
117
prompts/mcp-copilot-studio-server-generator.prompt.md
Normal file
117
prompts/mcp-copilot-studio-server-generator.prompt.md
Normal 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
|
||||
```
|
||||
155
prompts/power-platform-mcp-connector-suite.prompt.md
Normal file
155
prompts/power-platform-mcp-connector-suite.prompt.md
Normal 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
|
||||
```
|
||||
Loading…
x
Reference in New Issue
Block a user