> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay/tool/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/relay/_mcp/server. # Module tool > Managed and manual tool calls. Generated from `cargo doc --no-deps -p nemo-relay-builtins -p nemo-relay-diagnostics -p nemo-relay-logging -p nemo-relay-plugin-host -p nemo-relay-codecs -p nemo-relay -p nemo-relay-runtime -p nemo-relay-model-pricing -p nemo-relay-resource-metrics -p nemo-relay-observability -p nemo-relay-adaptive -p nemo-relay-pii-redaction -p nemo-relay-ffi -p nemo-relay-types -p nemo-relay-plugin -p nemo-relay-worker-proto -p nemo-relay-worker`. Managed and manual tool calls. ## Structs * [ToolAttributes](/reference/api/rust-library-reference/nemo-relay/tool/struct-toolattributes): Bitflags that modify tool-call behavior and observability. * [ToolCallEndParams](/reference/api/rust-library-reference/nemo-relay/tool/struct-toolcallendparams): Builder parameters for [`tool_call_end`](/reference/api/rust-library-reference/nemo-relay/tool/fn-tool-call-end). * [ToolCallExecuteParams](/reference/api/rust-library-reference/nemo-relay/tool/struct-toolcallexecuteparams): Builder parameters for [`tool_call_execute`](/reference/api/rust-library-reference/nemo-relay/tool/fn-tool-call-execute). * [ToolCallParams](/reference/api/rust-library-reference/nemo-relay/tool/struct-toolcallparams): Builder parameters for [`tool_call`](/reference/api/rust-library-reference/nemo-relay/tool/fn-tool-call). * [ToolExecutionContext](/reference/api/rust-library-reference/nemo-relay/tool/struct-toolexecutioncontext): Transport-independent input supplied to a plugin tool execution interceptor. * [ToolExecutionInterceptOutcome](/reference/api/rust-library-reference/nemo-relay/tool/struct-toolexecutioninterceptoutcome): Canonical result returned by a tool execution intercept. * [ToolExecutionResult](/reference/api/rust-library-reference/nemo-relay/tool/struct-toolexecutionresult): Canonical application-visible result of tool execution. * [ToolHandle](/reference/api/rust-library-reference/nemo-relay/tool/struct-toolhandle): Runtime-owned handle identifying an active or completed tool call. ## Constants * [TOOL_EXECUTION_INTERCEPT_OUTCOME_SCHEMA](/reference/api/rust-library-reference/nemo-relay/tool/constant-tool-execution-intercept-outcome-schema): Versioned native-plugin JSON envelope schema for [`ToolExecutionInterceptOutcome`](/reference/api/rust-library-reference/nemo-relay/tool/struct-toolexecutioninterceptoutcome). * [TOOL_EXECUTION_RESULT_SCHEMA](/reference/api/rust-library-reference/nemo-relay/tool/constant-tool-execution-result-schema): Versioned native-plugin JSON envelope schema for [`ToolExecutionResult`](/reference/api/rust-library-reference/nemo-relay/tool/struct-toolexecutionresult). ## Functions * [tool_call](/reference/api/rust-library-reference/nemo-relay/tool/fn-tool-call): Start a manual tool lifecycle span. * [tool_call_end](/reference/api/rust-library-reference/nemo-relay/tool/fn-tool-call-end): Finish a manual tool lifecycle span. * [tool_call_execute](/reference/api/rust-library-reference/nemo-relay/tool/fn-tool-call-execute): Execute a tool call through the managed middleware pipeline. * [tool_conditional_execution](/reference/api/rust-library-reference/nemo-relay/tool/fn-tool-conditional-execution): Run only the tool conditional-execution guardrail chain. * [tool_request_intercepts](/reference/api/rust-library-reference/nemo-relay/tool/fn-tool-request-intercepts): Run only the tool request-intercept chain. > Managed and manual tool calls. ## Docs - [Struct Tool Attributes](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay/tool/struct-toolattributes.md): Bitflags that modify tool-call behavior and observability. - [Struct Tool Call EndParams](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay/tool/struct-toolcallendparams.md): Builder parameters for `tool_call_end`. - [Struct Tool Call Execute Params](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay/tool/struct-toolcallexecuteparams.md): Builder parameters for `tool_call_execute`. - [Struct Tool Call Params](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay/tool/struct-toolcallparams.md): Builder parameters for `tool_call`. - [Struct Tool Execution Context](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay/tool/struct-toolexecutioncontext.md): Transport-independent input supplied to a plugin tool execution interceptor. - [Struct Tool Execution Intercept Outcome](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay/tool/struct-toolexecutioninterceptoutcome.md): Canonical result returned by a tool execution intercept. - [Struct Tool Execution Result](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay/tool/struct-toolexecutionresult.md): Canonical application-visible result of tool execution. - [Struct Tool Handle](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay/tool/struct-toolhandle.md): Runtime-owned handle identifying an active or completed tool call. - [Constant TOOL_EXECUTION_INTERCEPT_OUTCOME_SCHEMA](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay/tool/constant-tool-execution-intercept-outcome-schema.md): Versioned native-plugin JSON envelope schema for `ToolExecutionInterceptOutcome`. - [Constant TOOL_EXECUTION_RESULT_SCHEMA](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay/tool/constant-tool-execution-result-schema.md): Versioned native-plugin JSON envelope schema for `ToolExecutionResult`. - [Function tool_call](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay/tool/fn-tool-call.md): Start a manual tool lifecycle span. - [Function tool_call_end](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay/tool/fn-tool-call-end.md): Finish a manual tool lifecycle span. - [Function tool_call_execute](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay/tool/fn-tool-call-execute.md): Execute a tool call through the managed middleware pipeline. - [Function tool_conditional_execution](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay/tool/fn-tool-conditional-execution.md): Run only the tool conditional-execution guardrail chain. - [Function tool_request_intercepts](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay/tool/fn-tool-request-intercepts.md): Run only the tool request-intercept chain.