Skip to content

Commit 4eb5e45

Browse files
committed
Remove unnecessary request_params from RequestResponder
Access task metadata directly from req.params instead of storing it separately on RequestResponder. This simplifies the code and removes an unnecessary indirection that was added during task refactoring.
1 parent dadcccb commit 4eb5e45

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

src/mcp/server/lowlevel/server.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -723,14 +723,18 @@ async def _handle_request(
723723
# app.get_request_context()
724724
client_capabilities = session.client_params.capabilities if session.client_params else None
725725
task_support = self._experimental_handlers.task_support if self._experimental_handlers else None
726+
# Get task metadata from request params if present
727+
task_metadata = None
728+
if hasattr(req, "params") and req.params is not None:
729+
task_metadata = getattr(req.params, "task", None)
726730
token = request_ctx.set(
727731
RequestContext(
728732
message.request_id,
729733
message.request_meta,
730734
session,
731735
lifespan_context,
732736
Experimental(
733-
task_metadata=message.request_params.task if message.request_params else None,
737+
task_metadata=task_metadata,
734738
_client_capabilities=client_capabilities,
735739
_session=session,
736740
_task_support=task_support,

src/mcp/shared/session.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,11 +82,9 @@ def __init__(
8282
]""",
8383
on_complete: Callable[["RequestResponder[ReceiveRequestT, SendResultT]"], Any],
8484
message_metadata: MessageMetadata = None,
85-
request_params: RequestParams | None = None,
8685
) -> None:
8786
self.request_id = request_id
8887
self.request_meta = request_meta
89-
self.request_params = request_params
9088
self.request = request
9189
self.message_metadata = message_metadata
9290
self._session = session
@@ -371,7 +369,6 @@ async def _receive_loop(self) -> None:
371369
session=self,
372370
on_complete=lambda r: self._in_flight.pop(r.request_id, None),
373371
message_metadata=message.metadata,
374-
request_params=validated_request.root.params,
375372
)
376373
self._in_flight[responder.request_id] = responder
377374
await self._received_request(responder)

0 commit comments

Comments
 (0)