What is the primary purpose of implementing "Resources" within an MCP server?	To expose specific amounts of data to the client.
What are the two distinct features required to enable document mentions (e.g., `@report.pdf`)?	1) Automatically showing a list of available documents (autocomplete), and 2) Automatically fetching the contents of a mentioned document.
What is the difference between a Direct Resource and a Templated Resource?	A Direct Resource has a static URI, while a Templated Resource includes one or more parameters (wildcards) in its URI.
How does the Python MCP SDK handle parameters defined in a templated resource URI?	It automatically parses the parameter (e.g., `doc_id`) and provides it as a keyword argument to the resource function.
What type of resource is used to provide a list of all available document names for an autocomplete feature?	A Direct (or static) resource, such as `docs://documents`.
What type of resource is necessary to fetch the contents of a single document based on its unique ID?	A Templated resource, which uses a wildcard in the URI (e.g., `docs://documents/{doc_id}`).
When a client requests data from an MCP server, what is the mechanism used to initiate the request?	A Read Resource Request, which includes the URI of the desired resource.
Why is it important to define a MIME type when implementing an MCP resource?	It provides a hint to the client about the structure and format of the data being returned (e.g., `application/json` or `text/plain`).
If an MCP resource function returns a list of strings, how does the MCP Python SDK handle the output?	The SDK automatically takes the returned data and converts it into a string for transmission.
Before a function fetches and returns the content of a specific document, what critical check must it perform?	It must verify that the requested document ID actually exists within the available documents.
