Skip to content

Investigate merging sampling and turn response paths together #3330

Description

Per the latest MCP specification sampling is now a deprecated feature and has started a one-year countdown to complete removal from the specification. Our MCP servers are heavily built on sampling for every running mode other than --mode all where all tools are exposed locally.

One thing we do today is that we have different text for the sampling request and the turn response when sampling isn't available and we need the calling LLM to provide more information / make a decision, and generally the turn response text has less guidance than the sampling request.

We should investigate merging the sampling request and turn response into a single set of text, so that when we make improvements to one we don't forget to make improvements to the other. An example would be that namespace mode sampling includes guidance on what the LLM should attempt to do:

https://github.com/microsoft/mcp/blob/main/core/Microsoft.Mcp.Core/src/Areas/Server/Commands/ToolLoading/NamespaceToolLoader.cs#L738-L744

But we don't do that with the turn response:

https://github.com/microsoft/mcp/blob/main/core/Microsoft.Mcp.Core/src/Areas/Server/Commands/ToolLoading/NamespaceToolLoader.cs#L554-L558

Metadata

Metadata

Labels

engineering itemneeds-team-attentionWorkflow: This issue needs attention from Azure service team or MCP team.server-Azure.McpAzure.Mcp.Servertools-CoreAZMCP Core functionality that all other tools build on top of

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions