﻿---
title: "Give each elicitation declaration a unique name"
description: "Elicitation declaration names identify interactions within their primitive. Duplicate names make a Tool interaction's declaration reference ambiguous. Rename one declaration and up"
source: "https://mcpdesc.org/docs/rules/0.9.0-rc.3/mcpdesc/elicitation-name-unique/"
---

Elicitation declaration names identify interactions within their primitive. Duplicate names make a Tool interaction’s declaration reference ambiguous. Rename one declaration and update the references that are intended to select it.

## Requirement

Elicitation Declaration names are unique within their primitive.

## Details

**Rule ID:** `mcpdesc.elicitation.name-unique`  
**Owner:** mcpdesc  
**Surface:** Elicitation Declaration · **Path:** `name`  
**Kind:** mcpdesc-semantic  
**Requirement level:** must  
**Protocol versions:** independent of the MCP protocol version  
**Status:** internal · **Enforcement:** internal

## Required by

* **MCP Description 0.9.0, Section 12.2**  
  * 12\. Elicitation Declarations: [req-elicitation-name-unique](https://mcpdesc.org/docs/specification/0.9.0-rc.3/elicitation#req-elicitation-name-unique)

## Examples

### Invalid example

Source: [expected-invalid/elicitation-form-semantics.json](https://github.com/mcpdesc/mcpdesc-specification/blob/v0.9.0-rc.3/spec/draft/fixtures/expected-invalid/elicitation-form-semantics.json) · Selected: `/prompts/0/elicitations/1`

```json
{
  "name": "release_channel",
  "mode": "form",
  "message": "Choose it again.",
  "requestedSchema": {
    "type": "object",
    "properties": {}
  }
}
```

## Rule Source Code

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