fastmcp/docs/python-sdk/fastmcp-server-tasks-subscriptions.mdx
marvin-context-protocol[bot] 1700bc360b
chore: Update SDK documentation (#2834)
Co-authored-by: marvin-context-protocol[bot] <225465937+marvin-context-protocol[bot]@users.noreply.github.com>
2026-01-16 21:28:11 -05:00

38 lines
1.3 KiB
Text

---
title: subscriptions
sidebarTitle: subscriptions
---
# `fastmcp.server.tasks.subscriptions`
Task subscription helpers for sending MCP notifications (SEP-1686).
Subscribes to Docket execution state changes and sends notifications/tasks/status
to clients when their tasks change state.
This module requires fastmcp[tasks] (pydocket). It is only imported when docket is available.
## Functions
### `subscribe_to_task_updates` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/server/tasks/subscriptions.py#L30" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
```python
subscribe_to_task_updates(task_id: str, task_key: str, session: ServerSession, docket: Docket, poll_interval_ms: int = 5000) -> None
```
Subscribe to Docket execution events and send MCP notifications.
Per SEP-1686 lines 436-444, servers MAY send notifications/tasks/status
when task state changes. This is an optional optimization that reduces
client polling frequency.
**Args:**
- `task_id`: Client-visible task ID (server-generated UUID)
- `task_key`: Internal Docket execution key (includes session, type, component)
- `session`: MCP ServerSession for sending notifications
- `docket`: Docket instance for subscribing to execution events
- `poll_interval_ms`: Poll interval in milliseconds to include in notifications