Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
4eef78a
Replace enumNames with standard-compliant oneOf pattern
Jul 30, 2025
8b25f7f
Merge branch 'main' into fix_enum_docs
cliffhall Aug 1, 2025
895acfe
Refactor enum schemas to support 3 distinct types
Aug 5, 2025
d2c65ec
nit: address tiny comment about # maxItems
Aug 6, 2025
1f03492
Refactor enum schemas with typed variants and array support
Aug 7, 2025
9b4594b
Merge branch 'main' into fix_enum_docs
Aug 11, 2025
be7216c
Update enum examples in elicitation docs with validated schemas
Aug 11, 2025
4f9aa39
Merge branch 'main' into fix_enum_docs
cliffhall Sep 1, 2025
4ad5aae
Merge branch 'main' into fix_enum_docs
Oct 15, 2025
d0576b5
replace deprecated with legacy
Oct 15, 2025
d109c07
nits
Oct 15, 2025
b4ebfc4
improve comment
Oct 15, 2025
e691487
reset docs/specification/2025-06-18/schema.mdx
Oct 15, 2025
e1de6b1
fix
Oct 15, 2025
7b18fa4
Merge branch 'main' into fix_enum_docs
cliffhall Oct 18, 2025
ee48505
Merge remote-tracking branch 'origin/main' into fix_enum_docs
Oct 21, 2025
d846b62
Improve docs and add changelog entry
Oct 22, 2025
d3f5bbb
add another doc comment
Oct 22, 2025
95f9b83
add another doc comment
Oct 22, 2025
3fc3aa8
Update multi-select to align with SEP-1330
Oct 22, 2025
3a05e8d
Merge branch 'main' into fix_enum_docs
cliffhall Oct 22, 2025
bdf6b05
Merge branch 'main' into fix_enum_docs
cliffhall Oct 22, 2025
6222381
Merge branch 'main' into fix_enum_docs
chughtapan Oct 28, 2025
2a60477
Merge branch 'main' into fix_enum_docs
chughtapan Oct 29, 2025
48a1ea6
Fix default values on new elicitation schemas
Oct 31, 2025
085a3a3
Merge branch 'main' into fix_enum_docs
chughtapan Oct 31, 2025
cfff88a
Make individual Schemas interfaces rather than type aliases
Nov 4, 2025
b956e52
Merge remote-tracking branch 'origin/fix_enum_docs' into fix_enum_docs
Nov 4, 2025
22f5542
Merge remote-tracking branch 'origin/main' into fix_enum_docs
Nov 4, 2025
c185121
Merge branch 'main' into fix_enum_docs
cliffhall Nov 5, 2025
0bd3d65
Merge branch 'main' into fix_enum_docs
cliffhall Nov 7, 2025
ec22fc4
Merge branch 'main' into fix_enum_docs
cliffhall Nov 8, 2025
0a1cf45
run prettier
Nov 8, 2025
85d60a5
update types based on discussion to match validation
Nov 8, 2025
a4e39b4
Merge branch 'main' into fix_enum_docs
felixweinberger Nov 10, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/specification/draft/changelog.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ the previous revision, [2025-06-18](/specification/2025-06-18).
2. Allow servers to expose icons as additional metadata for tools, resources, resource templates, and prompts ([SEP-973](https://github.com/modelcontextprotocol/modelcontextprotocol/issues/973)).
3. Enhance authorization flows with incremental scope consent via `WWW-Authenticate` ([SEP-835](https://github.com/modelcontextprotocol/modelcontextprotocol/pull/835))
4. Provide guidance on tool names ([SEP-986](https://github.com/modelcontextprotocol/modelcontextprotocol/pull/1603))
5. Update `ElicitResult` and `EnumSchema` to use a more standards-based approach and support titled, untitled, single-select, and multi-select enums ([SEP-1330](https://github.com/modelcontextprotocol/modelcontextprotocol/issues/1330)).

## Minor changes

Expand Down
67 changes: 61 additions & 6 deletions docs/specification/draft/client/elicitation.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -265,14 +265,69 @@ The schema is restricted to these primitive types:
```

4. **Enum Schema**

Single-select enum (without titles):

```json
{
"type": "string",
"title": "Display Name",
"description": "Description text",
"enum": ["option1", "option2", "option3"],
"enumNames": ["Option 1", "Option 2", "Option 3"],
"default": "option1"
"title": "Color Selection",
"description": "Choose your favorite color",
"enum": ["Red", "Green", "Blue"],
"default": "Red"
}
```

Single-select enum (with titles):

```json
{
"type": "string",
"title": "Color Selection",
"description": "Choose your favorite color",
"oneOf": [
{ "const": "#FF0000", "title": "Red" },
{ "const": "#00FF00", "title": "Green" },
{ "const": "#0000FF", "title": "Blue" }
],
"default": "#FF0000"
}
```

Multi-select enum (without titles):

```json
{
"type": "array",
"title": "Color Selection",
"description": "Choose your favorite colors",
"minItems": 1,
"maxItems": 2,
"items": {
"type": "string",
"enum": ["Red", "Green", "Blue"]
},
"default": ["Red", "Green"]
}
```

Multi-select enum (with titles):

```json
{
"type": "array",
"title": "Color Selection",
"description": "Choose your favorite colors",
"minItems": 1,
"maxItems": 2,
"items": {
"oneOf": [
{ "const": "#FF0000", "title": "Red" },
{ "const": "#00FF00", "title": "Green" },
{ "const": "#0000FF", "title": "Blue" }
]
},
"default": ["#FF0000", "#00FF00"]
}
```

Expand All @@ -284,7 +339,7 @@ Clients can use this schema to:

All primitive types support optional default values to provide sensible starting points. Clients that support defaults SHOULD pre-populate form fields with these values.

Note that complex nested structures, arrays of objects, and other advanced JSON Schema features are intentionally not supported to simplify client user experience.
Note that complex nested structures, arrays of objects (beyond enums), and other advanced JSON Schema features are intentionally not supported to simplify client user experience.

## Response Actions

Expand Down
Loading