Skip to content

[Feature]: Model Context Protocol Provider #606

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
Grant-Archibald-MS opened this issue May 3, 2025 · 2 comments
Open

[Feature]: Model Context Protocol Provider #606

Grant-Archibald-MS opened this issue May 3, 2025 · 2 comments
Assignees
Labels
enhancement New feature or request

Comments

@Grant-Archibald-MS
Copy link
Contributor

Grant-Archibald-MS commented May 3, 2025

Is your feature request related to a problem? Please describe.

Currently, generating test suites and cases for Power Platform solutions require knowledge of yaml and Power Fx functions. By integrating with generative AI and providing a structured protocol, we can streamline this process and make it more accessible to users of varying skill levels.

This feature request proposes the implementation of a test engine integrated Model Context Protocol provider to make the generation of test suites and test cases more accessible by enabling integration with Generative AI models. The goal is to provide context and actions to the model so that it can simplify the process of managing test cases easier process using natural language.

Benefits

  • Accessibility: Simplifies the creation of test suites and cases, making it easier for users to adopt effective testing practices.
  • Efficiency: Reduces manual effort by leveraging Generative AI capabilities and automating repetitive tasks.
  • Accuracy: Ensures that generated Power Fx steps are validated and correct, minimizing errors.
  • Flexibility: Provides robust querying and test definition capabilities tailored for Power Platform solutions.

Implementing the Model Context Protocol provider will enhance the usability, efficiency, and accuracy of the Power Apps Test Engine, empowering users to generate high-quality test suites and cases with ease. This feature aligns with the goal of making testing more accessible and effective for Power Platform solutions.

Describe the solution you'd like

The following features are proposed for the implementation of the Model Context Protocol with SSE:

  1. Integration with Generative AI:

    • Enable the Generative AI to access context and actions required for generating test suites and cases using natural language.
  2. Data Querying Capabilities:

    • Allow querying data from the Plan Designer.
    • Enable querying solution information to create specific tests for Power Platform solutions.
    • Provide the ability to query data from the tables of the solution.
  3. Test File Generation:

    • Provide actions that simplify the generation of test files.
    • Use the security model of Test Engine to write YAML files via IFileSystem instead of direct Systerm.File.IO.
  4. Power Fx Validation:

    • Provide methods to validate and identify syntax errors in generated Power Fx steps.
    • Allow the Gen AI using results from MCP Server to correct Power Fx syntax errors.
  5. Test Suite and Case Definition:

    • Enable the definition of test suites, test cases, user-defined types, and user-defined Power Fx functions.
  6. Context Awareness:

    • Allow the provider to read testSettings to give context about available user-defined types or functions.
    • Ensure the Generative AI process understands how to use this context to build test cases effectively

Integration

Consider the following scenarios

  • Provide documentation on how to use this server with Visual Studio Code.
  • Consider how this SSE could be integrated with Microsoft Copilot Studio

Implementation

Create new mcp provider for Test engine

dotnet .\PowerAppsTestEngine.dll -p "mcp" `
     -t c8696401-8c24-4dce-87b2-05c2e24589ed `
    -e a4f3bbd2-77a8-408a-b27f-a9ad172b8a90 `
    -d "https://contoso.crm.dynamics.com"
Parameter Description
-p Specify provider is mcp
-t Specify the tenant id to connect to
-e Specify the environment to connect to
-d Specify the dataverse url of the environment

Describe alternatives you've considered

No response

Additional context?

No response

@Grant-Archibald-MS Grant-Archibald-MS added the enhancement New feature or request label May 3, 2025
@Grant-Archibald-MS Grant-Archibald-MS self-assigned this May 3, 2025
@Grant-Archibald-MS Grant-Archibald-MS changed the title [Feature]: Model Context Protocol with SSE [Feature]: Model Context Protocol Provider May 5, 2025
@Grant-Archibald-MS
Copy link
Contributor Author

Implemented Power Fx Evaluation with User Defined Type and Functions in branch mcp-606

@Grant-Archibald-MS
Copy link
Contributor Author

Working on refining this example for Build 2025 session

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: No status
Development

No branches or pull requests

1 participant