Interactions & Execution
MCPA · 78 questions
- A client works with a Streamable HTTP server until the server answers a slow tools/call with Content-Type text/event-stream instead of application/json; from then on the client fails. What is the root cause?
- A client receives an SSE response stream for one tools/call over Streamable HTTP. Several messages arrive before the stream closes. What may this stream contain?
- Over the Streamable HTTP transport, a client POSTs a JSON-RPC notification and the server accepts it. What does the server return?
- A client wants change notifications for two specific resource URIs only, and it does not want tool or prompt list changes. How should it subscribe under revision 2026-07-28?
- A client sends subscriptions/listen requesting both toolsListChanged and promptsListChanged. The acknowledgment's notifications field contains only toolsListChanged. How should the client interpret this?
- On a stdio connection, a client has two active subscriptions, opened by subscriptions/listen requests with ids 7 and 9. Notifications from both arrive interleaved on the server's stdout. How does the client tell them apart?
- A client wants progress updates while a slow export tool runs. What must the client do, and what can it expect from the server?
- A client opened a subscriptions/listen stream and waits there for progress notifications about a long tools/call that it sent with a progressToken. No progress arrives on the listen stream. Why not?
- A client paging through tools/list stops when it receives a result whose nextCursor is an empty string, and it later finds that some tools are missing. What went wrong?
- A client caches a tools/list result that carried a ttlMs of 300000. When should it fetch the list again?
- An MCP server sits behind a shared caching gateway. Its resources/read results return each authenticated user's own open support tickets, so the content differs from one access token to the next. Which caching hint should the server attach to these results?
- A client cached a tools/list result that carried a ttlMs of 300000. Two minutes later, while that cached list is still fresh, the client receives notifications/tools/listchanged on its subscriptions/listen stream. What should the client do with the cached list?
- A client sends tools/call with JSON-RPC id 7. The server replies with a result whose resultType is "inputrequired", carrying an elicitation request in inputRequests and an opaque requestState. What sequence should the client follow next?
- A client team notices that a server's requestState looks like base64-encoded JSON containing a step counter. To save a round trip, their client decodes it, increments the counter, re-encodes it and sends it on the retry. The server now rejects those retries. What should the client do instead?
- During a code review, a developer sees that their server answers some tools/list requests with an InputRequiredResult asking the user, through elicitation, which team's tools to show. The client did declare the elicitation capability. How should the reviewer assess this design?
- A client only needs to know when one file, file:///project/config.json, changes on a server that advertises resource subscriptions. It does not care when resources are added to or removed from the server's resource list. Which approach fits this need?
- A server is being shut down for planned maintenance while several clients hold open subscriptions/listen streams. The clients should be able to tell that their subscriptions ended deliberately rather than through an unexpected disconnect. What should the server do for each stream?
- A host lets users pick a server prompt named codereview and fill in its language argument. As the user types "py", the host wants to show matching suggestions from the server in a dropdown. Which protocol approach supports this?
- A CRM server wants the host to be able to fetch any customer record by ID, using addresses such as customers://1042, without listing every customer individually. How should the server expose these records?
- A client calls resources/read on a directory resource, file:///project/docs/. The response contains five separate entries in contents, each with its own file URI and text. A developer files a bug saying the server returned too much. How should the team assess the response?
- A host logs two failures from the same MCP server. In one, the model called a tool name the server does not offer. In the other, a valid tool reached an upstream weather API that returned HTTP 503. How should each failure be reported by the server?
- A client sends tools/call naming searchticketsv3, but the server's current tools/list only contains searchticketsv2. The request is otherwise well formed. What response should a compliant 2026-07-28 server return?
- A booking tool expects dates as YYYY-MM-DD, but the model calls it with "31/02/2026". The request matches the CallToolRequest structure. The team wants the model to be able to notice the mistake and correct the call on its own. What should the server return?
- A client built for revision 2026-07-28 also talks to a server that implements 2025-11-25. When it reads a URI that does not exist on that older server, it receives a JSON-RPC error with code -32002. How should the client interpret this error?
- A file server receives resources/read for file:///reports/q3.pdf, which was deleted an hour ago. It currently answers with a successful result whose contents array is empty. A reviewer flags this. Under revision 2026-07-28, what should the server return instead?
- A client sends a request declaring a protocol version the server does not support. The server answers with error -32022 whose data lists the versions it does support, and one of them is a version the client also implements. What should the client do next?
- A server rejects a client's resources/read and the JSON-RPC error carries a data.requiredCapabilities field listing elicitation. On HTTP the status is 400. Which error is this, and what does it tell the client?
- A gateway routes Streamable HTTP requests by the Mcp-Name header. A request arrives with Mcp-Name: getweather, but the JSON-RPC body's params.name is deleterecords. How must the MCP server that processes the body respond?
- A server receives a tools/call request over Streamable HTTP whose meta contains io.modelcontextprotocol/protocolVersion but no io.modelcontextprotocol/clientCapabilities field. How must the server handle the request?
- A Streamable HTTP server written for 2026-07-28 receives a POST whose method is a vendor RPC it does not implement. The client needs to distinguish this from hitting an old HTTP+SSE server that simply lacks the modern endpoint. How should the server respond?
- A vendor's MCP server needs a new error code meaning "quota exhausted for this tenant". No code in the MCP specification covers it. Which allocation follows the 2026-07-28 error code policy?
- A client paginating tools/list sends a nextCursor it cached yesterday. The server no longer recognizes that cursor and returns an error. How should both sides behave according to the pagination and caching rules?
- A client sends tools/call with meta io.modelcontextprotocol/logLevel set to "verbose", hoping to see detailed server logs for that request. The server declares the logging capability. How should the server handle the request?
- A client's report-generation request keeps receiving notifications/progress every few seconds, but after two hours no final response has arrived. The team is redesigning the client's timeout policy. Which policy matches the MCP guidance?
- A user clicks Stop, so a stdio client sends notifications/cancelled for request 42. A moment later, the full successful result for request 42 arrives from the server. What should the client do with that late response?
- A client's tools/call over Streamable HTTP returns an SSE response stream. Halfway through, after a few progress notifications, the network drops the stream before the final response arrives. Under revision 2026-07-28, how should the client recover?
- A client that declared no extensions receives two results from different servers. One carries resultType "deferred", a value the client does not recognize. The other carries no resultType field at all. How should the client treat each result?
- A shopping server returns a basketid handle from createbasket and states a 24-hour lifetime in that tool's description. Two days later, the model calls additem with the old basketid. What should the server return?
- A trainer describes, in order, the typical path from a host learning about a tool to the model reading that tool's output. Which ordering matches the MCP tool invocation flow with a human in the loop?
- A security reviewer is checking a tool definition returned by tools/list against the specification. Which set contains only fields that the Tool definition actually defines?
- A server exposes a tool named "Get User Info!". Some clients display it oddly, and one gateway that mirrors names into the Mcp-Name header has to Base64-encode it. What change follows the specification's tool naming guidance?
- A host connects to a newly published community MCP server it has never vetted. To reduce friction, a product manager proposes skipping the confirmation prompt for any tool from that server marked readOnlyHint true. What should the host do?
- A trusted internal server publishes a tool whose annotations set readOnlyHint to true and destructiveHint to true. A host developer wants to know how to interpret this combination. What does the specification say?
- A host team is designing the user experience for a deletecustomerrecords tool exposed by an MCP server. Which design best follows the specification's trust and safety guidance for tool invocation?
- A security architect worries that a prompt-injected model could slip sensitive data into tool arguments and send it to a third-party MCP server. Which client practice does the tools specification recommend specifically to avoid this kind of exfiltration?
- A tester notices that a server returns a different tools/list depending on which TCP connection asks, even when both connections present the same access token. The developer says it keeps per-connection tool state. How should the tester assess this?
- A retail MCP server must support a shopping cart that the model builds up across several tool calls: create the cart, add items, then check out. The server runs as several stateless instances behind a load balancer. Which design follows the 2026-07-28 guidance?
- An unauthenticated demo MCP server issues handles that let the model resume a document-drafting workspace across tool calls. Anyone holding a handle can use that workspace. How should the server design these handles?
- A deploy tool must not run until the user personally chooses a target environment from staging or production. The client declared the elicitation capability. Under revision 2026-07-28, which sequence should the server and client follow?
- A tool starts a CI pipeline that typically runs for twenty minutes. The client should not hold a connection open that long and must be able to check the outcome even after the client restarts. Both sides support the relevant extension. Which approach fits?
- A client is polling a long-running task created through the Tasks extension. A tasks/get response now shows status inputrequired along with an inputRequests map containing a confirmation elicitation. What should the client do next?
- A host supports both stdio and Streamable HTTP servers. When the user cancels an in-flight tools/call, how should the client signal cancellation on each transport under revision 2026-07-28?
- A global platform team runs a load balancer in front of a Streamable HTTP MCP server and wants to route each executesql tools/call by its region argument without parsing the JSON body. How should the server enable this?
- A Streamable HTTP client fetches tools/list and finds that one tool's inputSchema places x-mcp-header on a parameter of type number. The server's other nine tools are well formed. What should the client do?
- A developer is writing a minimal Streamable HTTP client for revision 2026-07-28. Besides the usual Content-Type and Accept headers, which MCP-specific headers must every tools/call POST carry?
- A tool returns a content item of type resourcelink pointing to file:///exports/report-7.csv. The client checks resources/list and the URI is not there. A developer suspects the server is broken. What is the correct assessment?
- A server team is preparing to expose a payments tool to external MCP clients and drafts its security obligations. Which set matches what the tools specification says servers MUST do?
- A host team is writing the client-side checklist for calling tools on third-party MCP servers. Which set matches what the tools specification says clients SHOULD do?
- A retailer is designing one MCP server. It needs a read-only product catalogue for context, an action that places an order, and a "draft a complaint reply" template that staff choose from a menu when they want it. How should these map to MCP primitives?
- A user selects a server prompt called incidentsummary in a host's menu and fills in its severity argument. The host then sends prompts/get. What does the server return?
- A server's code-review prompt must give the model a 40-page coding policy that the same server already exposes as a resource. The team does not want the full policy text pasted into every prompts/get result. Which approach fits the prompts specification?
- A server downloads PDFs from a partner's authenticated web portal using credentials the server holds, then exposes them as resources. The MCP client has no access to that portal. Which URI choice follows the resources specification?
- A server lists a resource with the URI file:///projects/app/src that represents a directory rather than a regular file. The team wants clients to recognise it as a folder. What does the resources specification allow?
- A server declares the resources capability with subscribe set to true and listChanged absent. A client developer wants to know what the client can rely on. Which interpretation is correct?
- A help-desk server holds 80,000 tickets. Users should be able to point the host at any ticket by its number, but the owners do not want resources/list to enumerate every ticket. Which design fits?
- During a checkout tool call, a server needs the user's shipping address and then a payment card number. The team wants ordinary data entered in the client's own form UI where the rules allow it. Which approach follows the elicitation rules?
- A server sends a form-mode elicitation request. The user closes the dialog by pressing Escape without clicking any button. What should the client report back to the server?
- A client's request meta declares its capabilities with elicitation set to an empty object, {}, and no mode keys inside it. How should a server interpret that declaration?
- An existing server uses sampling with a tools array so the client's model can run a short agent loop. The team is updating the server for revision 2026-07-28. Which statement is accurate?
- A client exposes one root, file:///home/dev/project, to a filesystem server and assumes the server therefore cannot touch any files outside that folder. What should a reviewer tell the team?
- A team is building a brand-new stdio server for revision 2026-07-28 and wants its debug output to reach developers. Which approach does the specification recommend?
- A developer is porting an older MCP client to revision 2026-07-28 and reviews four methods it uses. Which one is still part of the protocol in this revision?
- A server wants clients to show suggested values while users type arguments for its prompts and resource templates. What must the server do to offer this?
- A client renders tool and prompt icons supplied by servers. A security review notes that one server sends image/svg+xml icons. Which statement reflects the icon rules?
- A new team member reads that MCP prompts are "user-controlled" and concludes that users must write the prompt text themselves. What does user-controlled actually mean?
- A database server should let the model run queries on demand, offer the schema as context the application attaches, and provide a worked-examples template users pick from a menu. Which primitive mapping fits?
- A server owner has two needs: general guidance telling any LLM how to use the server's tools well, and a reusable "triage incident" workflow that users start from a menu. Which mapping fits?
- A server still running a deprecated sampling tool loop caps it at five iterations. On the fifth sampling request it sets toolChoice to {mode: "none"}. What does that setting do?