A tool that takes an action string and a loose parameter bag looks efficient. One definition covers read, write, search and export, so the tool registry stays short. The cost shows up in the arguments. When the schema is a bag, the model has to infer from the request which fields matter for which action. A search needs a query and maybe a limit. An export needs a format, a date range and a destination. A deletion needs an identifier plus a reason. Give the model one untyped map and it will populate plausible-looking fields for the wrong action, and your handler has to guess what was meant.
Anthropic's guidance on writing tools for agents frames the problem precisely: a tool is a contract between a deterministic system and a non-deterministic agent, which is different from a function contract between two programs, and tools therefore have to be designed to be ergonomic for the model that will call them Writing effective tools for agents. A catch-all tool is ergonomic for the developer who writes one handler, not for the model that must choose a branch inside a string field.
The same source is blunt about naming: namespacing tools to define clear boundaries in functionality is one of the principles it lands on after running tool evaluations. A single namespace that swallows every verb defines no boundary at all.
There is also a security dimension you should name explicitly in the design doc. Tool misuse and exploitation sits high on the OWASP Top 10 for Agentic Applications, and the pattern it describes is an agent staying inside its permissions while chaining tools in a hazardous way Demystifying OWASP Top 10 for Agentic AI. A broad tool with a write-capable parameter bag is the cheapest possible way to reproduce that risk, because a single misread field turns a lookup into a mutation.



