--- title: handlers sidebarTitle: handlers --- # `fastmcp.server.tasks.handlers` SEP-1686 task execution handlers. Handles queuing tool/prompt/resource executions to Docket as background tasks. ## Functions ### `handle_tool_as_task` ```python handle_tool_as_task(server: FastMCP, tool_name: str, arguments: dict[str, Any], task_meta: dict[str, Any]) -> mcp.types.CallToolResult ``` Handle tool execution as background task (SEP-1686). Queues the user's actual function to Docket (preserving signature for DI), stores raw return values, converts to MCP types on retrieval. **Args:** - `server`: FastMCP server instance - `tool_name`: Name of the tool to execute - `arguments`: Tool arguments - `task_meta`: Task metadata from request (contains ttl) **Returns:** - Task stub with task metadata in _meta ### `handle_prompt_as_task` ```python handle_prompt_as_task(server: FastMCP, prompt_name: str, arguments: dict[str, Any] | None, task_meta: dict[str, Any]) -> mcp.types.GetPromptResult ``` Handle prompt execution as background task (SEP-1686). Queues the user's actual function to Docket (preserving signature for DI). **Args:** - `server`: FastMCP server instance - `prompt_name`: Name of the prompt to execute - `arguments`: Prompt arguments - `task_meta`: Task metadata from request (contains ttl) **Returns:** - Task stub with task metadata in _meta ### `handle_resource_as_task` ```python handle_resource_as_task(server: FastMCP, uri: str, resource, task_meta: dict[str, Any]) -> mcp.types.ServerResult ``` Handle resource read as background task (SEP-1686). Queues the user's actual function to Docket. **Args:** - `server`: FastMCP server instance - `uri`: Resource URI - `resource`: Resource or ResourceTemplate object - `task_meta`: Task metadata from request (contains ttl) **Returns:** - ServerResult with ReadResourceResult stub