Start here. This is the direct spoken answer to practice first.
Overview
A good tool contract makes one useful capability easy to choose correctly and difficult to misuse accidentally.
I give the tool a specific name, explain what it does and when to use it, and define a narrow input schema with meaningful descriptions and enums. The tool should expose a product capability rather than raw database or HTTP access. Its result should clearly report success, expected business failures, and the identifiers needed for the next step.