- Methods: All Methods Documented Methods Hide Methods
- Source: Display Source Hide Source
- Variables: Show Variables Hide Variables
Class ::nsmcp::Tool
::nsmcp::Toolcreate ... \
[ -description:required description:required ] \
[ -inputSchema (default "{} object {type string object properties object {} additionalProperties boolean false}") ] \
[ -name:required name:required ] \
[ -outputSchema (default "") ] \
[ -permission:required permission:required ]
Defined in /usr/local/ns/tcl/nsmcp/lib/tools.tcl
Class Relations
- class: ::nx::Class
- superclass: ::nx::Object
- subclass: ::nsmcp::LogTool
, ::nsmcp::ServerDescribe
, ::nsmcp::StatsTool
, ::nsmcp::AccessSummaryTool
::nx::Class create ::nsmcp::Tool \ -superclass ::nx::ObjectMethods (to be applied on instances)
describe (scripted, public)
<instance of nsmcp::Tool> describe
- Testcases:
- No testcase defined.
set members [list name string ${:name} description string ${:description} inputSchema object [lindex ${:inputSchema} 2] annotations object {readOnlyHint boolean true destructiveHint boolean false openWorldHint boolean false}] if {${:outputSchema} ne ""} { lappend members outputSchema object [lindex ${:outputSchema} 2] } return [list {} object $members]execute (scripted, public)
<instance of nsmcp::Tool> execute context arguments
- Parameters:
- context (required)
- arguments (required)
- Testcases:
- No testcase defined.
error "abstract Tool.execute"name (scripted, public)
<instance of nsmcp::Tool> name
- Testcases:
- No testcase defined.
return ${:name}permission (scripted, public)
<instance of nsmcp::Tool> permission
- Testcases:
- No testcase defined.
return ${:permission}validate (scripted, public)
<instance of nsmcp::Tool> validate arguments
The first tool accepts exactly {}. Subclasses must override this together with inputSchema; no partial JSON Schema validator is claimed.
- Parameters:
- arguments (required)
- Testcases:
- No testcase defined.
if {[lindex $arguments 1] ne "object" || [lindex $arguments 2] ne ""} { return -code error -errorcode {NSMCP RPC -32602} "Expected an empty arguments object" }
- Methods: All Methods Documented Methods Hide Methods
- Source: Display Source Hide Source
- Variables: Show Variables Hide Variables
![[i]](/resources/acs-subsite/ZoomIn16.gif)