@@ -284,8 +284,10 @@ const coerceArray = <T extends z.ZodTypeAny>(zodType: T) =>
284284 ) ;
285285
286286const QueryOptions = z . object ( {
287- tools : coerceArray ( z . enum ( [ 'dynamic' , 'all' , 'docs' ] ) ) . describe ( 'Use dynamic tools or all tools' ) ,
288- no_tools : coerceArray ( z . enum ( [ 'dynamic' , 'all' , 'docs' ] ) ) . describe ( 'Do not use dynamic tools or all tools' ) ,
287+ tools : coerceArray ( z . enum ( [ 'dynamic' , 'all' , 'code' , 'docs' ] ) ) . describe ( 'Specify which MCP tools to use' ) ,
288+ no_tools : coerceArray ( z . enum ( [ 'dynamic' , 'all' , 'code' , 'docs' ] ) ) . describe (
289+ 'Specify which MCP tools to not use.' ,
290+ ) ,
289291 tool : coerceArray ( z . string ( ) ) . describe ( 'Include tools matching the specified names' ) ,
290292 resource : coerceArray ( z . string ( ) ) . describe ( 'Include tools matching the specified resources' ) ,
291293 operation : coerceArray ( z . enum ( [ 'read' , 'write' ] ) ) . describe (
@@ -385,11 +387,16 @@ export function parseQueryOptions(defaultOptions: McpOptions, query: unknown): M
385387 : queryOptions . tools ?. includes ( 'docs' ) ? true
386388 : defaultOptions . includeDocsTools ;
387389
390+ let codeTools : boolean | undefined =
391+ queryOptions . no_tools && queryOptions . no_tools ?. includes ( 'code' ) ? false
392+ : queryOptions . tools ?. includes ( 'code' ) && defaultOptions . includeCodeTools ? true
393+ : defaultOptions . includeCodeTools ;
394+
388395 return {
389396 client : queryOptions . client ?? defaultOptions . client ,
390397 includeDynamicTools : dynamicTools ,
391398 includeAllTools : allTools ,
392- includeCodeTools : undefined ,
399+ includeCodeTools : codeTools ,
393400 includeDocsTools : docsTools ,
394401 filters,
395402 capabilities : clientCapabilities ,
0 commit comments