@@ -246,6 +246,7 @@ def add_tool(
246
246
fn : AnyFunction ,
247
247
name : str | None = None ,
248
248
description : str | None = None ,
249
+ skip_names : Sequence [str ] = (),
249
250
) -> None :
250
251
"""Add a tool to the server.
251
252
@@ -256,11 +257,21 @@ def add_tool(
256
257
fn: The function to register as a tool
257
258
name: Optional name for the tool (defaults to function name)
258
259
description: Optional description of what the tool does
260
+ skip_names: A list of parameter names to skip. These will not be included in
261
+ the model.
259
262
"""
260
- self ._tool_manager .add_tool (fn , name = name , description = description )
263
+ self ._tool_manager .add_tool (
264
+ fn ,
265
+ name = name ,
266
+ description = description ,
267
+ skip_names = skip_names ,
268
+ )
261
269
262
270
def tool (
263
- self , name : str | None = None , description : str | None = None
271
+ self ,
272
+ name : str | None = None ,
273
+ description : str | None = None ,
274
+ skip_names : Sequence [str ] = (),
264
275
) -> Callable [[AnyFunction ], AnyFunction ]:
265
276
"""Decorator to register a tool.
266
277
@@ -271,6 +282,8 @@ def tool(
271
282
Args:
272
283
name: Optional name for the tool (defaults to function name)
273
284
description: Optional description of what the tool does
285
+ skip_names: A list of parameter names to skip. These will not be included in
286
+ the model.
274
287
275
288
Example:
276
289
@server.tool()
@@ -295,7 +308,7 @@ async def async_tool(x: int, context: Context) -> str:
295
308
)
296
309
297
310
def decorator (fn : AnyFunction ) -> AnyFunction :
298
- self .add_tool (fn , name = name , description = description )
311
+ self .add_tool (fn , name = name , description = description , skip_names = skip_names )
299
312
return fn
300
313
301
314
return decorator
0 commit comments