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