nat.plugins.a365.tooling#
A365 tooling/MCP integration plugin for NeMo Agent Toolkit.
Submodules#
Classes#
Service for discovering and configuring MCP tool servers from Agent 365. |
|
Configuration for discovering and registering MCP servers from Agent 365. |
Functions#
|
Register MCP servers discovered from A365 tooling as NAT function groups. |
Package Contents#
- async a365_mcp_tooling_function_group(
- config: nat.plugins.a365.tooling.tooling_config.A365MCPToolingConfig,
- builder: nat.builder.builder.Builder,
Register MCP servers discovered from A365 tooling as NAT function groups.
This function:
Uses A365 tooling service to discover configured MCP servers
Creates MCP client function groups for each discovered server
Returns a composite function group containing all discovered tools
- Args:
config: A365MCPToolingConfig with agent ID and auth token builder: NAT Builder instance
- Returns:
FunctionGroup containing tools from all discovered MCP servers
- Raises:
OptionalImportError: If nvidia-nat-mcp package is not installed A365AuthenticationError: If authentication fails when resolving auth token or discovering servers A365SDKError: If MCP server discovery fails
- class A365ToolingService(logger: logging.Logger | None = None)#
Service for discovering and configuring MCP tool servers from Agent 365.
This service wraps the A365 SDK’s McpToolServerConfigurationService to provide a NAT-friendly interface for discovering MCP servers configured for an agent.
Initialize the A365 tooling service.
- Args:
logger: Optional logger instance. Defaults to module logger if not provided.
- _logger#
- _service#
- async list_tool_servers( ) list[microsoft_agents_a365.tooling.MCPServerConfig]#
Get the list of MCP servers configured for the agent.
In development mode (ENVIRONMENT=Development), reads from ToolingManifest.json. In production mode, retrieves configuration from the A365 tooling gateway.
- Args:
agentic_app_id: The Agent 365 agentic app ID. auth_token: Authentication token for accessing the tooling gateway.
- Returns:
List of MCPServerConfig objects representing configured MCP servers.
- Raises:
ValueError: If required parameters are invalid or empty. Exception: If there’s an error communicating with the tooling gateway or reading the manifest file.
Example:
servers = await service.list_tool_servers( agentic_app_id="my-agent-123", auth_token="bearer-token-here" )
- class A365MCPToolingConfig#
Bases:
nat.data_models.function.FunctionGroupBaseConfigConfiguration for discovering and registering MCP servers from Agent 365.
This configuration uses the A365 tooling service to discover MCP servers configured for the agent and registers them as NAT function groups.
Prerequisites: - The
nvidia-nat-mcppackage must be installed. - Install with:uv pip install nvidia-nat-mcporuv pip install 'nvidia-nat[mcp]'- If installing from source:uv pip install 'nvidia-nat-a365[mcp]'Example:
function_groups: - type: a365_mcp_tooling agentic_app_id: "your-agent-id" auth_token: "your-auth-token"
- auth_token: pydantic.SecretStr | nat.data_models.component_ref.AuthenticationRef = None#
- tool_call_timeout: datetime.timedelta = None#
- auth_flow_timeout: datetime.timedelta = None#
- session_idle_timeout: datetime.timedelta = None#
- server_auth_providers: dict[str, str | nat.data_models.component_ref.AuthenticationRef] | None = None#
- on_server_registration_error: ServerRegistrationErrorPolicy = None#
- _validate_reconnect_backoff() A365MCPToolingConfig#
Validate reconnect backoff values.