diff --git a/src/mcp/client/session.py b/src/mcp/client/session.py index 1853ce7c1..6115e915c 100644 --- a/src/mcp/client/session.py +++ b/src/mcp/client/session.py @@ -287,17 +287,20 @@ async def call_tool( arguments: dict[str, Any] | None = None, read_timeout_seconds: timedelta | None = None, progress_callback: ProgressFnT | None = None, + *, + meta: dict[str, Any] | None = None, ) -> types.CallToolResult: """Send a tools/call request with optional progress callback support.""" + _meta: types.ReadResourceRequestParams.Meta | None = None + if meta is not None: + _meta = types.RequestParams.Meta(**meta) + result = await self.send_request( types.ClientRequest( types.CallToolRequest( method="tools/call", - params=types.CallToolRequestParams( - name=name, - arguments=arguments, - ), + params=types.CallToolRequestParams(name=name, arguments=arguments, _meta=_meta), ) ), types.CallToolResult,