- Client 通过
tools/list发现工具(每个工具都包含inputSchema和可选的outputSchema)。 - Client 通过
tools/call调用某个 tool,并使用与 schema 匹配的arguments。 - 服务器执行你注册的可调用对象。
- 服务器根据 MCP 规范返回包含
content(以及可选的structuredContent)的CallToolResult。
基础的 tool
异步工具
async def 并显式 offload。
类型推断
list、dict、Literal、Enum、可选/联合类型、Pydantic 模型、数据类、嵌套模型。
必需参数没有默认值。可选参数有默认值。
装饰器选项
结构化返回值
CallToolResult:
上下文访问
get_context() 进行日志和进度管理:
允许列表
CallToolResult,表明该 tool 不可用。