If you give an LLM access to your code, you write tools. A tool is a function plus what a model needs to call it: a name, a description, and a schema for the arguments. Then you write the same tools again. The first version uses the AI SDK's tool() . The project adds an MCP server, so the tools are rewritten for registerTool . Another team uses Mastra, and the tools are written a third time with createTool . The functions stay the same. Only the wrapper changes. Each wrapper is also tie...