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..42036eed7 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,10 @@ 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.""" + class Implementation(BaseMetadata): """Describes the name and version of an MCP implementation."""