When you have a very complex agent, you may need to package multiple tools in one. You can do it with a subworkflow, but only if they have to be used in sequence.
When you have to add some logic, you can create an agent tool. But you can also create an mcp server.
How do you choose between the two?