CCDV-F Tools and MCP Integration Practice Question
A developer is writing an MCP client that must stay responsive while a server performs a slow operation during a tool call. The client should allow the user to cancel the request without terminating the whole session, and the server should be able to stream incremental output before finishing. Which two MCP features should the developer implement? (Choose two.)
⚠ Common exam trap
The trap here is reaching for connection teardown or retries to interrupt slow work, when MCP provides per-request progress and cancellation messages.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Request cancellation using the notifications/cancelled notification with the in-flight request ID.
Long-running MCP operations are handled with progress notifications tied to a client-supplied progress token and with out-of-band cancellation via notifications/cancelled. Together they let a server report partial progress and let a client abort one request without disturbing the session, which is precisely the behavior the scenario demands.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
Request cancellation using the notifications/cancelled notification with the in-flight request ID.
Why this is correct
A client can cancel an in-flight request by sending notifications/cancelled with the request ID it wants to abort. The server stops work on that specific request while the session and other requests continue, which matches the requirement to cancel without tearing down the whole connection.
- ✗
Polling tools/list repeatedly to detect when the tool has finished executing.
Why it's wrong here
tools/list enumerates available tools and their schemas; it reports nothing about the execution state of a specific call. Polling it would add load and still never reveal completion or partial output, so it does not provide progress or cancellation behavior for the slow operation.
- ✗
Closing the transport and reinitializing the session to interrupt the operation.
Why it's wrong here
Dropping the transport aborts everything in the session, not just the one slow call, and forces a fresh initialize handshake. It is a blunt instrument that discards unrelated in-flight work and state, so it fails the requirement to cancel a single request while keeping the session alive.
- ✓
Progress notifications sent from the server using the progress token supplied by the client.
Why this is correct
MCP allows a client to attach a progressToken to a request, and the server can emit notifications/progress messages referencing that token. This gives incremental feedback during a long-running tool call, satisfying the streaming-output requirement without ending the request or the session.
- ✗
Setting a long client-side timeout and retrying the same request until it succeeds.
Why it's wrong here
Retrying a slow tool call risks duplicate side effects and provides no incremental output or user-driven cancellation. A long timeout simply makes the client wait blindly, which is the opposite of staying responsive, so this approach does not meet either stated requirement.
About these practice questions
This CCDV-F question is part of Courseiva's 257-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
JA
Written and reviewed by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
Last reviewed September 2026 · checked against the official Anthropic exam blueprint
This CCDV-F practice question is part of Courseiva's free Anthropic certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the CCDV-F exam.