mirror of
https://github.com/PrefectHQ/fastmcp.git
synced 2026-08-09 15:19:10 +02:00
Co-authored-by: marvin-context-protocol[bot] <225465937+marvin-context-protocol[bot]@users.noreply.github.com>
38 lines
1.3 KiB
Text
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
|
|
|