feat: add ClientRequestContext type alias for client-side handlers (#1989)

This commit is contained in:
Marcelo Trylesinski 2026-02-03 17:37:38 +01:00 • committed by GitHub
commit 4fc49c62bd
2 changed files with 55 additions and 37 deletions

View file

@ -6,8 +6,8 @@ import asyncio
import os
from mcp import ClientSession, StdioServerParameters, types
from mcp.client.context import ClientRequestContext
from mcp.client.stdio import stdio_client
from mcp.shared.context import RequestContext
# Create server parameters for stdio connection
server_params = StdioServerParameters(
@ -19,7 +19,7 @@ server_params = StdioServerParameters(
# Optional: create a sampling callback
async def handle_sampling_message(
context: RequestContext[ClientSession], params: types.CreateMessageRequestParams
context: ClientRequestContext, params: types.CreateMessageRequestParams
) -> types.CreateMessageResult:
print(f"Sampling request: {params.messages}")
return types.CreateMessageResult(

View file

@ -31,14 +31,14 @@ from typing import Any
from urllib.parse import urlparse
from mcp import ClientSession, types
from mcp.client.context import ClientRequestContext
from mcp.client.sse import sse_client
from mcp.shared.context import RequestContext
from mcp.shared.exceptions import MCPError, UrlElicitationRequiredError
from mcp.types import URL_ELICITATION_REQUIRED
async def handle_elicitation(
context: RequestContext[ClientSession],
context: ClientRequestContext,
params: types.ElicitRequestParams,
) -> types.ElicitResult | types.ErrorData:
"""Handle elicitation requests from the server.