-
Notifications
You must be signed in to change notification settings - Fork 4.1k
[MCP] Modular inputs + Enhanced Quality Tests #28460
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
Merged
Merged
Changes from all commits
Commits
Show all changes
25 commits
Select commit
Hold shift + click to select a range
aa06e59
Added Prompt support
notyashhh 738f6ef
WhiteSpace
notyashhh a775b62
whitespace fix
notyashhh d2c4098
whitespace
notyashhh 5248813
Update tools/Mcp/test/vscode/mcpprompt.md
notyashhh e0ba083
fix whitespace
notyashhh 32b4b22
Updated to use PromptParameterSchema
notyashhh eb2c590
reverted elicitInput
notyashhh 65086d3
reverted import
notyashhh deef756
Updated mcpprotocol required version
notyashhh 06421e4
Fuzzy Search
notyashhh 022babc
Updated the fuzzy search flow
notyashhh 893848a
updated old method as well
notyashhh 01df031
Merge branch 'dev/mcp-server' into yash/mcp-server2
notyashhh e5227f2
Ellicitation support for Stage 1 Inputs, Added ResourcesService
notyashhh 8a16ffe
Basic Syntax Fixing
notyashhh 6c796b4
Updated return Spec
notyashhh acebef0
Enhanced Quality Generation
notyashhh 22a3a26
Updated Workflow
notyashhh 1d15166
Deleted mcpprompt.md
notyashhh 45b8a1c
Removed Example Ellicitation, Improved Examples (Real Params)
notyashhh 261e31d
Updated Readme
notyashhh aad4068
Logging changes + streamlined workflow
notyashhh e0f21e2
Discussed Refactoring, Some Cleanup
notyashhh 9ebdf28
Added a tool for visibility
notyashhh File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,63 @@ | ||
| <!-- region Generated --> | ||
| # Az.{moduleName} | ||
| This directory contains the PowerShell module for the {moduleName} service. | ||
|
|
||
| --- | ||
| ## Info | ||
| - Modifiable: yes | ||
| - Generated: all | ||
| - Committed: yes | ||
| - Packaged: yes | ||
|
|
||
| --- | ||
| ## Detail | ||
| This module was primarily generated via [AutoRest](https://github.com/Azure/autorest) using the [PowerShell](https://github.com/Azure/autorest.powershell) extension. | ||
|
|
||
| ## Module Requirements | ||
| - [Az.Accounts module](https://www.powershellgallery.com/packages/Az.Accounts/), version 2.7.5 or greater | ||
|
|
||
| ## Authentication | ||
| AutoRest does not generate authentication code for the module. Authentication is handled via Az.Accounts by altering the HTTP payload before it is sent. | ||
|
|
||
| ## Development | ||
| For information on how to develop for `Az.{moduleName}`, see [how-to.md](how-to.md). | ||
| <!-- endregion --> | ||
|
|
||
| --- | ||
| ### AutoRest Configuration | ||
| > see https://aka.ms/autorest | ||
|
|
||
| ```yaml | ||
|
|
||
| commit: {commitId} | ||
|
|
||
| require: | ||
| - $(this-folder)/../../readme.azure.noprofile.md | ||
| - $(repo)/specification/{serviceSpecs}/readme.md | ||
|
|
||
| try-require: | ||
| - $(repo)/specification/{serviceSpecs}/readme.powershell.md | ||
|
|
||
| input-file: | ||
| - $(repo)/{swaggerFileSpecs} | ||
|
|
||
| module-version: 0.1.0 | ||
|
|
||
| title: {moduleName} | ||
| service-name: {moduleName} | ||
| subject-prefix: $(service-name) | ||
|
|
||
| directive: | ||
|
|
||
| - where: | ||
| variant: ^(Create|Update)(?!.*?(Expanded|JsonFilePath|JsonString)) | ||
| remove: true | ||
|
|
||
| - where: | ||
| variant: ^CreateViaIdentity$|^CreateViaIdentityExpanded$ | ||
| remove: true | ||
|
|
||
| - where: | ||
| verb: Set | ||
| remove: true | ||
| ``` | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,43 @@ | ||
| ## LLM Example Generation Directions | ||
|
|
||
| You have just called tool `create-example` for a freshly generated module. | ||
|
|
||
| Inputs: | ||
| - `{0}` = source swagger example JSON directory (read only) | ||
| - `{1}` = target examples directory (write here only) | ||
| - `{2}` = reference example dirs (style cues; may be empty) | ||
| - helpDir = parentOf({1}) with `.Autorest` removed + `/help` (read only) | ||
|
|
||
| Goal: Produce minimal, runnable PowerShell example scripts for each relevant cmdlet using ONLY parameters documented in help. | ||
|
|
||
| Algorithm (repeat per cmdlet needed): | ||
| 1. Open `helpDir/<CmdletName>.md`. | ||
| 2. Collect allowed params = (a) params in first syntax line(s) in code fences + (b) every `### -ParamName` heading. Exclude `CommonParameters`. | ||
| 3. For each swagger JSON in `{0}` referencing this cmdlet, map its fields to allowed params; drop non‑allowed silently. | ||
| 4. Order parameters: required (in the order of the first syntax signature) then optional alphabetical. | ||
| 5. Build one minimal example. Add a second variant ONLY if it demonstrates distinct optional parameters. | ||
|
|
||
| Rules: | ||
| * Never invent or rename parameters; casing must match help. | ||
| * Value selection precedence (per allowed parameter): | ||
| 1. If the swagger example JSON (source `{0}`) contains a concrete value for that parameter (after mapping), use that value directly. | ||
| 2. If the swagger value is obviously redacted (e.g. `"string"`, `"<string>"`, `"XXXX"`, empty, or null) then fall back to a stable placeholder instead of using the dummy. | ||
| 3. Otherwise (no concrete usable value) use a stable placeholder: `<ResourceGroupName>`, `<Location>`, `<SubscriptionId>`, `<Name>`, etc. | ||
| * Do not substitute placeholders where a good swagger value exists. | ||
| * If no allowed params remain after filtering, create/leave an empty file or a single comment line. | ||
| * Do not copy help prose; output only script lines (and brief inline comments if helpful). | ||
| * Mirror formatting style hints (indentation, spacing) from reference dirs `{2}` without copying their literal values. | ||
|
|
||
| Output Handling: | ||
| - Modify/create files ONLY under `{1}`; no other directories. | ||
| - Preserve existing example files, updating parameter sets/order as needed. | ||
|
|
||
| Quick Validation Checklist (stop if any fail): | ||
| 1. All parameters exist in help. | ||
| 2. Required parameters present & ordered first. | ||
| 3. No swagger‑only or duplicate parameters. | ||
| 4. Placeholders consistent. | ||
| 5. No redundant variant scripts. | ||
|
|
||
| Produce the final example script contents now; do not restate these instructions. | ||
|
|
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.