[ PROMPT_NODE_24744 ]
图标 (Icons)
[ SKILL_DOCUMENTATION ]
# 图标 (Icons)
> 为你的服务器、工具、资源和提示词添加视觉图标
图标为你的 MCP 服务器和组件提供了视觉呈现,帮助客户端应用程序提供更好的用户界面。当在 MCP 客户端中显示时,图标可以帮助用户快速识别并导航服务器的功能。
## 图标格式
图标使用 MCP 协议规范中的标准 MCP Icon 类型。每个图标指定一个源 URL 或数据 URI,并可选择包含 MIME 类型和尺寸信息。
python
from mcp.types import Icon
icon = Icon(
src="https://example.com/icon.png",
mimeType="image/png",
sizes=["48x48"]
)
这些字段有不同的用途:
* **src**: 指向图标图像的 URL 或数据 URI
* **mimeType** (可选): 图像的 MIME 类型 (例如 "image/png", "image/svg+xml")
* **sizes** (可选): 尺寸描述符数组 (例如 ["48x48"], ["any"])
## 服务器图标
为你的服务器添加图标和网站 URL,以便在客户端应用程序中显示。不同尺寸的多个图标有助于客户端为显示环境选择最佳分辨率。
python
from fastmcp import FastMCP
from mcp.types import Icon
mcp = FastMCP(
name="WeatherService",
website_url="https://weather.example.com",
icons=[
Icon(
src="https://weather.example.com/icon-48.png",
mimeType="image/png",
sizes=["48x48"]
),
Icon(
src="https://weather.example.com/icon-96.png",
mimeType="image/png",
sizes=["96x96"]
),
]
)
服务器图标会出现在 MCP 客户端界面中,帮助用户在已安装的服务器列表中识别你的服务器。
## 组件图标
图标可以添加到单个工具、资源、资源模板和提示词中。这有助于用户在视觉上区分不同的组件类型和用途。
### 工具图标
python
from mcp.types import Icon
@mcp.tool(
icons=[Icon(src="https://example.com/calculator-icon.png")]
)
def calculate_sum(a: int, b: int) -> int:
"""Add two numbers together."""
return a + b
### 资源图标
python
@mcp.resource(
"config://settings",
icons=[Icon(src="https://example.com/config-icon.png")]
)
def get_settings() -> dict:
"""Retrieve application settings."""
return {"theme": "dark", "language": "en"}
### 资源模板图标
python
@mcp.resource(
"user://{user_id}/profile",
icons=[Icon(src="https://example.