> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nemo/guardrails/llms.txt.
> For full documentation content, see https://docs.nvidia.com/nemo/guardrails/llms-full.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/guardrails/_mcp/server.

# nemoguardrails.server.app

Chat UI for Guardrails Server.

## Module Contents

### Functions

| Name                                                                  | Description                                                    |
| --------------------------------------------------------------------- | -------------------------------------------------------------- |
| [`_discover_configs`](#nemoguardrails-server-app-_discover_configs)   | Return the list of available guardrails configuration IDs.     |
| [`on_chat_start`](#nemoguardrails-server-app-on_chat_start)           | Initialize a new chat session with a config selector dropdown. |
| [`on_message`](#nemoguardrails-server-app-on_message)                 | Process an incoming user message through guardrails.           |
| [`on_settings_update`](#nemoguardrails-server-app-on_settings_update) | Handle configuration changes from the settings panel.          |
| [`set_starters`](#nemoguardrails-server-app-set_starters)             | Show challenges as starter prompts when available.             |

### Data

[`log`](#nemoguardrails-server-app-log)

### API

```python
nemoguardrails.server.app._discover_configs() -> typing.List[str]
```

Return the list of available guardrails configuration IDs.

```python
nemoguardrails.server.app.on_chat_start()
```

async

Initialize a new chat session with a config selector dropdown.

```python
nemoguardrails.server.app.on_message(
    message: chainlit.Message
)
```

async

Process an incoming user message through guardrails.

```python
nemoguardrails.server.app.on_settings_update(
    settings
)
```

async

Handle configuration changes from the settings panel.

```python
nemoguardrails.server.app.set_starters(
    user: typing.Optional[chainlit.User] = None
) -> typing.List[chainlit.Starter]
```

async

Show challenges as starter prompts when available.

```python
nemoguardrails.server.app.log = logging.getLogger(__name__)
```