-
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
Conversation
Co-authored-by: Copilot <[email protected]>
| Thanks for your contribution! The pull request validation has started. Please revisit this comment for updated status. |
|
|
|
/azp run azure-powershell - powershell-core |
|
Azure Pipelines successfully started running 1 pipeline(s). |
isra-fel
left a comment
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.
create an assets folder and move private static assets there (ideal-module and readme template).
Keep the resourcesService as is
|
/azp run azure-powershell - powershell-core |
|
Azure Pipelines successfully started running 1 pipeline(s). |
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 introduces modular inputs and enhanced quality tests for the MCP server, transitioning from a single comprehensive workflow to a more structured, tool-based approach that separates concerns and improves testability.
Key Changes:
- Refactored the monolithic partner module workflow into discrete, composable MCP tools
- Implemented structured logging with daily file rotation and JSON output support
- Added help-driven parameter filtering for examples and tests to ensure only documented parameters are used
Reviewed Changes
Copilot reviewed 36 out of 37 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/Mcp/test/vscode/mcpprompt.md | Removed legacy monolithic workflow prompt in favor of modular approach |
| tools/Mcp/src/types.ts | Added resourceSchema interface for new resource handling capabilities |
| tools/Mcp/src/specs/specs.json | Updated tool definitions, removed greeting prompt, added new modular tools |
| tools/Mcp/src/specs/responses.json | Updated response templates to use file-based content loading |
| tools/Mcp/src/services/utils.ts | Enhanced with structured logging, improved error handling, and new utility functions |
| tools/Mcp/src/services/toolsService.ts | Added comprehensive logging and new tool implementations |
| tools/Mcp/src/services/resourcesService.ts | New service for handling MCP resources |
| tools/Mcp/src/services/logger.ts | New structured logging system with file rotation and JSON support |
| tools/Mcp/src/index.ts | Updated to use new logging system |
| tools/Mcp/src/assets/*.md | New instruction templates for example and test generation |
| tools/Mcp/src/assets/ideal-modules/Databricks/* | Added reference examples and tests for quality benchmarking |
| tools/Mcp/src/CodegenServer.ts | Added resource support and enhanced error handling with logging |
Comments suppressed due to low confidence (1)
tools/Mcp/src/services/logger.ts:1
- Inconsistent path construction compared to getIdealModuleExamplePaths() which uses 'src/ideal-modules'. Should use consistent path structure.
/*
isra-fel
left a comment
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.
Generally LGTM with one question
Description
Mandatory Checklist
Please choose the target release of Azure PowerShell. (⚠️ Target release is a different concept from API readiness. Please click below links for details.)
Check this box to confirm: I have read the Submitting Changes section of
CONTRIBUTING.mdand reviewed the following information:ChangeLog.mdfile(s) appropriatelysrc/{{SERVICE}}/{{SERVICE}}/ChangeLog.md.## Upcoming Releaseheader in the past tense.ChangeLog.mdif no new release is required, such as fixing test case only.