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
- Configure an MCP provider (Local or Remote)
- Create a ToolConfig referencing your provider
- Add
tool_aliasto 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.