Chapter C60 · Interactive Course

Advanced MCP features and version changes

Progress, cancellation, input requests, interfaces, long tasks, eras.

Start chapter in web app

Core Learning Concept

Read compatibility declarations for exact protocol versions and extensions carefully. Check support for progress reports, cancellation, and durable tasks, thoroughly verifying failure behaviors rather than assuming optional features always exist reliably.

What You’ll Learn in This Chapter

  1. Progress is not completion

    Activity 1 of 9 · 4 min

    Distinguish progress messages from a final successful result.

    A progress message reports an intermediate state, such as processing a portion of a document. It is not the final result. For a side-effecting operation, completion may also need confirmation in the destination system. Keep the progress indicator separate from the evidence used to mark the task finished.

    Start activity →

  2. Cancellation may leave partial work

    Activity 2 of 9 · 4 min

    Recognize that stopping delivery need not undo external effects.

    Cancellation requests that work stop according to the protocol and implementation. It may arrive after some effects occurred or after completion. It does not automatically roll back earlier writes. Inspect the resulting state and use the operation’s recovery rules before restarting or assuming nothing happened.

    Start activity →

  3. Elicitation requests missing input

    Activity 3 of 9 · 5 min

    Identify a request for user information inside an integration flow.

    Elicitation allows servers to request clarification or user inputs through host forms or secure authorization URLs. Forms must never collect confidential credentials, and hosts should let users inspect or decline requests.

    Start activity →

  4. MCP Apps can add an interface

    Activity 4 of 9 · 4 min

    Recognize an optional interactive UI extension.

    MCP Apps is an extension for interactive interfaces associated with server capabilities. It requires compatible support and a defined security model in the host. A tool can still provide non-interactive content where designed to do so. Check the particular interface and fallback instead of assuming every host can display it.

    Start activity →

  5. Long-running tasks need lifecycle support

    Activity 5 of 9 · 4 min

    Distinguish an immediate result from an optional task handle.

    Durable task extensions provide asynchronous handles for long-running jobs. Hosts use that handle to poll progress, cancel execution, and fetch completed outputs. Transient progress notifications alone do not constitute durable task persistence.

    Start activity →

  6. Skills over MCP is an evolving overlap

    Activity 6 of 9 · 4 min

    Explain that workflow instructions can be distributed through protocol extensions.

    Guidance packages and MCP-delivered content can overlap, but transport and purpose remain separate questions. A server may deliver instructions or resources without every host treating them as an installed skill. Inspect the current extension or host convention, its version, and how the procedure is selected and executed.

    Start activity →

  7. Older tutorials can teach deprecated features

    Activity 7 of 9 · 4 min

    Recognize dated roots, sampling and logging examples.

    A tutorial describes a particular version and setup, even when it omits the date. Compare its lifecycle, methods, and optional features with the versioned specification and implementation. Deprecation does not make every historical example meaningless; it means you must understand which rules apply before following it now.

    Start activity →

  8. Read a compatibility sheet

    Activity 8 of 9 · 5 min

    For a mock host and server, mark supported core features, optional extensions and older-version behavior, and explain one feature the setup cannot promise.

    Start activity →

  9. Inspect a complete integration

    Activity 9 of 9 · 6 min

    Review a supplied integration proposal, diagnose its failed test and decide which extensions it actually needs.

    Start activity →