[{'Text': '```\n🪄 .zshrc loaded successfully! (modular edition)\n23:   @server.list_tools()\n24:   async def handle_list_tools(request: types.ListToolsRequest) -> types.ListToolsResult:\n27:   @server.call_tool()\n28:   async def handle_call_tool(\n96:from mcp.shared.tool_name_validation import validate_and_warn_tool_name\n156:        self.request_handlers: dict[type, Callable[..., Awaitable[types.ServerResult]]] = {\n159:        self.notification_handlers: dict[type, Callable[..., Awaitable[None]]] = {}\n160:        self._tool_cache: dict[str, types.Tool] = {}\n161:        self._experimental_handlers: ExperimentalHandlers | None = None\n206:        if types.ListPromptsRequest in self.request_handlers:\n210:        if types.ListResourcesRequest in self.request_handlers:\n216:        if types.ListToolsRequest in self.request_handlers:\n220:        if types.SetLevelRequest in self.request_handlers:  # pragma: no cover\n224:        if types.CompleteRequest in self.request_handlers:\n235:        if self._experimental_handlers:\n236:            self._experimental_handlers.update_capabilities(capabilities)\n254:        if self._experimental_handlers is None:\n255:            self._experimental_handlers = ExperimentalHandlers(self, self.request_handlers, self.notification_handlers)\n256:        return self._experimental_handlers\n276:            self.request_handlers[types.ListPromptsRequest] = handler\n291:            self.request_handlers[types.GetPromptRequest] = handler\n314:            self.request_handlers[types.ListResourcesRequest] = handler\n327:            self.request_handlers[types.ListResourceTemplatesRequest] = handler\n390:            self.request_handlers[types.ReadResourceRequest] = handler\n403:            self.request_handlers[types.SetLevelRequest] = handler\n416:            self.request_handlers[types.SubscribeRequest] = handler\n429:            self.request_handlers[types.UnsubscribeRequest] = handler\n434:    def list_tools(self):\n450:                        validate_and_warn_tool_name(tool.name)\n451:                        self._tool_cache[tool.name] = tool\n456:                    self._tool_cache.clear()\n458:                        validate_and_warn_tool_name(tool.name)\n459:                        self._tool_cache[tool.name] = tool\n462:            self.request_handlers[types.ListToolsRequest] = handler\n476:    async def _get_cached_tool_definition(self, tool_name: str) -> types.Tool | None:\n481:        if tool_name not in self._tool_cache:\n482:            if types.ListToolsRequest in self.request_handlers:\n484:                await self.request_handlers[types.ListToolsRequest](None)\n486:        tool = self._tool_cache.get(tool_name)\n492:    def call_tool(self, *, validate_input: bool = True):\n```'}]