Skip to content

Tool Use & MCP

Tool use lets LLM columns call external tools during generation (e.g., lookups, calculations, retrieval, domain services). Data Designer supports tool use via the Model Context Protocol (MCP), which standardizes how tools are discovered and invoked.

Quick Start

  1. Configure an MCP provider (Local or Remote)
  2. Create a ToolConfig referencing your provider
  3. Add tool_alias to your LLM column
import data_designer.config as dd
from data_designer.interface import DataDesigner

# 1. Configure provider

## Local Stdio provider
mcp_provider = dd.LocalStdioMCPProvider(
    name="demo-mcp",
    command="python",
    args=["-m", "my_mcp_server"],
)

## Remote provider
# mcp_provider = dd.MCPProvider(
#     name="remote-mcp",
#     endpoint="https://mcp.example.invalid/sse",
#     api_key="REMOTE_MCP_API_KEY",
# )

data_designer = DataDesigner(mcp_providers=[mcp_provider])

# 2. Create tool config
tool_config = dd.ToolConfig(
    tool_alias="my-tools",
    providers=["demo-mcp"],
)

builder = dd.DataDesignerConfigBuilder(tool_configs=[tool_config])

# 3. Use tools in column
builder.add_column(
    dd.LLMTextColumnConfig(
        name="answer",
        prompt="Use tools to answer: {{ question }}",
        model_alias="nvidia-text",
        tool_alias="my-tools",
    )
)

Guides

Guide Description
MCP Providers Configure local subprocess or remote SSE providers
Tool Configs Define tool permissions and limits
Enabling Tools on Columns Use tools in LLM generation
Configure via CLI Interactive CLI configuration
Traces Capture full conversation history
Safety & Limits Allowlists, budgets, timeouts

Example

See the PDF Q&A Recipe for a complete working example.

Code Reference

For internal architecture and API documentation, see MCP Code Reference.