Skip to content

MCP Resources in Depth

How MCP resources expose documents and data by URI, including templates, subscriptions and good design.

Editorial team 1 min read

Resources let MCP servers expose data for the host application to read and use as context.

URIs

Each resource has a URI, such as file:///project/README.md or a custom scheme like crm://customers/123, plus a name, description and MIME type.

Listing and Reading

Clients can list available resources and read their contents, returned as text or binary data.

Resource Templates

Templates describe parameterised URIs, like crm://customers/{id}, so clients can construct URIs for specific items without the server listing millions of them.

Subscriptions

Servers can notify clients when a resource changes, keeping context fresh — useful for logs, dashboards or documents being edited.

When to Use Resources

  • Content the user chooses to attach: a document, a schema, a record.
  • Read-only context that doesn't need model-initiated actions.

Use tools instead when the model should decide to fetch something dynamically, or when an action has side effects.

Design Tips

  • Give resources human-readable names; hosts often show them in pickers.
  • Keep individual resources a sensible size.
  • Apply the user's access permissions when listing and reading.

More in MCP

All MCP guides →
MCP Guide · 1 min

MCP Architecture: Hosts, Clients and Servers

How the Model Context Protocol is structured: the host application, the clients it creates and the servers that expose capabilities.

MCP 1 min read 2 Sep 2025

MCP Guide · 2 min

MCP Tools, Resources and Prompts

The three main things an MCP server can offer, who controls each, and when to use which.

MCP 2 min read 1 Sep 2025

MCP Guide · 1 min

MCP Transports: stdio and HTTP

How MCP messages travel: standard input and output for local servers, HTTP for remote ones, and how to choose.

MCP 1 min read 31 Aug 2025

MCP Guide · 1 min

Building Your First MCP Server

A walkthrough of the steps to create a simple MCP server that exposes a tool, and how to test it.

MCP 1 min read 30 Aug 2025