---
title: requests
sidebarTitle: requests
---
# `fastmcp.server.tasks.requests`
SEP-1686 task request handlers.
Handles MCP task protocol requests: tasks/get, tasks/result, tasks/list, tasks/cancel.
These handlers query and manage existing tasks (contrast with handlers.py which creates tasks).
This module requires fastmcp[tasks] (pydocket). It is only imported when docket is available.
## Functions
### `tasks_get_handler`
```python
tasks_get_handler(server: FastMCP, params: dict[str, Any]) -> GetTaskResult
```
Handle MCP 'tasks/get' request (SEP-1686).
**Args:**
- `server`: FastMCP server instance
- `params`: Request params containing taskId
**Returns:**
- Task status response with spec-compliant fields
### `tasks_result_handler`
```python
tasks_result_handler(server: FastMCP, params: dict[str, Any]) -> Any
```
Handle MCP 'tasks/result' request (SEP-1686).
Converts raw task return values to MCP types based on task type.
**Args:**
- `server`: FastMCP server instance
- `params`: Request params containing taskId
**Returns:**
- MCP result (CallToolResult, GetPromptResult, or ReadResourceResult)
### `tasks_list_handler`
```python
tasks_list_handler(server: FastMCP, params: dict[str, Any]) -> ListTasksResult
```
Handle MCP 'tasks/list' request (SEP-1686).
Note: With client-side tracking, this returns minimal info.
**Args:**
- `server`: FastMCP server instance
- `params`: Request params (cursor, limit)
**Returns:**
- Response with tasks list and pagination
### `tasks_cancel_handler`
```python
tasks_cancel_handler(server: FastMCP, params: dict[str, Any]) -> CancelTaskResult
```
Handle MCP 'tasks/cancel' request (SEP-1686).
Cancels a running task, transitioning it to cancelled state.
**Args:**
- `server`: FastMCP server instance
- `params`: Request params containing taskId
**Returns:**
- Task status response showing cancelled state