Resources (MCP Resources)
Resources are the "nouns" of the MCP ecosystem. They represent raw data or content that an AI agent can read to gain more context about a query.
Resources vs. Tools
While Tools are actions that perform work, Resources represent data that can be static, dynamic, or parameterized:
Types of Resources:
- → Static Resources: Fixed data like documentation files (e.g.,
README.md) - → Dynamic Resources: Real-time data with subscription support for live updates (e.g., live system metrics)
- → Parameterized Resources: Template-based resources that accept parameters (e.g.,
file:///{path},github://{owner}/{repo}/issues/{issue_number})
Examples of Resources:
- → Documentation: A
README.mdfile from a repository. - → Audit Logs: A CSV file containing recent system events.
- → User Profile: A JSON object describing a user's preferences.
- → Live Metrics: Real-time system performance data with subscription updates.
Resources are accessed via a unique URI (Uniform Resource Identifier) provided by the MCP server, and can support real-time updates through the resources/subscribe mechanism.
Questions & Answers
What are "MCP Resources," and how do they function?
Resources are the "nouns" of the MCP ecosystem. They represent raw data or static content—such as files, logs, or database records—that an AI agent can read to gain context. They are typically accessed via a unique URI.
What is the key difference between an "MCP Resource" and an "MCP Tool"?
While tools represent actions that perform work (e.g., sending an email), resources represent data objects that provide context without modifying the system state. Resources can be static, dynamic with real-time updates, or parameterized via templates.
Name three typical examples of resources found in an MCP server.
Common examples include project documentation (like README files), system audit logs (in CSV or plain text), and JSON-formatted user profile data describing preferences or settings.