> 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.

# Function nemo_relay_tool_call_execute

> Execute a tool call end-to-end: run conditional-execution guardrails (on raw args), then request intercepts, sanitize-request guardrails, execution intercepts, the callback, and sanitize-response guardrails. On rejection, only a standalone Mark event is emitted (no Start/End pair) and `GuardrailRejected` is returned. Blocks the calling thread until completion.

Generated from `cargo doc --no-deps -p nemo-relay -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`.

<pre />

Execute a tool call end-to-end: run conditional-execution guardrails (on raw args), then request intercepts, sanitize-request guardrails, execution intercepts, the callback, and sanitize-response guardrails. On rejection, only a standalone Mark event is emitted (no Start/End pair) and `GuardrailRejected` is returned. Blocks the calling thread until completion.

## Parameters

* `name`: Null-terminated tool name.
* `args_json`: Tool arguments as a JSON C string.
* `func`: C callback that performs the actual tool execution.
* `func_user_data`: Opaque pointer passed to `func`.
* `func_free`: Optional destructor for `func_user_data`.
* `parent`: Optional parent scope handle, or null.
* `attributes`: Bitfield of tool attributes.
* `data_json`: Optional JSON data, or null.
* `metadata_json`: Optional JSON metadata, or null.
* `out`: On success, receives the result as a JSON C string. Caller must free with `nemo_relay_string_free`.

## Safety

`name`, `args_json`, and `out` must be valid, non-null pointers.