-
Notifications
You must be signed in to change notification settings - Fork 228
Support filtering by area when running tool description evaluator #745
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
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds area filtering functionality to the Tool Description Evaluator, enabling users to focus on specific Azure service areas when running evaluations. This enhancement improves usability for both development and CI scenarios by allowing targeted testing of specific service areas.
- Added
--area
command-line parameter to filter prompts by Azure service area (e.g., "storage", "keyvault") - Enhanced prompt loading logic to parse area headers and identifiers from markdown files
- Updated documentation, scripts, and test prompts to support the new filtering capability
Reviewed Changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.
File | Description |
---|---|
eng/tools/ToolDescriptionEvaluator/Program.cs | Added area filtering parameter parsing and enhanced markdown loading logic to filter prompts by area |
eng/tools/ToolDescriptionEvaluator/README.md | Updated documentation with area filtering usage examples and available area identifiers |
eng/tools/ToolDescriptionEvaluator/Run-ToolDescriptionEvaluator.ps1 | Added -Area parameter support to PowerShell script with updated examples |
servers/Azure.Mcp.Server/docs/e2eTestPrompts.md | Added area identifiers to each section for improved filtering support |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The code itself looks good, but I think we should filter tools by using the command name prefixes instead of an arbitrary string in the markdown file, like azmcp_storage
or azmcp_keyvault
. This way we support both .md and .json files and don't need to add more info to either to achieve wat we want. We could also just ignore the azmcp_
prefix and match strings that include this --area
/--filter
right after. Moreso, we could allow to use this option more than once (or it being an array, whichever is easiest to implement) and allow for more flexible filtering: dotnet run --area "storage" --area "keyvault"
What does this PR do?
This pull request adds support for filtering prompts by Azure service/tool prefix in the Tool Description Evaluator, making it easier to test prompts for specific services (like Key Vault or Storage). It introduces a new
--area
command line argument (and corresponding PowerShell script parameter) to filter prompts by tool name prefix, with automatic handling of common Azure service names. The documentation and help text have been updated to explain and demonstrate this new feature.Tool Prefix Filtering Feature:
--area
command line argument inProgram.cs
and a correspondingArea
parameter inRun-ToolDescriptionEvaluator.ps1
to filter prompts by tool name prefix (e.g., "keyvault" auto-expands to "azmcp_keyvault"). Multiple areas can be specified as a comma-separated list. [1] [2] [3] [4]LoadPromptsFromMarkdownAsync
to filter prompts based on the specified area(s), with support for both auto-prefixed and explicitly prefixed tool names. Added user feedback if no prompts are found for the given area. [1] [2] [3]ShowHelp
inProgram.cs
) and PowerShell script to document the new filtering capability. [1] [2] [3]Documentation Updates:
README.md
to add a new section on "Tool Prefix Filtering Mode", provide detailed usage examples, and clarify how the filtering works with both the CLI and PowerShell script. [1] [2] [3]README.md
to include the new--area
option and its usage. [1] [2]General Improvements:
These changes make it much easier to target and evaluate prompts for specific Azure services, improving the flexibility and usability of the Tool Description Evaluator.
GitHub issue number?
N/A
Pre-merge Checklist
servers/Azure.Mcp.Server/CHANGELOG.md
and/orservers/Fabric.Mcp.Server/CHANGELOG.md
for product changes (features, bug fixes, UI/UX, updated dependencies
)servers/Azure.Mcp.Server/README.md
and/orservers/Fabric.Mcp.Server/README.md
documentation/servers/Azure.Mcp.Server/docs/azmcp-commands.md
and/or/docs/fabric-commands.md
ToolDescriptionEvaluator
and obtained a score of0.4
or more and a top 3 ranking for all related test prompts/servers/Azure.Mcp.Server/docs/e2eTestPrompts.md
crypto mining, spam, data exfiltration, etc.
)/azp run mcp - pullrequest - live
to run Live Test Pipeline