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
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
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:
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.