Admittedly, the scripts+README approach works well for individual setups and is extremely token-efficient, since it only loads a tiny README and the model can infer how to run the scripts. But that convenience depends on a single local environment—one shell, one OS, etc.
MCP is aimed at the opposite scenario: distributing tools to many users without relying on their environments. It provides automatic tool discovery, a server boundary that isolates credentials, and strict control over exposed capabilities. Its heavier JSON-schema definitions exist because they’re machine-readable contracts that behave consistently across clients, whereas CLI tools vary drastically across systems. So while MCP adds context overhead, it solves portability and distribution problems that scripts simply can’t.