Readonlyexecute execute : ( input : any , crossLayerProps ?: any , ) => Promise < { _meta ?: { "io.modelcontextprotocol/related-task" ?: { taskId : string } ; progressToken ?: string | number ; [ key : string ]: unknown ; } ; content : ( | { _meta ?: { [ key : string ]: unknown } ; annotations ?: { audience ?: ((...) | (...))[] ; lastModified ?: string ; priority ?: number ; } ; text : string ; type : "text" ; } | { _meta ?: { [ key : string ]: unknown } ; annotations ?: { audience ?: ((...) | (...))[] ; lastModified ?: string ; priority ?: number ; } ; data : string ; mimeType : string ; type : "image" ; } | { _meta ?: { [ key : string ]: unknown } ; annotations ?: { audience ?: ((...) | (...))[] ; lastModified ?: string ; priority ?: number ; } ; data : string ; mimeType : string ; type : "audio" ; } | { _meta ?: { [ key : string ]: unknown } ; annotations ?: { audience ?: ((...) | (...))[] ; lastModified ?: string ; priority ?: number ; } ; description ?: string ; icons ?: { mimeType ?: string ; sizes ?: (...)[] ; src : string ; theme ?: "light" | "dark" ; } [] ; mimeType ?: string ; name : string ; title ?: string ; type : "resource_link" ; uri : string ; } | { _meta ?: { [ key : string ]: unknown } ; annotations ?: { audience ?: ((...) | (...))[] ; lastModified ?: string ; priority ?: number ; } ; resource : | { _meta ?: { [ key : string ]: unknown } ; mimeType ?: string ; text : string ; uri : string ; } | { _meta ?: { [ key : string ]: unknown } ; blob : string ; mimeType ?: string ; uri : string ; } ; type : "resource" ; } )[] ; isError ?: boolean ; structuredContent ?: { [ key : string ]: unknown } ; [ key : string ]: unknown ; } , >
Type Declaration ( input : any , crossLayerProps ?: any , ) : Promise < { _meta ?: { "io.modelcontextprotocol/related-task" ?: { taskId : string } ; progressToken ?: string | number ; [ key : string ]: unknown ; } ; content : ( | { _meta ?: { [ key : string ]: unknown } ; annotations ?: { audience ?: ((...) | (...))[] ; lastModified ?: string ; priority ?: number ; } ; text : string ; type : "text" ; } | { _meta ?: { [ key : string ]: unknown } ; annotations ?: { audience ?: ((...) | (...))[] ; lastModified ?: string ; priority ?: number ; } ; data : string ; mimeType : string ; type : "image" ; } | { _meta ?: { [ key : string ]: unknown } ; annotations ?: { audience ?: ((...) | (...))[] ; lastModified ?: string ; priority ?: number ; } ; data : string ; mimeType : string ; type : "audio" ; } | { _meta ?: { [ key : string ]: unknown } ; annotations ?: { audience ?: ((...) | (...))[] ; lastModified ?: string ; priority ?: number ; } ; description ?: string ; icons ?: { mimeType ?: string ; sizes ?: (...)[] ; src : string ; theme ?: "light" | "dark" ; } [] ; mimeType ?: string ; name : string ; title ?: string ; type : "resource_link" ; uri : string ; } | { _meta ?: { [ key : string ]: unknown } ; annotations ?: { audience ?: ((...) | (...))[] ; lastModified ?: string ; priority ?: number ; } ; resource : | { _meta ?: { [ key : string ]: unknown } ; mimeType ?: string ; text : string ; uri : string ; } | { _meta ?: { [ key : string ]: unknown } ; blob : string ; mimeType ?: string ; uri : string ; } ; type : "resource" ; } )[] ; isError ?: boolean ; structuredContent ?: { [ key : string ]: unknown } ; [ key : string ]: unknown ; } , > Parameters input : any OptionalcrossLayerProps : any Returns Promise < { _meta ?: { "io.modelcontextprotocol/related-task" ?: { taskId : string } ; progressToken ?: string | number ; [ key : string ]: unknown ; } ; content : ( | { _meta ?: { [ key : string ]: unknown } ; annotations ?: { audience ?: ((...) | (...))[] ; lastModified ?: string ; priority ?: number ; } ; text : string ; type : "text" ; } | { _meta ?: { [ key : string ]: unknown } ; annotations ?: { audience ?: ((...) | (...))[] ; lastModified ?: string ; priority ?: number ; } ; data : string ; mimeType : string ; type : "image" ; } | { _meta ?: { [ key : string ]: unknown } ; annotations ?: { audience ?: ((...) | (...))[] ; lastModified ?: string ; priority ?: number ; } ; data : string ; mimeType : string ; type : "audio" ; } | { _meta ?: { [ key : string ]: unknown } ; annotations ?: { audience ?: ((...) | (...))[] ; lastModified ?: string ; priority ?: number ; } ; description ?: string ; icons ?: { mimeType ?: string ; sizes ?: (...)[] ; src : string ; theme ?: "light" | "dark" ; } [] ; mimeType ?: string ; name : string ; title ?: string ; type : "resource_link" ; uri : string ; } | { _meta ?: { [ key : string ]: unknown } ; annotations ?: { audience ?: ((...) | (...))[] ; lastModified ?: string ; priority ?: number ; } ; resource : | { _meta ?: { [ key : string ]: unknown } ; mimeType ?: string ; text : string ; uri : string ; } | { _meta ?: { [ key : string ]: unknown } ; blob : string ; mimeType ?: string ; uri : string ; } ; type : "resource" ; } )[] ; isError ?: boolean ; structuredContent ?: { [ key : string ]: unknown } ; [ key : string ]: unknown ; } , >
A fully-defined MCP tool: schema metadata plus an execute handler.
The
executefunction is called by the server for every matching tool invocation. The second argument (crossLayerProps) carries the merged RequestCrossLayerProps for the request, includingrequestInfo,authInfo, and logger correlation IDs.Example
See