MCPs, APIs and CLIs: When to use what

MCP, a plain API, or a CLI: which should you reach for to give an agent a capability?