diff --git a/src/mcp/types/__init__.py b/src/mcp/types/__init__.py index 666defaa2..b44230393 100644 --- a/src/mcp/types/__init__.py +++ b/src/mcp/types/__init__.py @@ -70,6 +70,7 @@ GetTaskRequestParams, GetTaskResult, Icon, + IconTheme, ImageContent, Implementation, IncludeContext, @@ -275,6 +276,7 @@ "BlobResourceContents", "EmbeddedResource", "Icon", + "IconTheme", "ImageContent", "ResourceContents", "ResourceLink", diff --git a/src/mcp/types/_types.py b/src/mcp/types/_types.py index 26dfde7a6..320422636 100644 --- a/src/mcp/types/_types.py +++ b/src/mcp/types/_types.py @@ -28,6 +28,8 @@ 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."""