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
      • models
      • mcp
      • column_configs
      • config_builder
      • data_designer_config
      • run_config
      • sampler_params
      • validator_params
      • seeds
      • processors
      • analysis
      • Config API
        • Analysis
        • Base
        • Column Configs
        • Column Types
        • Config Builder
        • Custom Column
        • Data Designer Config
        • Dataset Metadata
        • Default Model Settings
        • Errors
        • Exportable Config
        • Fingerprint
        • Interface
        • Mcp
        • Models
        • Preview Results
        • Processor Types
        • Processors
        • Run Config
        • Sampler Constraints
        • Sampler Params
        • Seed
        • Seed Source
        • Seed Source Dataframe
        • Seed Source Types
        • Testing
        • Utils
        • Validator Params
        • Version
  • Dev Notes
    • Overview
    • Push Datasets to Hugging Face Hub
    • Text-to-SQL for Nemotron Super
    • Async All the Way Down
    • Owning the Model Stack
    • Data Designer Got Skills
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 ReferenceConfigConfig API

data_designer.config.mcp

||View as Markdown|
Previous

Interface

Next

Models

Module Contents

Classes

NameDescription
MCPProviderConfiguration for a remote MCP server connection.
LocalStdioMCPProviderConfiguration for launching a local MCP server via stdio transport.
ToolConfigConfiguration for permitting MCP tools on an LLM column.

Data

MCPProviderT

API

1class data_designer.config.mcp.MCPProvider(
2 /,
3 **data: typing.Any
4)

Bases: data_designer.config.base.ConfigBase

Configuration for a remote MCP server connection.

MCPProvider is used to connect to pre-existing MCP servers via SSE (Server-Sent Events) or Streamable HTTP transport. For local subprocess-based MCP servers, use LocalStdioMCPProvider instead.

Parameters:

name

Unique name used to reference this MCP provider.

endpoint

Endpoint URL for connecting to the remote MCP server.

api_key

Optional API key for authentication. Defaults to None.

provider_type

Transport type discriminator. Defaults to "sse".

Attributes:

name
`str`

Unique name used to reference this MCP provider.

endpoint
`str`

Endpoint URL for connecting to the remote MCP server.

api_key
`str | None`

Optional API key for authentication. Defaults to None.

provider_type
`Literal['sse', 'streamable_http']`

Transport type discriminator. Defaults to "sse".

Examples:

1Remote SSE transport (default):
2
3>>> MCPProvider(
4... name="remote-mcp",
5... endpoint="http://localhost:8080/sse",
6... api_key="your-api-key",
7... )
8
9Remote Streamable HTTP transport:
10
11>>> MCPProvider(
12... name="remote-mcp",
13... endpoint="https://api.example.com/mcp",
14... api_key="your-api-key",
15... provider_type="streamable_http",
16... )

Initialization:

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

1provider_type: typing.Literal[sse, streamable_http] = sse
1name: str
1endpoint: str
1api_key: str | None
1class data_designer.config.mcp.LocalStdioMCPProvider(
2 /,
3 **data: typing.Any
4)

Bases: data_designer.config.base.ConfigBase

Configuration for launching a local MCP server via stdio transport.

LocalStdioMCPProvider is used to launch MCP servers as subprocesses using stdio for communication. For connecting to remote/pre-existing MCP servers, use MCPProvider instead.

Parameters:

name

Unique name used to reference this MCP provider.

command

Executable to launch the MCP server via stdio transport.

args

Arguments passed to the MCP server executable. Defaults to [].

env

Environment variables passed to the MCP server subprocess. Defaults to {}.

provider_type

Transport type discriminator, always “stdio”.

Attributes:

name
`str`

Unique name used to reference this MCP provider.

command
`str`

Executable to launch the MCP server via stdio transport.

args
`list[str]`

Arguments passed to the MCP server executable. Defaults to [].

env
`dict[str, str]`

Environment variables passed to the MCP server subprocess. Defaults to {}.

provider_type
`Literal['stdio']`

Transport type discriminator, always “stdio”.

Examples:

1Stdio (subprocess) transport:
2
3>>> LocalStdioMCPProvider(
4... name="demo-mcp",
5... command="python",
6... args=["-m", "data_designer_e2e_tests.mcp_demo_server"],
7... env={"PYTHONPATH": "/path/to/project"},
8... )

Initialization:

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

1provider_type: typing.Literal[stdio] = stdio
1name: str
1command: str
1args: list[str] = Field(...)
1env: dict[str, str] = Field(...)
MCPProviderT
typing_extensions.TypeAlias
1class data_designer.config.mcp.ToolConfig(
2 /,
3 **data: typing.Any
4)

Bases: data_designer.config.base.ConfigBase

Configuration for permitting MCP tools on an LLM column.

ToolConfig defines which tools are available for use during LLM generation. It references one or more MCP providers by name and can optionally restrict which tools from those providers are permitted.

Parameters:

tool_alias

User-defined alias to reference this tool configuration in column configs.

providers

Names of the MCP providers to use for tool calls. Tools can be drawn from multiple providers.

allow_tools

Optional allowlist of tool names that restricts which tools are permitted. If None, all tools from the specified providers are allowed. Defaults to None.

max_tool_call_turns

Maximum number of tool-calling turns permitted in a single generation. A turn is one iteration where the LLM requests tool calls. With parallel tool calling, a single turn may execute multiple tools simultaneously. Defaults to 5.

timeout_sec

Timeout in seconds for MCP tool calls. Defaults to None (no timeout).

Attributes:

tool_alias
`str`

User-defined alias to reference this tool configuration in column configs.

providers
`list[str]`

Names of the MCP providers to use for tool calls. Tools can be drawn from multiple providers.

allow_tools
`list[str] | None`

Optional allowlist of tool names that restricts which tools are permitted. If None, all tools from the specified providers are allowed. Defaults to None.

max_tool_call_turns
`int`

Maximum number of tool-calling turns permitted in a single generation. A turn is one iteration where the LLM requests tool calls. With parallel tool calling, a single turn may execute multiple tools simultaneously. Defaults to 5.

timeout_sec
`float | None`

Timeout in seconds for MCP tool calls. Defaults to None (no timeout).

Examples:

1>>> ToolConfig(
2... tool_alias="search-tools",
3... providers=["doc-search-mcp", "web-search-mcp"],
4... allow_tools=["search_docs", "list_docs"],
5... max_tool_call_turns=10,
6... timeout_sec=30.0,
7... )

Initialization:

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

1tool_alias: str
1providers: list[str]
1allow_tools: list[str] | None
1max_tool_call_turns: int = Field(...)
1timeout_sec: float | None = Field(...)