Building APIs and MCP is obvious but when you should you build your own agent?