Spaces:
Running
Running
davenpi commited on
Commit ·
1b886a3
1
Parent(s): b89bc47
Feat(client): add cancel notification method
Browse files- src/fastmcp/client/client.py +17 -0
src/fastmcp/client/client.py
CHANGED
|
@@ -210,6 +210,23 @@ class Client:
|
|
| 210 |
result = await self.session.send_ping()
|
| 211 |
return isinstance(result, mcp.types.EmptyResult)
|
| 212 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 213 |
async def progress(
|
| 214 |
self,
|
| 215 |
progress_token: str | int,
|
|
|
|
| 210 |
result = await self.session.send_ping()
|
| 211 |
return isinstance(result, mcp.types.EmptyResult)
|
| 212 |
|
| 213 |
+
async def cancel(
|
| 214 |
+
self,
|
| 215 |
+
request_id: str | int,
|
| 216 |
+
reason: str | None = None,
|
| 217 |
+
) -> None:
|
| 218 |
+
"""Send a cancellation notification for an in-progress request."""
|
| 219 |
+
notification = mcp.types.ClientNotification(
|
| 220 |
+
mcp.types.CancelledNotification(
|
| 221 |
+
method="notifications/cancelled",
|
| 222 |
+
params=mcp.types.CancelledNotificationParams(
|
| 223 |
+
requestId=request_id,
|
| 224 |
+
reason=reason,
|
| 225 |
+
),
|
| 226 |
+
)
|
| 227 |
+
)
|
| 228 |
+
await self.session.send_notification(notification)
|
| 229 |
+
|
| 230 |
async def progress(
|
| 231 |
self,
|
| 232 |
progress_token: str | int,
|