﻿---
title: "Declare Prompts and arguments with their fields"
description: "A Prompt has a name, and each argument has a name. Both accept only the properties of their Section 11 tables, each with its defined type."
source: "https://mcpdesc.org/docs/rules/0.9.0-rc.3/mcpdesc/prompt-members/"
---

A Prompt has a name, and each argument has a name. Both accept only the properties of their Section 11 tables, each with its defined type.

## Requirement

Prompt and Prompt Argument Objects have their required fields, defined property types, and no unknown properties.

## Details

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

## Required by

* **MCP Description 0.9.0, Sections 11.1 and 11.2**  
  * 11\. Prompts: [req-prompt-fields](https://mcpdesc.org/docs/specification/0.9.0-rc.3/prompts#req-prompt-fields)
  * 1. Prompts: [req-prompt-argument-fields](https://mcpdesc.org/docs/specification/0.9.0-rc.3/prompts#req-prompt-argument-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/empty-ordinary-nested-collections.json](https://github.com/mcpdesc/mcpdesc-specification/blob/v0.9.0-rc.3/spec/draft/fixtures/expected-invalid/empty-ordinary-nested-collections.json) · Selected: `/prompts/0/arguments`

```json
[]
```

## Rule Source Code

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