For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
  • Getting Started
    • Welcome
    • Contributing
  • Concepts
    • Columns
    • Seed Datasets
    • Agent Rollout Ingestion
    • Custom Columns
    • Validators
    • Processors
    • Person Sampling
    • Traces
    • Architecture & Performance
    • Deployment Options
    • Security
  • Tutorials
    • Overview
    • The Basics
    • Structured Outputs, Jinja Expressions, and Conditional Generation
    • Seeding with an External Dataset
    • Providing Images as Context
    • Generating Images
    • Image-to-Image Editing
  • Recipes
    • Recipe Cards
  • Plugins
    • Overview
    • Example Plugin
    • FileSystemSeedReader Plugins
    • Discover
  • Code Reference
    • Overview
      • Overview
      • seed_readers
      • processors
      • mcp
      • column_generators
      • Seed Reader API
      • Processor API
      • MCP Runtime API
        • Errors
        • Facade
        • Factory
        • Io
        • Registry
      • Column Generator API
  • Dev Notes
    • Overview
    • Have It Your Way
    • VLM Long Document Understanding
    • Push Datasets to Hugging Face Hub
    • Text-to-SQL for Nemotron Super
    • Async All the Way Down
    • Owning the Model Stack
NVIDIANVIDIA
Developer-friendly docs for your API
Privacy Policy | Your Privacy Choices | Terms of Service | Accessibility | Corporate Policies | Product Security | Contact

Copyright © 2026, NVIDIA Corporation.

LogoLogoNeMo Data Designer
On this page
  • Module Contents
  • Classes
  • Data
  • API
Code ReferenceEngine Extension APIMCP Runtime API

data_designer.engine.mcp.registry

||View as Markdown|
Previous

Io

Next

Column Generator API

Module Contents

Classes

NameDescription
MCPToolDefinitionDefinition of an MCP tool with its schema.
MCPToolResultResult from executing an MCP tool call.
MCPRegistryRegistry for MCP tool configurations and facades.

Data

logger

API

1logger = getLogger(...)
1class data_designer.engine.mcp.registry.MCPToolDefinition

Definition of an MCP tool with its schema.

1name: str
1description: str | None
1input_schema: dict[str, typing.Any] | None
1to_openai_tool_schema() -> dict[str, typing.Any]

Convert this tool definition to OpenAI function calling format.

Returns:

dict[str, typing.Any]

A dictionary in OpenAI’s tool schema format with ‘type’ set to ‘function’ and nested ‘function’ containing name, description, and parameters.

1class data_designer.engine.mcp.registry.MCPToolResult

Result from executing an MCP tool call.

1content: str
1is_error: bool = False
1class data_designer.engine.mcp.registry.MCPRegistry(
2 *,
3 secret_resolver: data_designer.engine.secret_resolver.SecretResolver,
4 mcp_provider_registry: data_designer.engine.model_provider.MCPProviderRegistry,
5 mcp_facade_factory: collections.abc.Callable[[data_designer.config.mcp.ToolConfig, data_designer.engine.secret_resolver.SecretResolver, data_designer.engine.model_provider.MCPProviderRegistry], data_designer.engine.mcp.facade.MCPFacade],
6 tool_configs: list[data_designer.config.mcp.ToolConfig] | None = None
7)

Registry for MCP tool configurations and facades.

MCPRegistry manages ToolConfig instances by tool_alias and lazily creates MCPFacade instances when requested. This is a config-only registry - all actual MCP operations are delegated to the MCPFacade and io module.

This mirrors the ModelRegistry pattern for consistency across the codebase.

Initialization:

Initialize the MCPRegistry.

Parameters:

secret_resolver
data_designer.engine.secret_resolver.SecretResolver

Resolver for secrets referenced in provider configs.

mcp_provider_registry
data_designer.engine.model_provider.MCPProviderRegistry

Registry of MCP provider configurations.

mcp_facade_factory
collections.abc.Callable[[data_designer.config.mcp.ToolConfig, data_designer.engine.secret_resolver.SecretResolver, data_designer.engine.model_provider.MCPProviderRegistry], data_designer.engine.mcp.facade.MCPFacade]

Factory for creating MCPFacade instances.

tool_configs
list[data_designer.config.mcp.ToolConfig] | NoneDefaults to None

Optional list of tool configurations to register.

1tool_configs: dict[str, data_designer.config.mcp.ToolConfig]

Get all registered tool configurations.

1facades: dict[str, data_designer.engine.mcp.facade.MCPFacade]

Get all instantiated facades.

1mcp_provider_registry: data_designer.engine.model_provider.MCPProviderRegistry

Get the MCP provider registry.

1register_tool_configs(tool_configs: list[data_designer.config.mcp.ToolConfig]) -> None

Register tool configurations at runtime.

Parameters:

tool_configs
list[data_designer.config.mcp.ToolConfig]

List of tool configurations to register. If a configuration with the same alias already exists, it will be overwritten.

1get_mcp(
2 *,
3 tool_alias: str
4) -> data_designer.engine.mcp.facade.MCPFacade

Get or lazily create an MCPFacade for the given tool alias.

Parameters:

tool_alias
str

The alias of the tool configuration.

Returns:

data_designer.engine.mcp.facade.MCPFacade

An MCPFacade configured for the specified tool alias.

Raises:

ValueError

If no tool config with the given alias is found.

1get_tool_config(
2 *,
3 tool_alias: str
4) -> data_designer.config.mcp.ToolConfig

Get a tool configuration by alias.

Parameters:

tool_alias
str

The alias of the tool configuration.

Returns:

data_designer.config.mcp.ToolConfig

The tool configuration.

Raises:

ValueError

If no tool config with the given alias is found.

1_set_tool_configs(tool_configs: list[data_designer.config.mcp.ToolConfig] | None) -> None

Set tool configurations from a list.

1_create_facade(tool_config: data_designer.config.mcp.ToolConfig) -> data_designer.engine.mcp.facade.MCPFacade

Create an MCPFacade for a tool configuration.

1_validate_tool_config_providers(tool_config: data_designer.config.mcp.ToolConfig) -> None
1_validate_tool_alias(tool_alias: str) -> None
1run_health_check(tool_aliases: list[str]) -> None
1validate_no_duplicate_tool_names() -> None

Validate that no ToolConfig has duplicate tool names across its providers.

This method eagerly fetches tool schemas for all registered ToolConfigs, which triggers duplicate tool name detection. This catches cases where multiple providers in the same ToolConfig expose a tool with the same name.

Raises:

DuplicateToolNameError

If any ToolConfig has duplicate tool names across providers.