﻿---
title: "Declare Resources and templates with their fields"
description: "A Resource has a uri and a name; a Resource Template has a uriTemplate and a name. Both accept only the properties of their Section 10 tables, each with its defined type."
source: "https://mcpdesc.org/docs/rules/0.9.0-rc.3/mcpdesc/resource-members/"
---

A Resource has a uri and a name; a Resource Template has a uriTemplate and a name. Both accept only the properties of their Section 10 tables, each with its defined type.

## Requirement

Resource and Resource Template Objects have their required fields, defined property types, and no unknown properties.

## Details

**Rule ID:** `mcpdesc.resource.members`  
**Owner:** mcpdesc  
**Surface:** Resource, ResourceTemplate  
**Kind:** structural  
**Requirement level:** must  
**Protocol versions:** independent of the MCP protocol version  
**Document schema locations:** `#/$defs/resource`, `#/$defs/resourceTemplate`  
**Status:** internal · **Enforcement:** internal

## Required by

* **MCP Description 0.9.0, Sections 10.1.1 and 10.2.1**  
  * 10\. Resources and Resource Templates: [req-resource-fields](https://mcpdesc.org/docs/specification/0.9.0-rc.3/resources#req-resource-fields)
  * 1. Resources and Resource Templates: [req-resource-template-fields](https://mcpdesc.org/docs/specification/0.9.0-rc.3/resources#req-resource-template-fields)
  * 1. Tags: [req-entity-tags-shape](https://mcpdesc.org/docs/specification/0.9.0-rc.3/tags#req-entity-tags-shape)
  * 1. Tags: [req-entity-tags-unique](https://mcpdesc.org/docs/specification/0.9.0-rc.3/tags#req-entity-tags-unique)

## Examples

### Invalid example

Source: [expected-invalid/malformed-info-transport-tag-resource.json](https://github.com/mcpdesc/mcpdesc-specification/blob/v0.9.0-rc.3/spec/draft/fixtures/expected-invalid/malformed-info-transport-tag-resource.json) · Selected: `/resources/0`

```json
{
  "name": "readme",
  "mimeType": "text/markdown"
}
```

## Rule Source Code

[resource.yaml](https://github.com/mcpdesc/mcpdesc-specification/blob/v0.9.0-rc.3/spec/draft/validation/rules/resource.yaml) at immutable tag [v0.9.0-rc.3](https://github.com/mcpdesc/mcpdesc-specification/blob/v0.9.0-rc.3/spec/draft).
