> This page is for NeMo Relay, version dev.
> For other versions, use one of these documentation indexes:
> - Latest (v0.11.1) (default): https://docs.nvidia.com/nemo/relay/latest/llms.txt
> - dev: https://docs.nvidia.com/nemo/relay/dev/llms.txt
> - v0.11.1: https://docs.nvidia.com/nemo/relay/v0.11.1/llms.txt
> - v0.10.4: https://docs.nvidia.com/nemo/relay/v0.10.4/llms.txt
> - v0.9.4: https://docs.nvidia.com/nemo/relay/v0.9.4/llms.txt
> - v0.8.4: https://docs.nvidia.com/nemo/relay/v0.8.4/llms.txt
> - v0.7.3: https://docs.nvidia.com/nemo/relay/v0.7.3/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nemo/relay/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](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay/tool/struct-toolattributes): Bitflags that modify tool-call behavior and observability.
* [ToolCallEndParams](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay/tool/struct-toolcallendparams): Builder parameters for [`tool_call_end`](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay/tool/fn-tool-call-end).
* [ToolCallExecuteParams](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay/tool/struct-toolcallexecuteparams): Builder parameters for [`tool_call_execute`](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay/tool/fn-tool-call-execute).
* [ToolCallParams](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay/tool/struct-toolcallparams): Builder parameters for [`tool_call`](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay/tool/fn-tool-call).
* [ToolExecutionContext](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay/tool/struct-toolexecutioncontext): Transport-independent input supplied to a plugin tool execution interceptor.
* [ToolExecutionInterceptOutcome](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay/tool/struct-toolexecutioninterceptoutcome): Canonical result returned by a tool execution intercept.
* [ToolExecutionResult](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay/tool/struct-toolexecutionresult): Canonical application-visible result of tool execution.
* [ToolHandle](/nemo/relay/dev/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](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay/tool/constant-tool-execution-intercept-outcome-schema): Versioned native-plugin JSON envelope schema for [`ToolExecutionInterceptOutcome`](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay/tool/struct-toolexecutioninterceptoutcome).
* [TOOL_EXECUTION_RESULT_SCHEMA](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay/tool/constant-tool-execution-result-schema): Versioned native-plugin JSON envelope schema for [`ToolExecutionResult`](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay/tool/struct-toolexecutionresult).

## Functions

* [tool_call](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay/tool/fn-tool-call): Start a manual tool lifecycle span.
* [tool_call_end](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay/tool/fn-tool-call-end): Finish a manual tool lifecycle span.
* [tool_call_execute](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay/tool/fn-tool-call-execute): Execute a tool call through the managed middleware pipeline.
* [tool_conditional_execution](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay/tool/fn-tool-conditional-execution): Run only the tool conditional-execution guardrail chain.
* [tool_request_intercepts](/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay/tool/fn-tool-request-intercepts): Run only the tool request-intercept chain.