microsoft / microsoft/mcp

Investigate merging sampling and turn response paths together

Open
#3,330 2 comments 0 reactions 1 assignee Claimed by @alzimmermsft View on GitHub
engineering item needs-team-attention server-Azure.Mcp tools-Core
Dominant language
C#
Stars
3.7k
Forks
624
Avg merge
2d 20h
Merged PRs (30d)
220

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

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.