A tool schema is a prompt with teeth
Tool descriptions are not decorative comments. They are the interface the model reads when deciding whether to act. A bad description makes tool choice random; a precise description turns the model's latent knowledge into a bounded action.
Name the intent, not the implementation
Prefer search_customer_orders over db_query. The model should choose tools based on task intent, not internal storage details.
Each parameter should explain what value belongs there, the expected format, and common traps. If a field accepts an id, say which id. If a date expects ISO format, say so.
Keep tools narrow
One broad do_anything tool makes permissioning impossible and gives the model too much ambiguity. Several narrow tools are easier to validate, log, test, and approve.