Agent Customization#

The VSS Agent is built on NVIDIA NeMo Agent Toolkit (NAT), which allows you to extend the agent with custom functions, tools, and MCP servers.

Custom Functions#

Custom functions are registered in the functions: section of your config file. Each function references a registered Python function by its _type name.

functions:
  my_custom_tool:
    _type: my_custom_tool
    param1: value1
    param2: value2

workflow:
  _type: top_agent
  tool_names:
    - my_custom_tool

For detailed documentation on writing and registering custom functions, see: NAT Writing Custom Functions

Adding Custom MCP Servers#

You can connect to your own MCP (Model Context Protocol) servers to extend the agent’s capabilities. MCP clients are configured in the function_groups: section.

Supported Transports:

Transport

Use Case

streamable-http

HTTP-based MCP servers (recommended)

sse

Server-Sent Events transport

stdio

Local process communication

Configuration Example:

function_groups:
  my_custom_mcp:
    _type: mcp_client
    server:
      transport: streamable-http
      url: http://localhost:9000/mcp
    include:
      - my_tool_1
      - my_tool_2

workflow:
  _type: top_agent
  tool_names:
    - my_custom_mcp.my_tool_1
    - my_custom_mcp.my_tool_2

CLI Tool Inspection:

You can discover available tools from an MCP server before configuring:

# List all tools from an MCP server
nat mcp client tool list --url http://localhost:9000/mcp

# Get details about a specific tool
nat mcp client tool list --url http://localhost:9000/mcp --tool my_tool_1

For complete MCP client documentation including authentication, timeout configuration, reconnection settings, and troubleshooting, see: NAT MCP Client Documentation

Building Your Own MCP Server#

To create your own MCP server that can be consumed by the VSS Agent:

Customizing Report Generation#

To learn more about customizing agent report generation, see: Report Generation