|
28 | 28 | from mcp.server.context import LifespanContextT, RequestT, ServerRequestContext |
29 | 29 | from mcp.server.elicitation import ElicitationResult, ElicitSchemaModelT, UrlElicitationResult, elicit_with_validation |
30 | 30 | from mcp.server.elicitation import elicit_url as _elicit_url |
| 31 | +from mcp.server.experimental.task_support import TaskSupport |
31 | 32 | from mcp.server.lowlevel.helper_types import ReadResourceContents |
32 | 33 | from mcp.server.lowlevel.server import LifespanResultT, Server |
33 | 34 | from mcp.server.lowlevel.server import lifespan as default_lifespan |
|
42 | 43 | from mcp.server.streamable_http import EventStore |
43 | 44 | from mcp.server.streamable_http_manager import StreamableHTTPSessionManager |
44 | 45 | from mcp.server.transport_security import TransportSecuritySettings |
| 46 | +from mcp.shared.experimental.tasks.message_queue import TaskMessageQueue |
| 47 | +from mcp.shared.experimental.tasks.store import TaskStore |
45 | 48 | from mcp.types import Annotations, ContentBlock, GetPromptResult, Icon, ToolAnnotations |
46 | 49 | from mcp.types import Prompt as MCPPrompt |
47 | 50 | from mcp.types import PromptArgument as MCPPromptArgument |
@@ -488,6 +491,17 @@ async def handle_completion(ref, argument, context): |
488 | 491 | """ |
489 | 492 | return self._lowlevel_server.completion() |
490 | 493 |
|
| 494 | + def enable_tasks( |
| 495 | + self, |
| 496 | + store: TaskStore | None = None, |
| 497 | + queue: TaskMessageQueue | None = None, |
| 498 | + ) -> TaskSupport: |
| 499 | + """Enable experimental task support. |
| 500 | +
|
| 501 | + WARNING: This API is experimental and may change without notice. |
| 502 | + """ |
| 503 | + return self._lowlevel_server.experimental.enable_tasks(store=store, queue=queue) |
| 504 | + |
491 | 505 | def add_resource(self, resource: Resource) -> None: |
492 | 506 | """Add a resource to the server. |
493 | 507 |
|
|
0 commit comments