> ## Documentation Index
> Fetch the complete documentation index at: https://gofastmcp.com/llms.txt
> Use this file to discover all available pages before exploring further.

# routing

# `fastmcp.server.tasks.routing`

Task routing helper for MCP components.

Provides unified task mode enforcement and docket routing logic.

## Functions

### `check_background_task` <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/server/tasks/routing.py#L26" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={"theme":{"light":"snazzy-light","dark":"dark-plus"}}
check_background_task(component: Tool | Resource | ResourceTemplate | Prompt, task_type: TaskType, arguments: dict[str, Any] | None = None, task_meta: TaskMeta | None = None) -> mcp.types.CreateTaskResult | None
```

Check task mode and submit to background if requested.

**Args:**

* `component`: The MCP component
* `task_type`: Type of task ("tool", "resource", "template", "prompt")
* `arguments`: Arguments for tool/prompt/template execution
* `task_meta`: Task execution metadata. If provided, execute as background task.

**Returns:**

* CreateTaskResult if submitted to docket, None for sync execution

**Raises:**

* `McpError`: If mode="required" but no task metadata, or mode="forbidden"
  but task metadata is present
