python-sdk/docs/experimental/index.md

46 lines
1.6 KiB
Markdown

# Experimental Features
!!! warning "Deprecated"
The experimental tasks API is deprecated and will be removed in mcp 2.0.
Tasks (SEP-1686) were removed from the MCP specification and are expected
to return as a separate MCP extension in a future release.
This section documents experimental features in the MCP Python SDK. These features
are deprecated and remain available on the 1.x line only for existing users.
## Available Experimental Features
### [Tasks](tasks.md)
Tasks enable asynchronous execution of MCP operations. Instead of waiting for a
long-running operation to complete, the server returns a task reference immediately.
Clients can then poll for status updates and retrieve results when ready.
Tasks are useful for:
- **Long-running computations** that would otherwise block
- **Batch operations** that process many items
- **Interactive workflows** that require user input (elicitation) or LLM assistance (sampling)
## Using Experimental APIs
Experimental features are accessed via the `.experimental` property:
```python
# Server-side
@server.experimental.get_task()
async def handle_get_task(request: GetTaskRequest) -> GetTaskResult:
...
# Client-side
result = await session.experimental.call_tool_as_task("tool_name", {"arg": "value"})
```
Accessing the `.experimental` properties emits a `DeprecationWarning`.
## Providing Feedback
If you rely on these features and have feedback on their deprecation or the planned
MCP extension, please open an issue on the
[python-sdk repository](https://github.com/modelcontextprotocol/python-sdk/issues).