feat: add theme field to Icon type for light/dark mode support (#1978)

This commit is contained in:
Guillaume FORTAINE 2026-02-03 09:20:37 +01:00 • committed by GitHub
commit 71e78842cc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 13 additions and 0 deletions

View file

@ -70,6 +70,7 @@ from mcp.types._types import (
GetTaskRequestParams,
GetTaskResult,
Icon,
IconTheme,
ImageContent,
Implementation,
IncludeContext,
@ -275,6 +276,7 @@ __all__ = [
"BlobResourceContents",
"EmbeddedResource",
"Icon",
"IconTheme",
"ImageContent",
"ResourceContents",
"ResourceLink",

View file

@ -28,6 +28,8 @@ https://modelcontextprotocol.io/specification/2025-11-25/basic/transports#protoc
ProgressToken = str | int
Role = Literal["user", "assistant"]
IconTheme = Literal["light", "dark"]
TaskExecutionMode = Literal["forbidden", "optional", "required"]
TASK_FORBIDDEN: Final[Literal["forbidden"]] = "forbidden"
TASK_OPTIONAL: Final[Literal["optional"]] = "optional"
@ -170,6 +172,15 @@ class Icon(MCPModel):
sizes: list[str] | None = None
"""Optional list of strings specifying icon dimensions (e.g., ["48x48", "96x96"])."""
theme: IconTheme | None = None
"""Optional theme specifier.
`"light"` indicates the icon is designed for a light background, `"dark"` indicates the icon
is designed for a dark background.
See https://modelcontextprotocol.io/specification/2025-11-25/schema#icon for more details.
"""
class Implementation(BaseMetadata):
"""Describes the name and version of an MCP implementation."""