[ PROMPT_NODE_24778 ]
server-class
[ SKILL_DOCUMENTATION ]
# FastMCP 服务器
> 用于构建 MCP 应用程序的核心 FastMCP 服务器类
`FastMCP` 类是每个 FastMCP 应用程序的核心部分。它充当工具、资源和提示词的容器,管理与 MCP 客户端的通信并编排整个服务器生命周期。
## 创建服务器
通过提供一个在客户端应用程序和日志中标识服务器的名称来实例化服务器。你还可以提供帮助客户端理解服务器用途的指令。
python
from fastmcp import FastMCP
mcp = FastMCP(name="MyAssistantServer")
# 指令帮助客户端理解如何与服务器交互
mcp_with_instructions = FastMCP(
name="HelpfulAssistant",
instructions="""
此服务器提供数据分析工具。
调用 get_average() 来分析数值数据。
""",
)
`FastMCP` 构造函数接受多个配置选项。最常用的参数用于控制服务器身份、身份验证和组件行为。
* **name**: 服务器的人类可读名称。
* **instructions**: 关于如何与此服务器交互的描述。这些指令帮助客户端理解服务器的用途和可用功能。
* **version**: 服务器的版本字符串。如果未提供,默认为 FastMCP 库版本。
* **url**: 包含有关服务器更多信息的网站 URL。显示在客户端应用程序中。
* **icons**: 服务器的图标表示列表。图标帮助用户在客户端应用程序中直观地识别服务器。
* **auth**: 用于保护基于 HTTP 的传输的身份验证提供程序。
* **lifespan**: 服务器级别的设置和拆卸逻辑。
* **tools**: 要添加到服务器的工具列表(或转换为工具的函数)。
* **tags**: 仅公开至少匹配一个标签的组件。
* **exclude_tags**: 隐藏任何匹配标签的组件。
* **on_duplicate_tool**: 如何处理重复的工具注册。
* **on_duplicate_resource**: 如何处理重复的资源注册。
* **on_duplicate_prompt**: 如何处理重复的提示词注册。
* **validate_inputs**: 控制工具输入参数的验证方式。当为 `False`(默认)时,FastMCP 使用 Pydantic 的灵活验证;当为 `True` 时,使用 MCP SDK。