Primitives, Capabilities & Utilities in MCP
Resources (Server Side)
Resources are the information layer of MCP. They are read-only data sources that a server makes available to the client. Unlike tools, they do not execute logic and they do not change anything. Their purpose is to provide structured context that the AI or the application can use.
A resource might represent the contents of a file, a product catalog, a database schema, a configuration document, a knowledge base article, or a stream of recent activity. Each resource has a stable identity, typically expressed as a URI (e.g. mcp://repo/files/README.md, data://docs, config://app/database..), so it can be listed, fetched, and referenced consistently.
Imagine a development assistant connected to a project repository. A user asks, Explain how authentication works in this project.
Several parts are involved in this interaction, and each one has a clear role:
First, the user expresses an intent. The request is natural language. It is not structured. It does not specify which files to read.
Second, the host application receives that request. The host is responsible for orchestration. It decides how to gather relevant context. Depending on the design, it might use simple heuristics, such as retrieving files from an “auth” directory or asking the model to suggest relevant files.
Third, the MCP server exposes the project’s files as resources. It does not decide which ones matter. It simply makes them available through standardized resource endpoints. The host can list available resources and read specific ones using their identifiers.
Practical MCP with FastMCP & LangChain
Engineering the Agentic ExperienceEnroll now to unlock current content and receive all future updates for free. Your purchase supports the author and fuels the creation of more exciting content. Act fast, as the price will rise as the course nears completion!
