Skip to content

Refine 2.0.0 concept documentation#1742

Open
jeffhandley wants to merge 3 commits into
mainfrom
jeffhandley/refine-2-0-docs
Open

Refine 2.0.0 concept documentation#1742
jeffhandley wants to merge 3 commits into
mainfrom
jeffhandley/refine-2-0-docs

Conversation

@jeffhandley

Copy link
Copy Markdown
Contributor

Summary

Documentation refinements for the 2.0.0 release, plus two corrections to the TasksExtension sample.

This is the first of two planned docs changes. A follow-up will introduce a compile-gated snippets project that transcludes all documentation code samples; it is parked separately so it can land cleanly on top of this once merged.

Concept documentation (938e1b2)

  • tasks.md — restore the intended information architecture: move Compatibility with v1 experimental Tasks under Architecture notes (from a top-level section right after the intro to #### Compatibility with v1 experimental Tasks, after Capability bypass inside a task scope and before Known limitations).
  • capabilities.md — correct a client variable reference (mcpClientclient).
  • index.md — list Stateless and Stateful under Base protocol to match toc.yml.
  • getting-started.md, transports.md — standardize link text on Stateless and Stateful (the concept page's name) rather than Sessions.
  • sampling.md, roots.md, logging.md — add deprecation notices for the Roots/Sampling/Logging utilities (SEP-2577); for sampling and roots, point to the stateless-compatible Multi round-trip requests (MRTR) alternative.
  • list-of-diagnostics.md — link SEP-2577 from the MCP9005 row.
  • logging.md — correct the Trace-level note: LogLevel.Trace maps to the MCP debug level when sent to the client (McpServerImpl.ToLoggingLevel); it is not silently dropped.
  • Normalize stray trailing spaces in two docs-sample snippet markers.

TasksExtension sample

Validation

  • DocFX --warningsAsErrors: 0 warnings / 0 errors.
  • samples/TasksExtension builds clean and runs the poll loop to completion.

jeffhandley and others added 3 commits July 24, 2026 20:35
- tasks.md: restore the intended information architecture by moving the
  "Compatibility with v1 experimental Tasks" section under "Architecture notes".
- capabilities.md: correct the client variable reference (mcpClient -> client).
- index.md: list "Stateless and Stateful" under Base protocol to match toc.yml.
- getting-started.md, transports.md: standardize link text on
  "Stateless and Stateful" (the concept page's name) rather than "Sessions".
- sampling.md, roots.md, logging.md: add deprecation notices for the
  Roots/Sampling/Logging utilities (SEP-2577); for sampling and roots, point to
  the stateless-compatible Multi round-trip requests (MRTR) alternative.
- list-of-diagnostics.md: link SEP-2577 from the MCP9005 row.
- logging.md: correct the Trace-level note. Trace maps to the MCP `debug` level
  when sent to the client; it is not silently dropped
  (McpServerImpl.ToLoggingLevel: LogLevel.Trace => LoggingLevel.Debug).
- Normalize stray trailing spaces in two docs-sample snippet markers.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 782b5bad-4046-49ec-93a6-72768b5b7521
…verTransport

The sample registered the in-memory pipe transport by adding an ITransport
singleton directly, which does not register the McpServer factory in DI. As a
result, serviceProvider.GetRequiredService<McpServer>() threw
"No service for type 'ModelContextProtocol.Server.McpServer' has been registered."
at startup (regression from the Tasks extraction, #1693).

Register the transport through .WithStreamServerTransport(...) on the builder,
which calls AddSingleSessionServerDependencies and registers the McpServer
factory. The sample now runs the task poll loop to completion.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 4b938335-418c-4ee7-8287-6c70d9148b89
The README described a pre-#1693 two-path client (CallToolAsync auto-poll +
CallToolRawAsync manual poll) that no longer exists. Program.cs demonstrates a
single CallToolAsTaskAsync manual-poll path. Update the prose and the expected
output block to match the current sample.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 4b938335-418c-4ee7-8287-6c70d9148b89
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant