Skip to content

Conversation

@alzimmermsft
Copy link
Contributor

What does this PR do?

Change proposal for how learn=true is handled in --mode namespace (the default mode).

When learn=true we no longer will attempt to make a tool call if the server supports sampling and a tool is found during sampling. Instead, when that happens the tool's information will be returned as the result of the call, allowing the agent to handle follow-ups.

Reason for this change is that not all required parameters may be inferred by the agent or even supplied / known by what is chatting with the agent, when a learning request is made. And when that happens it can result in confusing, possibly derailment of the on-going conversation with the agent, due to errors being returned.

Additional changes are made to prefer learning when both learn=true and a specific command are supplied. Before when that happened, the server would attempt the tool call.

There is follow-up work required in --mode all to do something similar.

GitHub issue number?

Fixes #886

Pre-merge Checklist

  • Required for All PRs
    • Read contribution guidelines
    • PR title clearly describes the change
    • Commit history is clean with descriptive messages (cleanup guide)
    • Added comprehensive tests for new/modified functionality
    • Updated servers/Azure.Mcp.Server/CHANGELOG.md and/or servers/Fabric.Mcp.Server/CHANGELOG.md for product changes (features, bug fixes, UI/UX, updated dependencies)
  • For MCP tool changes:
    • One tool per PR: This PR adds or modifies only one MCP tool for faster review cycles
    • Updated servers/Azure.Mcp.Server/README.md and/or servers/Fabric.Mcp.Server/README.md documentation
    • Validate README.md changes using script at eng/scripts/Process-PackageReadMe.ps1. See Package README
    • Updated command list in /servers/Azure.Mcp.Server/docs/azmcp-commands.md and/or /docs/fabric-commands.md
    • Run .\eng\scripts\Update-AzCommandsMetadata.ps1 to update tool metadata in azmcp-commands.md (required for CI)
    • For new or modified tool descriptions, ran ToolDescriptionEvaluator and obtained a score of 0.4 or more and a top 3 ranking for all related test prompts
    • For new tools associated with Azure services or publicly available tools/APIs/products, add URL to documentation in the PR description
  • Extra steps for Azure MCP Server tool changes:
    • Updated test prompts in /servers/Azure.Mcp.Server/docs/e2eTestPrompts.md
    • 👉 For Community (non-Microsoft team member) PRs:
      • Security review: Reviewed code for security vulnerabilities, malicious code, or suspicious activities before running tests (crypto mining, spam, data exfiltration, etc.)
      • Manual tests run: added comment /azp run mcp - pullrequest - live to run Live Test Pipeline

@alzimmermsft alzimmermsft self-assigned this Oct 22, 2025
@joshfree joshfree added server-Azure.Mcp Azure.Mcp.Server tools-Core AZMCP Core functionality that all other tools build on top of labels Oct 23, 2025
@joshfree joshfree added this to the 2025-11 milestone Oct 23, 2025
@joshfree joshfree moved this from Untriaged to In Progress in Azure MCP Server Oct 23, 2025
@joshfree
Copy link
Member

joshfree commented Oct 23, 2025

@alzimmermsft let's save this for 2.0-beta since we're in the final <48 hours and this is still draft.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

server-Azure.Mcp Azure.Mcp.Server tools-Core AZMCP Core functionality that all other tools build on top of

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

[BUGBASH] Learning about tools fail with missing required options

2 participants