File tree Expand file tree Collapse file tree 2 files changed +16
-1
lines changed
Expand file tree Collapse file tree 2 files changed +16
-1
lines changed Original file line number Diff line number Diff line change @@ -271,17 +271,22 @@ async def call_tool(
271271 self ,
272272 name : str ,
273273 arguments : dict [str , Any ] | None = None ,
274+ meta : dict [str , Any ] | None = None ,
274275 read_timeout_seconds : timedelta | None = None ,
275276 progress_callback : ProgressFnT | None = None ,
276277 ) -> types .CallToolResult :
277278 """Send a tools/call request with optional progress callback support."""
279+ request_meta = None
280+ if meta :
281+ request_meta = types .RequestParams .Meta (** meta )
278282
279283 result = await self .send_request (
280284 types .ClientRequest (
281285 types .CallToolRequest (
282286 params = types .CallToolRequestParams (
283287 name = name ,
284288 arguments = arguments ,
289+ ** ({'_meta' : request_meta } if request_meta else {}),
285290 ),
286291 )
287292 ),
Original file line number Diff line number Diff line change @@ -1036,9 +1036,10 @@ def my_tool(x: int, ctx: Context) -> str:
10361036 # Access resources
10371037 data = ctx.read_resource("resource://data")
10381038
1039- # Get request info
1039+ # Get request info and metadata
10401040 request_id = ctx.request_id
10411041 client_id = ctx.client_id
1042+ user_meta = ctx.request_meta
10421043
10431044 return str(x)
10441045 ```
@@ -1172,6 +1173,15 @@ def request_id(self) -> str:
11721173 """Get the unique ID for this request."""
11731174 return str (self .request_context .request_id )
11741175
1176+ @property
1177+ def request_meta (self ) -> dict [str , Any ]:
1178+ """Get the request metadata (hidden data passed from client)."""
1179+ if not self .request_context .meta :
1180+ return {}
1181+
1182+ meta_dict = self .request_context .meta .model_dump (exclude = {'progressToken' })
1183+ return meta_dict
1184+
11751185 @property
11761186 def session (self ):
11771187 """Access to the underlying session for advanced usage."""
You can’t perform that action at this time.
0 commit comments