Skip to content

MCP tools in NAT workflows

This matches the function_groups, authentication, and workflow.tool_names sections in e2e-tests/dragent/nat/workflow.yaml.

function_groups — attach an MCP server

function_groups:
  mcp_tools:
    _type: datarobot_mcp_client

mcp_tools is an arbitrary label. DRAgent resolves the MCP server URL, transport, and default auth from deployment settings and environment (MCP deployment id, external URL, etc.—what you configure for your app). You do not paste secrets into this block in the example; runtime headers are merged when the config is loaded for a request.

authentication — MCP auth block

authentication:
  datarobot_mcp_auth:
    _type: datarobot_mcp_auth

This ties MCP HTTP calls to DataRobot-style auth. Request headers (API token, identity context) are applied when loading the workflow so MCP and LLM calls stay consistent.

workflow.tool_names — expose MCP to the orchestrator

The orchestrator only sees tools you list. Include the group name (mcp_tools in the example), not individual MCP tool names:

workflow:
  tool_names:
    - planner
    - writer
    - mcp_tools
    - generate_objectid

MCP tools often show up in traces with a prefix (e.g. mcp_tools__...); that is normal.

Custom Python tools vs MCP

functions: defines one-off tools (e.g. generate_objectid) registered from register.py. MCP brings a whole group from a server. Both appear in tool_names side by side.